- •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
- •Теоретичні відомості
- •Завдання для самостійної роботи
- •Список рекомендованої літератури
Завдання для самостійної роботи
1. Напишіть запит, що вибирає дані про назви університетів, рейтинг яких дорівнює або перевищує рейтинг Вінницького державного університету.
2. . Напишіть запит, що використає ANY або ALL, що виконує вибірку даних про студентів, у яких у місті їхнього постійного місця проживання немає університету.
3. Напишіть запит, що вибирає з таблиці EXAM_MARKS дані про назви предметів навчання, для яких значення отриманих на іспиті оцінок (поле MARK) перевищує будь-яке значення оцінки для предмета, що має ідентифікатор, рівний 105.
4. Напишіть цей же запит з використанням МАХ.
3.10. Лабораторна робота № 10
Тема: Команди маніпулювання даними
Мета роботи: набути практичні навички використання команд маніпулювання даними при роботі з реляційною базою даних.
Порядок виконання роботи
1. Ознайомитися з теоретичними положеннями до лабораторної роботи.
2. Виконати всі наведені приклади в середовище СУБД ACCESS.Для цього необхідно:
завантажити СУБД ACCESS;
виконати режим відкриття бази даних «ВНЗ SQL»;
у вікні БД «ВНЗ SQL» вибрати вкладку «Запити»;
в діалоговому вікні вказати режим «Додати таблицю» і вибрати необхідні дані;
на панелі інструментів вибрати пункт меню «Вид» і вказати режим роботи SQL;
в поточному діалоговому вікні ввести текст запиту в форматі SQL;
виконати введений запит, для чого натиснути кнопку «Запуск» (!) на панелі інструментів;
отриманий результат виконання запиту занести в звіт та перевірити на відповідність умовам прикладу;
зберегти створений запит, надавши йому власне ім’я.
3. Виконати індивідуальне завдання (дивись завдання для самостійної роботи). Номери індивідуальних завдань видаються викладачем.
4. Результати виконання індивідуальних завдань занести у звіт.
5. Захистити звіт.
Теоретичні відомості
Команди маніпулювання даними
В SQL для виконання операцій уведення даних у таблицю, їх корегування й видалення призначені три команди мови маніпулювання даними (DML). Це команди INSERT (вставити), UPDATE (обновити), DELETE (видалити).
Команда INSERT здійснює вставку в таблицю нового рядка. У найпростішому випадку вона має вигляд:
INSERT INTO <ім'я таблиці> VALUES (<значення>, <значення>,);
При такому записі зазначені в дужках після ключового слова VALUES значення вводяться в поля доданого в таблицю нового рядка в тім порядку, у якому відповідні стовпці зазначені при створенні таблиці, тобто в операторі CREATE TABLE.
Приклад 1. Введення нового рядка в таблицю STUDENT може бути здійснено у такий спосіб:
INSERT INTO STUDENT
VALUES (101,'Іваненко','Олександр', 200, 3,'Миколаїв',
'6/10/1984', 15);
Щоб така команда могла бути виконана, таблиця із зазначеним у ній ім'ям (STUDENT) повинна бути попередньо визначена (створена) командою CREATE TABLE. Якщо в яке-небудь поле необхідно вставити NULL-значення, то воно вводиться як звичайне значення:
INSERT INTO STUDENT
VALUES (101, 'Іваненко', NULL, 200, 3, 'Миколаїв', '6/10/1984', 15);
У випадках, коли необхідно ввести значення полів у порядку, відмінному від порядку стовпців, заданого командою CREATE TABLE, або потрібно ввести значення не в усі стовпці, варто використати наступну форму команди INSERT:
INSERT INTO STUDENT (STUDENT_ID, CITY, SURNAME, NAME)
VALUES (101, 'Миколаїв', 'Іваненко', 'Сашко');
Стовпцям, найменування яких не зазначені в наведеному в дужках списку, автоматично привласнюється значення за замовчуванням, якщо воно призначено при описі таблиці (команда CREATE TABLE), або значення NULL.
Приклад 2. За допомогою команди INSERT витягти значення з однієї таблиці й розмістити його в іншій:
INSERT INTO STUDENT1
SELECT *
FROM STUDENT
WHERE CITY = 'Миколаїв';
При цьому таблиця STUDENT1 повинна бути попередньо створена командою CREATE TABLE і мати структуру, ідентичну таблиці STUDENT.
Видалення рядків з таблиці здійснюється за допомогою команди DELETE.
Наступний вираз видаляє всі рядки таблиці EXAM_MARKSI.
DELETE FROM EXAM_MARKS1;
У результаті таблиця стає порожньою (після цього вона може бути вилучена командою DROP TABLE).
Для видалення з таблиці відразу декількох рядків, що задовольняють деякій умові, можна скористатися конструкцією WHERE.
Приклад 3.
DELETE FROM EXAM_MARKS1
WHERE STUDENT_ID = 103;
Можна видалити групу рядків:
DELETE FROM STUDENT1
WHERE CITY = 'Миколаїв';
Команда UPDATE дозволяє змінювати, тобто обновляти значення деяких або всіх полів в існуючому рядку або рядках таблиці.
Приклад 4. Для всіх університетів, відомості про які перебувають у таблиці UNIVERSITY1, змінити рейтинг на значення 200. Можна використати наступну конструкцію:
UPDATE UNIVERSITY1
SET RATING = 200;
Для вказівки конкретних рядків таблиці, значення полів яких повинні бути змінені, у команді UPDATE можна використати предикат, що вказується в пропозиції WHERE:
UPDATE UNIVERSITY1
SET RATING = 200
WHERE CITY = 'Миколаїв';
У результаті виконання цього запиту буде змінений рейтинг тільки для університетів, розташованих у Миколаїві.
Команда UPDATE дозволяє змінювати не тільки один, але й множину стовпців. Для визначення конкретних стовпців, значення яких повинні бути модифіковані, використовується конструкція SET.
Приклад 5. Замінити найменування предмета навчання 'Математика' (для нього SUBJ_ID = 43) на назву 'Вища математика', при цьому ідентифікаційний номер необхідно зберегти, але у відповідні поля рядка таблиці ввести нові дані про цей предмет навчання. Запит буде виглядати в таким чином:
UPDATE SUBJECT1
SET SUBJ_NAME = ‘Вища математика’, HOUR = 36, SEMESTER = 1
WHERE SUBJ_ID = 43;
В конструкції SET команди UPDATE можна використати скалярні вирази, що вказують спосіб зміни значень поля, у які можуть входити значення змінюваного й іншого полів.
UPDATE UNIVERSITY1
SET RATING = RATING*2;
Приклад 6. Збільшити в таблиці STUDENT1 значення поля STIPEND у два рази для студентів з Миколаєва. Використати запит:
UPDATE STUDENT1
SET STIPEND = STIPEND*2
WHERE CITY = 'Миколаїв';
Конструкція SET не є предикатом, тому в ній можна вказати значення NULL у такий спосіб:
UPDATE UNIVERSITY1
SET RATING = NULL
WHERE CITY = 'Миколаїв';