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

Insert into Довідник ( КодСтудента, піб, Факультет )

SELECT 100 AS КодСтудента, 'Васьків' AS ПІБ, 'УТР' AS Факультет

FROM Довідник;

Визначити загальну суму стипендій по факультетам на 01.01.2007

SELECT Успішність.Дата, Довідник.Факультет, Sum(Стипендія.Стипендія) AS [Sum-Стипендія]

FROM Стипендія INNER JOIN (Довідник INNER JOIN Успішність ON Довідник.КодСтудента = Успішність.КодСтудента) ON Стипендія.Успішність = Успішність.Успішність

GROUP BY Успішність.Дата, Довідник.Факультет

HAVING (((Успішність.Дата)=#1/1/2007#));

Завдання 5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Insert into Довідник ( КодАкцій, НазваАкцій )

SELECT 50005 AS КодАкцій, 'Ford' AS НазваАкцій

FROM Довідник;

Визначити середню вартість за видами акцій на 2006 рік. Запит повинен містити поле «НазваАкцій».

SELECT Довідник.НазваАкцій, [Поточні ціни].Рік, ([Початкова ціна]+[Поточна ціна])/2 AS [середня вартість]

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

WHERE ((([Поточні ціни].Рік)=2006));

Завдання 6.

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

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

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

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

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

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

Для даного випадку тип зв'язку не визначається, так як таблиця довідник є підпорядкованою Відомості.

2.Вибрати Запити працівника, код посади, Код категорії, ставку, кількість відпрацьованих днів, премію, нараховано (=відпрацьовано*Ставка/24+премія) на 01.04.2007.

SELECT ВідомостьНарахувань.КодПрацівника, ВідомостьНарахувань.КодПосади, ВідомостьНарахувань.КодКатегорії, ВідомостьНарахувань.Дата, ВідомостьНарахувань.Відпрацьовано, ВідомостьНарахувань.ПРемія, Довідник.Ставка, [Ставка]*[Відпрацьовано]/24+[ПРемія] AS Нараховано

FROM Довідник INNER JOIN ВідомостьНарахувань ON (Довідник.КодКатегорії = ВідомостьНарахувань.КодКатегорії) AND (Довідник.[Код посади] = ВідомостьНарахувань.КодПосади)

WHERE (((ВідомостьНарахувань.Дата)<#4/1/2007#));

Замінити ставку на 550 для посади з кодом 01 і категорії 4

UPDATE Довідник SET Довідник.Ставка = "550"

WHERE (((Довідник.[Код посади])="01") AND ((Довідник.КодКатегорії)="4"));

Вилучити записи на 01.06.2007 і з таблиці «ВІдомостьНарахувань»

DELETE ВідомостьНарахувань.Дата

FROM ВідомостьНарахувань

WHERE (((ВідомостьНарахувань.Дата)=#6/1/2007#));

Додати запис у довідник «КодПосади» =10, «КодКатегорії»=4, «Ставка» =420