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

Insert into кАдри ( [Код Робітника], Прізвище )

SELECT "1022" AS [Код Робітника], "Іванов І.І." AS Прізвище

FROM КАдри;

Визначити розмір заробітку разом з премією кожного з працюючих за весь період їхньої роботи. Запит повинен включати поле «Прізвище»

SELECT КАдри.Прізвище, Sum([Заробіток]+[Премія]) AS [Загальний заробіток]

FROM КАдри INNER JOIN (Заробіток INNER JOIN Премія ON Заробіток.[Код робітника] = Премія.КодРОбітника) ON КАдри.[Код Робітника] = Заробіток.[Код робітника]

GROUP BY КАдри.Прізвище, Заробіток.Заробіток, Премія.Премія;

Завдання 27

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

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

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

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

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

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

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

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

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

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

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

WHERE ((([Обсяг витрат].[Витрати (л)])>280) AND (([Середня ціна].Місяць)=10));

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

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

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

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

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

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

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

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

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

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

FROM Довідник;

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

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

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

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

Завдання 28

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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