Зміст
Вступ..................................................................................................... 3
1. Короткі відомості про моделі даних............................................... 9
1.1. Реляційна алгебра..................................................................... 10
1.2. Основні поняття та нормалізація відношень реляційної бази даних 12
2. Сутність та особливості мови запитів SQL.................................. 14
2.1. Структурована мова запитів.................................................... 14
2.2. Особливості використання мови SQL...................................... 15
3. Оператори та синтаксис мови SQL.............................................. 19
3.1. Синтаксис SQL......................................................................... 19
3.2.Ключові слова............................................................................ 21
3.3. Створення SQL-інструкцій (на стадії ознайомлення).............. 24
3.4. Групи SQL – інструкцій........................................................... 25
3.5. Методи виконання SQL-операторів......................................... 28
4. Принципи застосування мови SQL в системі управління базами данних Access 29
5. Використання SQL для розробки запитів в Access...................... 31
5.1. Звичайні вибірки SQL та вибірки з умовою для однотабличних запитів 31
5.2. Багатотабличні запити............................................................. 44
6. Вибранні питання роботи з операторами SQL, що змінюють структуру бази даних 64
6.1. Створення таблиці.................................................................... 64
6.2. Спеціальні запити SQL об’єднання.......................................... 72
6.3. Короткі відомости про використання Ассеss як сервераDDE 75
7. Лабораторні роботи....................................................................... 85
7.1. Лабораторна робота №1.......................................................... 85
7.2. Лабораторна робота № 2......................................................... 93
7.3. Лабораторна робота № 3......................................................... 96
7.4. Лабораторна робота № 4......................................................... 99
7.5. Лабораторна робота № 5....................................................... 101
7.6. Лабораторна робота № 6....................................................... 108
7.7. Лабораторна робота № 7....................................................... 112
8. Питання до контролю.................................................................. 114
Додаток А. Приклад реляційної моделі даних............................... 120
Додаток Б. Послідовні нормальні форми та вимоги до них.......... 124
Додаток В. Приклади використання інструкцій SQL для організації DDE із інших додатків............................................................................................. 130
Література........................................................................................ 137
Вступ
Одним з основних факторів впливу науково-технічного прогресу на технологічні транспортні процеси є широке застосування нових інформаційних технологій. Особливу роль відіграють сучасні інформаційні технології, що забезпечують:
1. масове використання інформаційних ресурсів різних додатків;
2. розширення функцій обробки даних додатків;
3. колективний доступ до інформаційних ресурсів додатків.
Коротко охарактеризуємо кожну з можливостей сучасних інформаційних технологій.
1. Масове використання інформаційних ресурсів різних додатків, наприклад у додатках Microsoft Office, здійснюється за рахунок підтримки динамічного обміну даними (DDE ) двох додатків, що забезпечує автоматичний запуск і відкриття файла з даними.
Перетворення форматів файлів виконується за допомогою зовнішніх та внутрішніх конверторів. Зовнішні конвертори підтримують доступ до баз даних за допомогою стандартної мови SQL.
2. Розширення функцій обробки даних додатків досягається за рахунок:
¨ використання інформаційної технології OLE – зв’язування і впровадження різнорідних об’єктів у додатку;
¨ реалізації компонентної моделі об’єктів у додатках;
¨ підтримки протокола динамічного обміну даними.
3 Колективний доступ до інформаційних ресурсів додатків підтримується: зміною статуса документа - “общий документ”, документуванням змін, додаванням приміток рецензентів, використанням редакторської правки документа, тощо.
М етою роботи є ознайомлення студентів з сутністю, особливостями мови запитів SQL та її значенням і основними можливостями для підтримки доступу до даних.
Запропоноване навчально-методичне видання відповідає рішенням Вченої ради Національного транспортного університету, щодо підготовки фахівців, які у своїй подальшій роботі повинні працювати з даними, обробленням даних, відбором необхідних даних із баз та сховищ даних і т.п. Фахівці, діяльність яких передбачає роботу з базами даних, повинні знати (хоча б у загальних рисах), які можливості розкривають інформаційі технології при роботі з базами даних.
Навчальний посібник підготовано для допомоги студентам в опануванні дисципліни “Системи управління базами даних. У посібнику розглядається технологія створення запитів SQL. Посібник може бути корисним для фахівців, які у додатках, обраних фахівцями, працюють з даними, що зберігаються та корегуються засобами СУБД реляційного типу. Наприклад, на підприємстві періодично проводиться статистичний аналіз результатів роботи фірми за звітні періоди. Дані зберігаються у реляційній СУБД. Фахівець обирає зручний для обробки статистичний пакет, наприклад, STATGRAF, звертається із обраного додатка до таблиць чи запитів СУБД та здійснюює необхідну обробку.
Для посібника характерною ознакою є наявність достатньої кількості прикладів. Питання розробки однотабличних та багатотабличних запитів на вибірку висвітлюється достатньо повно. Розглянуто також питання створення таблиць баз даних за допомогою управляючих запитів SQL. Приділено увагу питанням нормалізації відношень, які “перетинаються” з питаннями застосування правил зв’язування таблиць, відбором відповідних записів у динамічні набори даних.
У посібнику відсутні опис елементів технології роботи з базами даних і роботи з майстрами та конструкторами для створення об’єктів, що.працюють під управлінням систем управління базами даних реляційного типу (РСУБД).
Запропонований посібник присвячено розгляду технології використання інструкцій SQL та їх практичній реалізації в Microsoft Access.
Метою посібника є допомога студентам в оволодінні основними принципами розробки інструкцій SQL, що є необхідним при розробці додатків, бо програмістам необхідно вбудовувати SQL оператори у програмні коди додатків, які управляються даними.
Історично так склалося, що мова SQL стала головною мовою реляційних баз даних і отримала широке розповсюдження незалежно від інформаційних продуктів, платформ і середовищ операційних систем. Мова SQL є стандартною мовою управління базами даних і в тому чи іншому вигляді реалізується майже у всіх реляційних базах даних. Це вірно у випадках використання таких РСУБД як MySQL, SQL Server, DB2, Oracle, PostgreSQL, Microsoft Access. Головною задачею SQL є надання дозволу РСУБД взаємодіяти з даними.
Посібник складається із 7 структурних розділів. У посібник включено список літератури, модульні контрольні питання, додатки, контрольні питання. Розділи вказуються порядковим номером (без слова розділ).
Перший розділ вміщує короткі теоретичні відомості про моделі даних, реляційні відношення та реляційну алгебру.
Другий розділ присв’ячено розгляду призначення та особливостей використання мови SQL.
У третьому розділі розглядаються оператори та синтаксис SQL, групи SQL за функціональним призначенням та методом виконання SQL операторів, етапи розробки останніх.
У четвертому розділі розглядаються принципи застосування SQL в Microsoft Access при створенні об’єктів Access, які працюють з даними бази даних.
П’ятий розділ присв’ячено вивченню питань використання SQL для розробки запитів у Access. Розглядаються приклади.
У шостому розділі вивчаються вибрані питання роботи з операторами SQL, що можуть змінювати структуру бази даних. До цих питань включено: створення таблиць; розробка спеціальних запитів SQL на об’єднання; короткі відомості про використання Access як сервера DDE.
У сьомому розділі вказані лабораторні роботи, завдання та контрольні питання. З метою повторення та поглиблення вивчення технології доступу до даних засобами мови SQL та для поліпшення використання теоретичного матеріалу, до підрозділів, які описують поточну лабораторну роботу, включено короткі теоретичні довідки.
Посібник може бути корисним для студентів, аспірантів, викладачам та фахівціям які займаються проблемами автоматизації вирішення техніко – економічних та фінансово-економічних задач на транспорті.
Дана робота відповідає вимогам та принципам впровадження європейської кредитно-модульної системи в організацію освітнього процесу вищих навчальних закладів. Структура посібника відповідає робочій програмі дисципліні «Системи управління базами даних», яка читається студентам першого курсу, що навчаються за напрямом “Комп’ютерні науки”.
Матеріал, що ввійшов до посібника, за змістом відповідає другому модулю робочої програми дисципліни «Системи управління базами даних», яка викладається для студентів, що навчаються за напрямом «Комп’ютерні науки» на першому курсі.
У роботі прийнято умовне позначення: $ - завдання для самостійного перегляду.
Короткі відомості про моделі даних
У сучасному світі майже кожен, хто працює з даними, знає, що від наявності доступу до баз даних часто залежить ступінь ефективності виконання важливих задач. Тому програмісти постійно створюють та удосконалюють додатки, що здатні отримувати доступ та корегувати дані, які зберігаються у різноманітних системах баз даних.
Сутність та особливості мови запитів SQL пов’язані з такими поняттями, як: структура даних, моделі даних, структура бази даних та системи управління базами данних (СУБД), реляційні системи управління базами данних (РСУБД).
Часто на бази даних посилаються як на набір (колекцію) зв’язаних між собою даних. Але бази даних-це значно більше ніж набір пов’язаних між собою даних.
Дані в такому наборі обов’язково повинні бути організовані, певним чином систематизовані, а саме – відповідно до формату, який визначено метаданими.
Метадані – це дані, які описують зберігаємі дані, тобто метадані визначають спосіб, яким дані зберігаються у базі. Разом (дані і метадані) утворюють середовище, у якому дані логічно упорядковуються так, щоб їх було легко обслуговувати та виділяти. Метадані бази даних визначають структуру, у рамках якої дані логічно організуються. Не усі бази даних мають одинакову структуру.
Існує ряд різних моделей даних. Із них найбільш часто реалізуються три моделі- ієрархічна, мережева, реляційна.
Ієрархічна та мережева моделі даних потребують програмування у додатках таких дій, як:навігації по записам, внесення змін у базу даних.
Доступ до даних та внесення змін стають громістким процесом, який потребує багато часу. Зазначимо, що системи управління передбачають методи, які дозволяють обходити обмеження і недоліки ієрархічних моделей даних. Тому є дані, які зберігаються у ієрархічних базах. Саме ієрархічна модель використовується для системи управління файлами.
У кінці 80-х років минулого сторіччя з’явився новий стандарт для баз даних: р еляційна модель даних радикально відрізнялась від інших моделей. Для попередніх моделей структура бази даних повинна бути жорстко закодована на мові програмування додатка. Якщо змінюється база даних, то повинен змінюватись і додаток.
Реляційні бази даних не залежать від додатка. Вносити зміни у структуру бази даних такого типу можна не змінюючи додаток. Реляційна база даних грунтується на реляційній (табличній) моделі даних. Приклад опису реляційної моделі даних наведено у Додатку А.
В реляційній моделі, розробленій Е. Коддом, були визначені як вимоги до організації Таблиць даних, так і теретичні засади, що дозволяють працювати з Таблицями.
Реляційна алгебра
Основна ідея реляційної алгебри полягає у тому, що засоби маніпулювання відношеннями можуть грунтуватись на теоретико-множинних операціях.
Коротка характеристика основних реляційних операцій наведена у таблиці 1.1.
Таблиця 1.1.
Стисла характеристика реляційних операцій
Операція | Позначення | Результативне відношення | Примітка |
Теоретико-множинні операції | |||
Об’єднання відношень (А та В) | А UNION B | Множина усіх кортежів, які належать А чи В, або обом разом | Якщо в операції приймають участь два відношення, то вони мають бути сумісними |
Перетин відношень (А та В) | A INTERSECTION B | Множина усіх кортежів, які належать як А так і В | |
Різниця відношень (А та В) | A MINUS B | Множина усіх кортежів, які належать А але не належать В | |
Прямий декартовий добуток двох відношень (А та В) | A TIMES B | Конкатенація кортежів | |
Спеціальні реляційні операції | |||
Обмеження відношення А | SELECTION | Підмножина відношення, що складається із кортежів А, які відповідають певній логічній умові | Логічну умову прийнято називати “ предикатом ” |
Охарактеризуємо деякі із операцій:
Проекція відношення А являє собою підмножину відношення А, яка включає лише відібрані атрибути. Це оператор побудови “вертикальної” підмножини відношення А
З’єднання двох відношеннь за певною логічною умовою - це множина, кортежі якої є конкатенацією першого та іншого відношень і відповідають заданій умові. -
Операція перейменування відношення дозволяє утворити відношення, набір кортежів якого збігається з набором кортежів операнда, але імена атрибутів змінені.
Операція присвоєння дозволяє зберігати результат обчислення реляційного виразу в існуючому відношенні бази даних.
Оскільки таблиці розглядаються як набори множин даних, то реляційна алгебра дає засоби маніпулювання відношеннями (Таблицями).