Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Завдання 1_1.doc
Скачиваний:
1
Добавлен:
12.09.2019
Размер:
1.37 Mб
Скачать

Insert into Довідник ( КодУстаткування, НазваУстаткування )

SELECT ' G555' AS КодУстаткування, 'Слюсарне22 ' AS НазваУстаткування FROM Довідник;

Визначити сумарну балансову вартість за видами устакування на 01.01.2007. Запит повинен містити поле «Назва Устаткування»

SELECT Довідник.КодУстаткування, Sum([Балансова відомость].[Балансова Вартість]) AS [Sum-Балансова Вартість]

FROM (Довідник INNER JOIN НормаАмортизації ON Довідник.КодУстаткування = НормаАмортизації.КодУстакування) INNER JOIN [Балансова відомость] ON НормаАмортизації.КодУстакування = [Балансова відомость].КодУстакування

WHERE ((([Балансова відомость].Дата)=#1/1/2007#))

GROUP BY Довідник.КодУстаткування, Довідник.НазваУстаткування;

Завдання 9.

Структура таблиць

Кожна з наведених таблиць має певний набір полів з заданим типом даних. На малюнку показана таблиця у режимы конструктора. Перший стовпчик – назва полів , а другий – тип даних, що будуть міститися у даних полях.

Ключовим полем визначаємо поле КодПалива так як лише воно може бути унікальним.

Опис створення індексів за полями «Мысяць» та «Витрати» таблиці «ОбсягВитрат»:

Відкриємо таблицю в режимі Коструктора натиснувши при виділеному об’єкті кнопку. Виділяємо по черзі вказані поля та у розділі «Свойства» вибираємо рядок «Индексированное поле» та вибираємо з випадаючого списку позицію Да( Совпадения допускаються) . Переглянути індекси можна у вікні «Индекси», що викликається командою Вид-Индекси.

Звязки між таблицями:

Логічно зв’язки доцільно встановити у вигляді: (мал.)

Отже між таблицями « Довідник» та «Обсяг…» існує зв’язок один до одного, а між «Обсяг…» і «Середня ціна» - один до багатьох.

Вибрати назву палива і обсяг витрат, де обсяг витрат більше 280 л.

SELECT Довідник.[Назва палива], [Обсяг витрат].[Витрати (л)]

FROM ([Обсяг витрат] INNER JOIN Довідник ON [Обсяг витрат].[Код палива] = Довідник.[Код палива]) INNER JOIN [Середня ціна] ON ([Обсяг витрат].[Код палива] = [Середня ціна].[Код палива]) AND (Довідник.[Код палива] = [Середня ціна].[Код палива])

WHERE ((([Обсяг витрат].[Витрати (л)]) >280));

Замінити середню ціну палива з кодом А826 в 10 місяці на 3,90

UPDATE [Середня ціна] SET [Середня ціна].Ціна = 3.9

WHERE ((([Середня ціна].[Код палива])="A826") AND (([Середня ціна].Місяць)=10));

Вилучити записи з таблиці «Обсяг витрат» щодо витрат в 11 місяці

DELETE [Обсяг витрат].Місяць

FROM [Обсяг витрат]

WHERE ((([Обсяг витрат].Місяць)=11));

Додати запис у довідник «КодПалива»= «Р345», «НазваПалива» = «Мазут»

Insert into Довідник ( [Код палива], [Назва палива] )

SELECT Довідник.['P345'] AS [Код палива], Довідник.['Мазут '] AS [Назва палива]

FROM Довідник;

Визначити обсяг витрат кожного палива за всі місяці. Запит повинен включати поле «НазваПалива»

SELECT Довідник.[Назва палива], [Обсяг витрат].Місяць, Sum([Обсяг витрат].[Витрати (л)]) AS [Sum-Витрати(л)]

FROM Довідник INNER JOIN [Обсяг витрат] ON Довідник.[Код палива] = [Обсяг витрат].[Код палива]

GROUP BY Довідник.[Назва палива], [Обсяг витрат].Місяць;

Завдання 10

Структура таблиць

Кожна з наведених таблиць має певний набір полів з заданим типом даних. На малюнку показана таблиця у режимы конструктора. Перший стовпчик – назва полів , а другий – тип даних, що будуть міститися у даних полях.

Ключовим полем визначаємо поле КодПрацівника та КодДеталі у першій та третій таблицях так як лише вони можуть бути унікальними за логікою.

Опис створення індексів за полями «Дата» та «Кількість деталей» таблиці «ОбсягВиробництва»:

Відкриємо таблицю в режимі Коструктора натиснувши при виділеному об’єкті кнопку. Виділяємо по черзі вказані поля та у розділі «Свойства» вибираємо рядок «Индексированное поле» та вибираємо з випадаючого списку позицію Да( Совпадения допускаються) . Переглянути індекси можна у вікні «Индекси», що викликається командою Вид-Индекси.

Звязки між таблицями:

Логічно зв’язки доцільно встановити у вигляді: (мал.)

Отже між таблицями « Довідник» та «Обсяг…» існує зв’язок один до багатьох, а між «Обсяг…» і «Розцінка» - невизначений зв'язок, але логічно підпорядкований.

2.Вибрати ПІБ працівників, вироблену кількість деталей і заробіток (=Кількість деталей *Розцінку), у яких 12.02.1995 обсяг заробленого більше 200

SELECT Довідник.ПІБ, ОбсягВиробництва.Дата, ОбсягВиробництва.[Кількість деталей], Розцінка.Розцінка, [Кількість деталей]*[Розцінка] AS ЗАРОБІТОК

FROM Розцінка INNER JOIN (Довідник INNER JOIN ОбсягВиробництва ON Довідник.КодПрацівника = ОбсягВиробництва.КодПРацівника) ON Розцінка.КодДеталі = ОбсягВиробництва.КодДеталі

GROUP BY Довідник.ПІБ, ОбсягВиробництва.Дата, ОбсягВиробництва.[Кількість деталей], Розцінка.Розцінка

HAVING (((ОбсягВиробництва.Дата)=#2/12/1995#) AND (([Кількість деталей]*[Розцінка])>200));

Замінити розцінку деталі А826 на 3,90

UPDATE Розцінка SET Розцінка.Розцінка = 3.9

WHERE (((Розцінка.КодДеталі)="А826"));

Вилучити записи з таблиці «ОбсягВиоробництва» щодо обсягу виробництва в 11 місяці 95 року

DELETE ОбсягВиробництва.Дата

FROM ОбсягВиробництва

WHERE (((ОбсягВиробництва.Дата) Like "*.11.1995"));

Додати запис у довідник «Код працівника» - 1025, «ПІБ» =Марчук В.О.