
- •1. Програма навчальної дисципліни «Системи управління базами даних»
- •Мета і завдання курсу
- •Міждисциплінарні зв’язки
- •Зміст навчальної дисципліни (відповідно до тематики методичних вказівок)
- •1. Лабораторна робота (0-4 бали):
- •2...Самостійна робота студента (0-5 бали):
- •Критерії оцінювання знань студентів при проведенні підсумкового контролю
- •2. Теоретичні відомості
- •2.1. Основні поняття й визначення
- •2.2. Відмінність sql від процедурних мов програмування
- •2.3. Інтерактивний і вбудований sql
- •2.4. Складові частини sql
- •2.5. Типи даних sql
- •2.5.1. Тип даних «рядок символів»
- •2.5.2. Числові типи даних
- •2.5.3. Дата й час
- •2.5.4. Невизначені або пропущені дані (null)
- •2.6. Використовувані терміни й позначення
- •2.7. Навчальна база даних
- •3.1. Лабораторна робота №1
- •Теоретичні відомості
- •Завдання для самостійної роботи
- •3.2. Лабораторна робота №2
- •Теоретичні відомості
- •Завдання для самостійної роботи
- •3.3. Лабораторна робота №3
- •Теоретичні відомості
- •Завдання для самостійної роботи
- •3.4. Лабораторна робота №4
- •Теоретичні відомості
- •Завдання для самостійної роботи
- •3.5. Лабораторна робота №5
- •Теоретичні відомості
- •Завдання для самостійної роботи
- •3.6. Лабораторна робота №6
- •Теоретичні відомості
- •Завдання для самостійного виконання
- •3.7. Лабораторна робота №7
- •Теоретичні відомості
- •Завдання для самостійного виконання
- •3.8. Лабораторна робота №8
- •Теоретичні відомості
- •Завдання для самостійної роботи
- •3.9. Лабораторна робота №9
- •Теоретичні відомості
- •Завдання для самостійної роботи
- •3.10. Лабораторна робота № 10
- •Теоретичні відомості
- •Завдання для самостійної роботи
- •3.11. Лабораторна робота №11
- •Теоретичні відомості
- •Завдання для самостійної роботи
- •Список рекомендованої літератури
3.1. Лабораторна робота №1
Тема: Вибірка даних (оператор SELECT)
Мета роботи: набути практичні навички використання оператора SELECT при роботі з реляційною базою даних.
Порядок виконання роботи
Ознайомитися з теоретичними положеннями до лабораторної роботи.
Виконати всі наведені приклади в середовищі СУБД ACCESS. Для цього необхідно:
завантажити СУБД ACCESS;
виконати режим відкриття бази даних «ВНЗ SQL»;
у вікні БД «ВНЗ SQL» вибрати вкладку «Запити»;
в діалоговому вікні вказати режим «Конструктор» і закрити вікно «Додання таблиці»;
на панелі інструментів вибрати пункт меню «Вид» і вказати режим роботи SQL;
в поточному діалоговому вікні ввести текст запиту в форматі SQL;
виконати введений запит, для чого натиснути кнопку «Запуск» (кнопка «!») на панелі інструментів;
отриманий результат виконання запиту занести в звіт та перевірити на відповідність умовам прикладу;
зберегти створений запит, надавши йому ім’я: «Запит1- номер прикладу – власне прізвище». Наприклад: Запит1-3-Коваль.
Виконати індивідуальне завдання (дивись завдання для самостійної роботи). Номери індивідуальних завдань видаються викладачем.
Результати виконання індивідуальних завдань занести у звіт.
Захистити звіт, надавши відповіді на контрольні запитання до лабораторної роботи.
Теоретичні відомості
Найпростіші SELECT-запити
Оператор SELECT (вибрати) мови SQL є найважливішим і найчастіше використовуваним оператором. Він призначений для вибірки інформації з таблиць бази даних. Спрощений синтаксис оператора SELECT має вигляд:
SELECT [DISTINCT] <список атрибутів>
FROM <список таблиць>
[WHERE <умова вибірки>]
[ORDER BY <список атрибутів>]
[GROUP BY <список атрибутів>]
[HAVING <умова >]
[UNION <вираз з оператором SELECT>];
У квадратних дужках зазначені елементи, які можуть бути відсутніми у запиті.
Ключове слово SELECT повідомляє базі даних, що дане речення є запитом на витяг інформації. Після слова SELECT через кому перераховуються найменування полів (список атрибутів), вміст яких запитується.
Обов'язковим ключовим словом у реченні-запиті SELECT є слово FROM (з). За ключовим словом FROM вказується список розділених комами імен таблиць, з яких береться інформація.
Будь-який SQL-запит повинен закінчуватися символом «;» (крапка з комою).
Приклад 1. Розглянемо запит:
SELECT NAME, SURNAME
FROM STUDENT;
Наведений запит здійснює вибірку всіх значень полів NAME і SURNAME з таблиці STUDENT.
Його результатом є таблиця наступного виду:
NAME |
SURNAME |
Іван |
Іваненко |
Петро |
Петренко |
Вадим |
Сидоренко |
Борис |
Ковалів |
Ольга |
Зайцева |
Андрій |
Павлов |
Павло |
Котів |
Артем |
Лукин |
Антон |
Петренко |
Вадим |
Буйнов Елкин |
|
|
Порядок знаходження стовпців у цій таблиці відповідає порядку полів NAME і SURNAME, зазначеному в запиті, а не їхньому порядку у вхідній таблиці STUDENT.
Якщо необхідно вивести значення всіх стовпців таблиці, то можна замість перерахування їхніх імен використати символ «*» (зірочка).
Приклад 2. Розглянемо запит:
SELECT *
FROM STUDENT;
У цьому випадку результатом виконання запиту буде вся таблиця STUDENT.
Ще раз звертаємо увагу на те, що одержувані в результаті SQL-запиту таблиці не повною мірою відповідають визначенню реляційного відношення. Зокрема, у них можуть виявитися кортежі (рядки) з однаковими значеннями атрибутів.
Приклад 3: Створити запит «Список назв міст, де проживають студенти, відомості про які знаходяться у таблиці STUDENT».
SELECT CITY
FROM STUDENT;
Його результатом буде таблиця:
-
CITY
Одеса
Київ
Миколаїв
Бердянськ
Луцьк
Вінниця
Бєлгород
Вінниця
NULL
Вінниця
Видно, що в таблиці зустрічаються однакові рядки (виділені жирним шрифтом).
Для виключення з результату SELECT-запиту повторюваних записів використовується ключове слово DISTINCT (відмінний). Якщо запит SELECT витягає множину полів, то DISTINCT виключає дублікати рядків, у яких значення всіх обраних полів ідентичні.
Попередній запит можна записати в наступному виді:
SELECT DISTINCT CITY
FROM STUDENT;
У результаті одержимо таблицю, у якій дублікати рядків виключені:
-
CITY
Одеса
Київ
Миколаїв
Бердянськ
Луцьк
Вінниця
Бєлгород
NULL
Ключове слово ALL (усе), на відміну від DISTINCT, виконує протилежну дію, тобто при його використанні повторювані рядки включаються до складу вихідних даних. Режим, що задається ключовим словом ALL, діє за замовчуванням, тому в реальних запитах для цих цілей воно практично не використовується.
Використання в операторі SELECT речення, обумовленого ключовим словом WHERE (де), дозволяє задавати вираз умови (предикат), що приймає значення істина або хибність для значень полів рядків таблиць, до яких звертається оператор SELECT. Вираз WHERE визначає, які рядки зазначених таблиць повинні бути обрані. У таблицю, що є результатом запиту, включаються тільки ті рядки, для яких умова (предикат), зазначена у виразі WHERE, приймає значення істина.
Приклад 4. Створити запит, що виконує вибірку імен (NAME) всіх студентів із прізвищем (SURNAME) Петров, відомості про які знаходяться у таблиці STUDENT:
SELECT SURNAME, NAME
FROM STUDENT
WHERE SURNAME = 'Петренко';
Результатом цього запиту буде таблиця:
SURNAME |
NAME |
Петренко |
Петро |
Петренко |
Антон |
У заданих в виразі WHERE умовах можуть використовуватися операції порівняння, обумовлені операторами = (дорівнює), > (більше), < (менше), >= (більше або дорівнює), < (менше або дорівнює), <> (не дорівнює), а також логічні оператори AND, OR і NOT.
Приклад 5. Створити запит для одержання імен і прізвищ студентів, що навчаються на третьому курсі й одержують стипендії (розмір стипендії більше нуля):
SELECT NAME, SURNAME
FROM STUDENT
WHERE KURS = 3 AND STIPEND > 0;
Результат виконання цього запиту має вигляд:
SURNAME |
NAME |
Петренко |
Петро |
Лукін |
Артем |