- •Методичні вказівки до оформлення звітів з лабораторних робіт
- •КритеріЇ оцінки лабораторних робіт
- •Звіт № 2. Проектування, адміністрування та захист даних в субд
- •Лабораторні роботи № № 1-2
- •Теоретичні відомості
- •Хiд роботи
- •Контрольні питання
- •Лабораторна робота № 3
- •Теоретичні відомості
- •Хiд роботи
- •Контрольні питання
- •Лабораторна робота № 4
- •Теоретичні відомості
- •Хiд роботи
- •Контрольні питання
- •Лабораторна робота № 5
- •Теоретичні відомості
- •Приклад формату create table: create table таблиця (поле_1 тип [(розмір)] [not null] [with compression | with comp] [індекс_1] [, поле_2 тип [(розмір)] [not null] [індекс_2] [ ...]];
- •Приклад 1. Створити запит для створення таблиці «Кафедри», що включає поля: «Код» (числове ціле), «Назва» (Текстове)
- •Хiд роботи
- •Контрольні питання
- •Лабораторні роботи № № 6-7
- •Теоретичні відомості
- •Обсяг: Товари.Ціна*Поставки.Кількість
- •Хiд роботи
- •Контрольні питання
- •Лабораторна робота № 8
- •Теоретичні відомості
- •Хiд роботи
- •Контрольні питання
- •Лабораторна робота № 9
- •Теоретичні відомості
- •Хiд роботи
- •Контрольні питання
- •Список рекомендованої літератури
- •Тематика індивідуальних завдань для проектування баз даних
- •Зразок оформлення технологічної частини звіту до лабораторних робіт Лабораторні роботи 1-2
- •Завдання
- •Алгоритм виконання
- •ПускПрограммыMicrosoft Office Microsoft Excel;
Обсяг: Товари.Ціна*Поставки.Кількість
Конструктор сам додасть необхідні метасимволи (квадратні дужки) у формулу.
Рис. 4. Розрахунок обсягу за допомогою обчислень у запиті.
Є також можливість визначити для поля, що обчислюється, умови відбору, які дозволять відбирати використовувані в розрахунках дані.
Заповнюючи клітинку в рядку Групповая операция в бланку запиту, можна виконати розрахунки для груп записів і обчислити суму, середнє, кількість або інший тип підсумкового значення для поля за допомогою дванадцятьох елементів списку, що розкривається та містить такі статистичні функції: Avg - середнє від значень поля, Count - число значень поля без врахування пустих значень, StDev - середнє квадратичне відхилення від середнього значення поля, Var - дисперсія значень поля, First - перше значення поля, Last - останнє значення поля тощо.
Рис. 5. Виконання групування у запиті
В режимі SQL оператор на вибірку SELECT має загальний вигляд (параметри, виділені підкресленим шрифтом, є обов’язковими)
SELECT список полів AS псевдоним
FROM список таблиць
WHERE умова AND вираз об’єднання таблиць
GROUP BY список полів
ORDER BY список полів,
де список полів – імена полів, які будуть включені до запиту (* означає всі поля),
AS задає псевдоним – назву полу у запиті,
FROM задає список таблиць - імена таблиць які будуть включені до запиту,
WHERE– задає умова відбору даних,
GROUP BY задає перелік полів для групування;
ORDER BY - для сортування даних: ASC – у порядку зростання (по замовчуванню), DESС – у порядку зменшення.
В умові можна використовувати знаки порівняння (<,<=,>,>=,=,<>); математичні (=,-,*,/); логічні (AND, OR, NOT) операції; оператори IN – визначає набір значень, з яких потрібно вибирати; LIKE – для пошуку груп записів; BETWEEN...AND – в межах; DISTINCT – повторювані значення, зазначені вище та інші статистичні функції.
Також в операторі SELECT застосовуються ключові слова INNER JOIN для відображення зв’язків між таблицями.
Приклад 1. Існують таблиці:
Рис.6. Початкові таблиці для виконання запитів на вибірку
Вибрати Групу, Номер залікової книжки, Прізвище, ініціали студента, Назву предмета та Кількість балів, впорядкувавши вибірку за назвою предмета.
SQL:
SELECT Студенти.Група, Бали.[Номер залік_книжки], Студенти.[Прізвище, ініціали студента],
Предмети.[Назва предмета], Бали.[Кількість балів]
FROM Студенти
INNER JOIN (Предмети
INNER JOIN Бали ON Предмети.[Код предмета] = Бали.[Код предмета])
ON Студенти.[Номер залік_книжки] = Бали.[Номер залік_книжки]
ORDER BY Предмети.[Назва предмета];
Таблиця 1
Результат виконання запиту 1
Група |
Номер залік_книжки |
Прізвище, ініціали студента |
Назва предмета |
Кількість балів |
ББС-1-08 |
А001 |
Авраменко Р.О. |
Бухгалтерський облік |
78 |
ББС-1-08 |
В001 |
Винниченко М.Р. |
Економічна теорія |
69 |
ББС-1-08 |
В001 |
Винниченко М.Р. |
Організація та проектування БД |
83 |
ББС-1-08 |
А001 |
Авраменко Р.О. |
Організація та проектування БД |
91 |
Приклад 2. На прикладі тих же таблиць (див. Приклад 1) вибрати Групу, Номер залікової книжки, Прізвище, ініціали студента, Назву предмета та Кількість балів за умови, що кількість балів відповідає оцінці «4» за чотирибальною шкалою (71-90).
SQL:
SELECT Студенти.Група, Бали.[Номер залік_книжки], Студенти.[Прізвище, ініціали студента],
Предмети.[Назва предмета], Бали.[Кількість балів]
FROM Студенти
INNER JOIN (Предмети
INNER JOIN Бали ON Предмети.[Код предмета] = Бали.[Код предмета])
ON Студенти.[Номер залік_книжки] = Бали.[Номер залік_книжки]
WHERE Бали.[Кількість балів]>=71 And Бали.[Кількість балів]<91;
Таблиця 2
Результат виконання запиту 2.
Група |
Номер залік_книжки |
Прізвище, ініціали студента |
Назва предмета |
Кількість балів |
ББС-1-08 |
А001 |
Авраменко Р.О. |
Бухгалтерський облік |
78 |
ББС-1-08 |
В001 |
Винниченко М.Р. |
Організація та проектування БД |
83 |
Той же оператор можна було замінити WHERE Бали.[Кількість балів] BETWEEN 71 AND 90;
Приклад 3. На прикладі тих же таблиць вибрати Групу, Назву предмета з групуванням за обома полями та визначити середню кількість балів за кожною групою та предметом, назвавши нове поле «Середня кількість балів».
SQL:
SELECT Студенти.Група, Предмети.[Назва предмета],
Avg(Бали.[Кількість балів]) AS [Середня кількість балів]
FROM Студенти
INNER JOIN (Предмети INNER JOIN Бали ON Предмети.[Код предмета] = Бали.[Код предмета])
ON Студенти.[Номер залік_книжки] = Бали.[Номер залік_книжки]
GROUP BY Студенти.Група, Предмети.[Назва предмета];
Таблиця 3
Результат виконання запиту 3.
Група |
Назва предмета |
Середня кількість балів |
ББС-1-08 |
Бухгалтерський облік |
78 |
ББС-1-08 |
Економічна теорія |
69 |
ББС-1-08 |
Організація та проектування БД |
87 |
