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

Insert into Довідник ( КодПрацівника, піб )

SELECT '1025' AS КодПрацівника, 'Марчук В.О' AS ПІБ

FROM Довідник;

Визначити кількість деталей, вироблених кожним працівником в квітні 95 року. Запит повинен включати поле ПІБ.

SELECT Довідник.ПІБ, ОбсягВиробництва.Дата, Sum(ОбсягВиробництва.[Кількість деталей]) AS [Sum-Кількість деталей]

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

GROUP BY Довідник.ПІБ, ОбсягВиробництва.Дата

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

Задача 10

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

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

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

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

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

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

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

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

2.Вибрати назву фірми, кількість акцій, номінал, прибуток від однієї акції (=Прибуток/Кількість акцій) з 1999 по 2006 рік

SELECT Довідник.[Назва Фірми], Акції.[Кількість акцій], Акції.Номінал, [Фінансові результати].ПРибуток, [Фінансові результати].Рік, [ПРибуток]/[Кількість акцій] AS [Прибуток на одну акцію]

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

WHERE ((([Фінансові результати].Рік)>1999 Or ([Фінансові результати].Рік)<2006));

Замінити прибуток фірми з кодом 0030 у 2000 р на 303030

UPDATE [Фінансові результати] SET [Фінансові результати].ПРибуток = 303030

WHERE ((([Фінансові результати].КодФірми)="0030") AND (([Фінансові результати].Рік)=2000));

Вилучити записи за 2006 рік з таблиці «Фінансові результати»

DELETE [Фінансові результати].Рік

FROM [Фінансові результати]

WHERE ((([Фінансові результати].Рік)=2006));

Додати запис у довідник «КодФірми»- 1025, «Назва Фірми» - «ТОВ Марчук»

Insert into Довідник ( КодФірми, [Назва Фірми] )

SELECT '1025' AS КодФірми, 'ТОВ МАРЧУК ' AS [Назва Фірми]

FROM Довідник;

Визначити загальний прибуток фірм починаючи з 2000р. Запит повинен включати поле «Назва фірми»

SELECT Довідник.[Назва Фірми], [Фінансові результати].Рік, Sum([Фінансові результати].ПРибуток) AS [Sum-ПРибуток]

FROM Довідник INNER JOIN [Фінансові результати] ON Довідник.КодФірми = [Фінансові результати].КодФірми

GROUP BY Довідник.[Назва Фірми], [Фінансові результати].Рік

HAVING ((([Фінансові результати].Рік)>1999));

Задача 11

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

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

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

Опис створення індексів за полями «Рік» та «Місяць» та «Потреба» таблиці «ПотребиБу…..»:

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

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

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

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

2.Вибрати рік, місяць, назву, потребу і ціну матеріалу, загальну вартість матеріалу (=Потреба*Ціна) з 2003 по 2006 рр

SELECT Довідник.[Назва матеріалу], [Потреби Будматеріалів].Рік, [Потреби Будматеріалів].Місяць, [Потреби Будматеріалів].Потреба, [Ціна Матеріалу].Ціна, [Потреба]*[Ціна] AS [Загальна вартість]

FROM (Довідник INNER JOIN [Потреби Будматеріалів] ON Довідник.[Код матеріалу] = [Потреби Будматеріалів].[Код матеріалу]) INNER JOIN [Ціна Матеріалу] ON Довідник.[Код матеріалу] = [Ціна Матеріалу].[Код Матеріалу]

WHERE ((([Потреби Будматеріалів].Рік)>2002 Or ([Потреби Будматеріалів].Рік)<2007));

Замінити ціну матеріалу з кодом ААА-12 у квітні 2003 на 400

UPDATE [Ціна Матеріалу] SET [Ціна Матеріалу].Ціна = 400

WHERE ((([Ціна Матеріалу].[Код Матеріалу])="ААА-12") AND (([Ціна Матеріалу].Рік)=2003) AND (([Ціна Матеріалу].Місяць)=4));

Вилучити записи за 2007 рік з таблиці «ПотребиБудматеріалів»

DELETE [Потреби Будматеріалів].Рік

FROM [Потреби Будматеріалів]

WHERE ((([Потреби Будматеріалів].Рік)=2007));

Додати запис у довідник «КодМатеріалу» = АВС-42, «Назва матеріалу» - Цемент Ковальской