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

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

SELECT 2055 AS [Код добрива], "Мочевина-65" AS [Назва добрива]

FROM Довідник;

Визначити загальну площу і витрати добрив для виду добрив. за 2006р. Запит повинен містити поле “НазваДобрива”.

SELECT Довідник.[Назва добрива], Sum([Оброблена площа].Площа) AS [Sum-Площа], [Норма витрати].Норма, [Оброблена площа].Рік, Sum([Площа]*[Норма]) AS [Витрати добрив]

FROM (Довідник INNER JOIN [Норма витрати] ON Довідник.[Код добрива] = [Норма витрати].[Код добрива]) INNER JOIN [Оброблена площа] ON ([Норма витрати].[Код добрива] = [Оброблена площа].[Код добрива]) AND (Довідник.[Код добрива] = [Оброблена площа].[Код добрива])

GROUP BY Довідник.[Назва добрива], [Норма витрати].Норма, [Оброблена площа].Рік

HAVING ((([Оброблена площа].Рік)=2006));

Завдання 24

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

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

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

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

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

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

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

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

2.Вибрати код працівника, рік, місяць, відпрацьовано, погодинну ставку, розмір заробітної (=Відпрацьовано* ПогодиннаСтавка) за 11 місяць 2006р.

SELECT Табель.[Код працівника], Табель.Рік, Табель.Місяць, Табель.Відпрацбовано, [Погодинна ставка].*, [Відпрацбовано]*[Погодинна ставка] AS [Заробітна плата]

FROM (Довідник INNER JOIN [Погодинна ставка] ON Довідник.[Код професії] = [Погодинна ставка].[Код професії]) INNER JOIN Табель ON ([Погодинна ставка].[Код професії] = Табель.[Код професії]) AND (Довідник.[Код професії] = Табель.[Код професії])

WHERE (((Табель.Рік)=2006) AND ((Табель.Місяць)=11));

Замінити погодинну ставку на 22,5 для професії з кодом 0001 і 5 розрядом.

UPDATE [Погодинна ставка] SET [Погодинна ставка].[Погодинна ставка] = 22.5

WHERE ((([Погодинна ставка].Розряд)=5) AND (([Погодинна ставка].[Код професії])="0001"));

Вилучити записи за травень 2007р з таблиці “Табель”.

DELETE Табель.Місяць, Табель.Рік

FROM Табель

WHERE (((Табель.Місяць)=5) AND ((Табель.Рік)=2007));

Додати запис у довідник “КодПрофесії”=2055, “НазваПрофесії” = “Двірник”.

Insert into Довідник ( [Код професії], [Назва професії] )

SELECT 2055 AS [Код професії], "Двірник" AS [Назва професії]

FROM Довідник;

Визначити загальний відпрацьований час і заробіток за кожною професією і розрядом за 2006р. Запит повинен містити поле “НазваПрофесії”.

SELECT Довідник.[Назва професії], Sum(Табель.Відпрацбовано) AS [Sum-Відпрацбовано], [Погодинна ставка].Розряд, [Погодинна ставка].[Погодинна ставка], Табель.Рік, Sum([Відпрацбовано]*[Погодинна ставка]) AS Заробіток

FROM (Довідник INNER JOIN [Погодинна ставка] ON Довідник.[Код професії] = [Погодинна ставка].[Код професії]) INNER JOIN Табель ON ([Погодинна ставка].[Код професії] = Табель.[Код професії]) AND (Довідник.[Код професії] = Табель.[Код професії])

GROUP BY Довідник.[Назва професії], [Погодинна ставка].Розряд, [Погодинна ставка].[Погодинна ставка], Табель.Рік

HAVING (((Табель.Рік)=2006));

Завдання 25

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

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

Ключові поля:

Для таблиці «Картотека» ключовим полем є поле НомерКартки, а у інших двох - поля КодРайону.

Опис створення індексу за полями «Номер картки» та «Площа» в таблиці Картотека»:

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

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

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

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