Вступ. Структурована мова запитів SQL та її стандарти. 4
Модуль 1. Створення та модифікація бази даних. 6
Лабораторна робота № 1. Створення бази даних. Визначення таблиць бази даних 6
Лабораторна робота № 2. Модифікація бази даних, таблиць БД та даних в таблицях 12
Модуль 2. Використання SQL для одержання інформації з таблиць бази даних. 17
Лабораторна робота № 3. Вибірка даних з таблиць БД.. 17
Лабораторна робота № 4. Структуровані запити і підзапити. 32
Модуль 3. Структура бази даних. Програмування на SQL. 40
Лабораторна робота № 5. Подання: створення та використання. 40
Лабораторна робота № 6. Безпека, транзакції, продуктивність і цілісність. 44
Лабораторна робота № 7. Прикладне програмування. 49
Практичні завдання для виконання лабораторних робіт. 58
Додаток. 60
Список літератури. 64
Вступ. Структурована мова запитів SQL та її стандарти
Основна ідея інформаційних технологій базується на концепції організації даних в бази даних (БД) із метою адекватного відображення реального світу і задоволення інформаційних потреб користувачів. БД створюються і функціонують під керуванням системами управління базами даних (СУБД). Поява теорії реляційних БД ініціювало розробку ряду мов запитів, з яких збереглися і розвиваються лише QBE і SQL.
Стандартною мовою маніпулювання даними стала розроблена у 1974 році фірмою ІBM непроцедурна мова SQL. Особливість команд цієї мови полягає у тому, що вони орієнтовані на кінцевий результат обробки даних, а не на процедуру цієї обробки. Починаючи з 1986 року, комітети ІSO (Іnternatіonal Organіzatіon for Standardіzatіon) і ANSІ (Amerіcan Natіonal Standards Іnstіtute) розпочали створення ряду стандартів мови SQL, що згодом були прийняті й одержали наступні назви: SQL86, SQL89, SQL92 і SQL99. Стандарт SQL86 зафіксував мінімальний стандартний синтаксис мови SQL. Стандарт SQL89 був прийнятий у 1989 році і вводив набір операторів мови SQL. Вони повинні були бути реалізовані у всіх СУБД, що заявляють підтримку стандарту SQL89. На практиці кожна комерційна СУБД надає значно більш широкий набір можливостей, ніж передбачено стандартом. Так, незважаючи на те, що більшість СУБД на момент прийняття стандарту вже підтримували вбудований і динамічний SQL, у стандарті SQL89 правила вбудовування мови SQL у процедурну мову програмування (як мова С) і правила використання динамічного SQL прописані не були.
До останнього часу більшість СУБД підтримували стандарт SQL92. У стандарті SQL92 було визначено три рівні відповідності:·
· основний (Entry); ·
· середній (Іntermedіate); ·
· повний (Full).
Новий стандарт SQL99 (при розробці іменувався як SQL3), стандартизував об'єктні розширення мови SQL і деякі процедурні розширення мови SQL. До моменту прийняття цього стандарту більшість комерційних СУБД, таких як Oracle, уже ввели використання об'єктних типів і спадкування. У стандарті SQL99 визначене обов'язкове функціональне ядро (Core) і набір рівнів розширеної відповідності. Функціональне ядро SQL99 містить у собі основний рівень відповідності SQL92. Рівні розширеної відповідності не є обов'язковими для реалізації в СУБД, що претендує на підтримку стандарту SQL99. СУБД може не підтримувати жодного рівня розширеної відповідності чи підтримувати будь-які з них.
На сьогодні провадиться робота по підготовці нового стандарту SQL - 4GL, що повинен включати елементи об’єктно-зорієнтованого доступу до даних, може організовувати цикли, умовні пропозиції, меню, екранні форми, складні запити до БД з віконним графічним інтерфейсом (X-Wіndows, MS Wіndows).
SQL виконує декілька функцій:
· SQL – інтерактивна мова запитів. Користувачі можуть вводити команди SQL в інтерактивних програмах, призначених для читання даних та їх відображення на екрані.
· SQL – мова програмування БД. Щоб отримати доступ до БД, програмісти вставляють у програми команди SQL. Ця методика також використовується у службових програмах БД (генераторах звітів та інструментах введення даних).
· SQL – мова адміністрування БД. Адміністратор БД використовує SQL для визначення структури БД і керування доступом до даних.
· SQL – мова створення додатків «клієнт-сервер» для організації зв’язку через локальну мережу з сервером БД до спільно використовуваних даних БД.
· SQL – мова розподілених БД (РБД). У системах керування РБД SQL дозволяє розподілити дані серед декількох взаємодіючих обчислювальних систем. Програмне забезпечення кожної системи за допомогою SQL зв’язується з іншими системами, надсилаючи їм запити на доступ до даних.
· SQL – мова організації шлюзів БД. В обчислювальних системах із різноманітними СКБД SQL використовується у шлюзовій програмі, яка дозволяє СКБД одного типу зв’язуватися з СКБД іншого типу.
В мову SQL в якості складових частин входять:
· мова маніпулювання даними SQL-DML (Data Manіpulatіon Language)
· мова визначення структур і обмежень цілісності БД SQL-DDL (Data Defіnіtіon Language)
· мова управління даними SQL-DCL (Data Control Language,).
Слід підкреслити, що це не окремі мови, а різні команди однієї мови. Такий поділ було здійснено лише з точки зору функціонального призначення команд.
З позиції прикладного інтерфейсу існує два різновиди команд SQL:
· інтерактивний SQL
· вбудований SQL.
Інтерактивний SQL використовується в спеціальних утилітах (на зразок WISQL або DBD), які дозволяють в інтерактивному режимі вводити запити з використанням команд SQL, надсилати їх для виконання на сервер та отримувати результати в призначеному для цього вікні. Вбудований SQL використовується в прикладних програмах і дозволяє їм надсилати запити до сервера та опрацьовувати отримані результати.