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

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

SELECT 'ABC-42' AS [Код матеріалу], 'Цемент Ковальской ' AS [Назва матеріалу]

FROM Довідник;

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

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

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

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

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

Завдання 12

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

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

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

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

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

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

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

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

2.Вибрати рік, місяць, назву устаткування, кількість деталей, норму часу і загальні трудовитрати (=Норма Часу*Кількість) з 2004 по 2006 рр.

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

FROM (Довідник INNER JOIN [Норма часу] ON Довідник.[Код устаткування] = [Норма часу].[Код устаткування]) INNER JOIN Виробництво ON [Норма часу].[Код деталі] = Виробництво.[Код деталі]

WHERE (((Виробництво.Рік)>2003 Or (Виробництво.Рік)<2006));

Замінити норму витрат для деталі з кодом BB.1234 на устаткуванні з кодом С81-5 операція 1 на 15,1

UPDATE [Норма часу] SET [Норма часу].[Норма часу] = 15.1

WHERE ((([Норма часу].[Код деталі])="ВВ.1234") AND (([Норма часу].[Код устаткування])="С81-5") AND (([Норма часу].[Код операції])="1"));

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

DELETE Виробництво.Рік

FROM Виробництво

WHERE (((Виробництво.Рік)=2006));

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

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

SELECT 'ABC-42' AS [Код устаткування], 'Зварювальний' AS [Назва устаткування]

FROM Довідник;

Визначити загальні річні трудовитрати і кількість деталей , оброблених на кожному устаткуванні починаючи з 2003 року. Запит повинен включати поле «Назва устаткування»

SELECT Довідник.[Назва устаткування], Виробництво.Кількість, Sum([Кількість]*[Кількість]) AS [Загальні витрати], Виробництво.Рік

FROM (Довідник INNER JOIN [Норма часу] ON Довідник.[Код устаткування] = [Норма часу].[Код устаткування]) INNER JOIN Виробництво ON [Норма часу].[Код деталі] = Виробництво.[Код деталі]

GROUP BY Довідник.[Назва устаткування], Виробництво.Кількість, Виробництво.Рік

HAVING (((Виробництво.Рік)>2002));

Завдання 13

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

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

Ключовими полями визначаємо поле КодАкції у перших двох табличках..

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

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

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

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

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

2.Вибрати всі параметри акцій, включаючи назву, поточну вартість відповідного пакету (=Кількість Акцій*Поточну ціну) станом на 1 –й місяць 2007 року

SELECT ВІдомостьПроАкції.КодАкцій, Довідник.НазваАкцій, ВІдомостьПроАкції.[Кількість акцій], ВІдомостьПроАкції.[Початкова ціна], ВІдомостьПроАкції.[Процент за акціями], [Поточні ціни].[Поточна ціна], [Поточні ціни].Рік, [Поточні ціни].Місяць, [Кількість акцій]*[Поточна ціна] AS [Вартість пакету]

FROM Довідник INNER JOIN (ВІдомостьПроАкції INNER JOIN [Поточні ціни] ON ВІдомостьПроАкції.КодАкцій = [Поточні ціни].[Код акції]) ON Довідник.КодАкцій = ВІдомостьПроАкції.КодАкцій

WHERE ((([Поточні ціни].Рік)=2007) AND (([Поточні ціни].Місяць)=1));

Замінити процентну ставку на 8,5 для акцій з кодом 40004.

UPDATE ВІдомостьПроАкції SET ВІдомостьПроАкції.[Процент за акціями] = 8.5

WHERE (((ВІдомостьПроАкції.КодАкцій)="40004"));

Вилучити записи на 4 місяць у 2007 році з таблиці «Поточні ціни»

DELETE [Поточні ціни].Місяць, [Поточні ціни].Рік

FROM [Поточні ціни]

WHERE ((([Поточні ціни].Місяць)=4) AND (([Поточні ціни].Рік)=2007));

Додати запис у довідник «КодАкцій»=50025, «НазваАкцій» = WinnerFord.