
- •Вступ до баз даних. Загальна характеристика основних понять
- •1.1. Розвиток основних понять представлення даних
- •Лекція 6
- •Друга стадія концептуального проектування бд. (Моделі даних субд. Представлення концептуальної моделі засобами моделі даних субд)
- •6.1. Представлення концептуальній моделі засобами моделі даних субд
- •6.2 Типові моделі даних субд і представлення концептуальної моделі
- •6.2.1. Мережева модель даних
- •6.2.2. Ієрархічна модель даних
- •6.2.3. Реляційна модель даних
- •6.2.4. Багатовимірна модель даних
- •6.3. Засоби автоматизованого проектування концептуальної моделі
- •Лекція 6
- •Друга стадія концептуального проектування бд. (Моделі даних субд. Представлення концептуальної моделі засобами моделі даних субд)
- •6.1. Представлення концептуальній моделі засобами моделі даних субд
- •6.2 Типові моделі даних субд і представлення концептуальної моделі
- •6.2.1. Мережева модель даних
- •6.2.2. Ієрархічна модель даних
- •6.2.3. Реляційна модель даних
- •6.2.4. Багатовимірна модель даних
- •6.3. Засоби автоматизованого проектування концептуальної моделі
- •Лекція 7
- •Формалізація реляційної моделі
- •7.1. Формалізований опис відношень і схеми відношень
- •7.2. Маніпулювання даними в реляційній моделі
- •7.3. Операції реляційної алгебри
- •Лекція 8
- •Використання формального апарату для оптимізації схем відношень
- •8.1. Проблема вибору раціональних схем відношень
- •8.2. Функціональні залежності (залежності між атрибутами відношення)
- •8.3. Декомпозиція схеми відношення
- •8.4 .Вибір раціонального набору схем відношень шляхом нормалізації
- •8.5. Приклад нормалізації до 3нф
- •8.6. Цілісна частина реляційної моделі. Реалізація умови цілісності даних в сучасних субд
- •Лекція 9
- •Фізичні моделі даних (внутрішній рівень)
- •9.1. Структура пам'яті еом
- •9.2. Представлення екземпляра логічного запису
- •9.3. Організація обміну між оперативною і зовнішньою пам'яттю
- •9.4. Структури зберігання даних у зовнішній пам'яті еом
- •9.4.1. Послідовне розміщення фізичних записів
- •Пошук запису із заданим значенням ключа
- •9.4.2. Розміщення фізичних записів у вигляді спискової структури
- •Пошук запису із заданим значенням ключа
- •9.4.3. Використання індексів (індексування)
- •Пошук і читання запису із заданим значенням ключа
- •Модифікація (коректування) запису
- •Видалення запису
- •Додавання запису
- •9.4.5. Розміщення записів з використанням хешування
- •Пошук запису із заданим значенням ключа і читання
- •Модифікації запису
- •Видалення запису
- •Додавання запису
- •9.4.6. Комбіновані структури зберігання
- •Лекція 10
- •Структура сучасної субд на прикладі Microsoft sql Server 2008
- •10.1 Загальна структура субд
- •10.2. Архітектура бази даних. Логічний рівень
- •Тип даних hierarchyid
- •Просторові типи даних
- •Індекси
- •Представлення
- •Складки
- •Обмеження
- •Правила
- •Значення за замовчуванням
- •10.3. Архітектура бази даних. Фізичний рівень
- •Файли і файлові групи
- •Сторінки і екстенти
- •Сторінки файлів даних
- •Організація таблиць та індексів
- •Управління роботою з екстентами і вільним місцем
- •Відстежування вільного місця
- •Лекція 11
- •Програмне забезпечення роботи з сучасними базами даних
- •11.1. Основні завдання програмного забезпечення баз даних
- •11.2. Проблеми створення і ведення реляційних баз даних
- •11.3. Поняття мови sql і його основні частини
- •11.3.1. Історія виникнення і стандарти мови sql
- •11.3.2. Переваги мови sql
- •11.3.2. Загальна характеристика sql
- •Термінологія
- •Різновиди sql
- •Лекція 12
- •Основні оператори мови sql. Інтерактивний sql
- •12.1. Загальне уявлення про основні оператори мови sql
- •12.2 Інтерактивний режим роботи з sql (інтерактивна sql)
- •12.3. Використання мови sql для вибору інформації з таблиці
- •12.4. Використання sql для вибору інформації з декількох таблиць
- •12.5. Використання sql для вставки, редагування і видалення даних у таблицях
- •Лекція 13
- •Використання мови sql у прикладних програмах
- •13.1. Програмний (вбудований) sql
- •13.2. Статичний sql
- •13.3. Динамічний sql
- •13.4. Інтерфейси програмування додатків (api). Db‑Library, odbc, oci, jdbc
- •Протокол odbc
- •Протокол jdbc
- •Бібліотека db-Library
- •Лекція 14
- •Напрями розвитку баз даних
- •14.1. Об'єктно-орієнтований підхід до організації баз даних
- •Об'єктно-орієнтоване програмування
- •Об'єктно-орієнтовані бази даних
- •Об'єктно-реляційні субд
- •14.2. Розподілені бази даних
- •14.3. Сховища даних
- •Основи криптології
Лекція 12
Основні оператори мови sql. Інтерактивний sql
У лекції дається загальна характеристика операторів мови SQL, використовуваних, зокрема, для роботи з базою даних в інтерактивному режимі (створення таблиць, вибір інформації з таблиць, додавання, видалення і модифікація елементів). Наводяться приклади запитів до бази даних мовою SQL
Мета лекції: дати загальну характеристику операторів мови SQL і показати, як записуються основні запити до бази даних мовою SQL (в інтерактивному режимі).
12.1. Загальне уявлення про основні оператори мови sql
Як вже наголошувалося в лекції 11, усі оператори мови SQL розділяються на три складові частини: DDL – мова визначення даних, DCL – мова управління даними, DML – мова обробки даних.
Наведемо приклади основних операторів з вищезгаданих частин (без опису синтаксису). Опис синтаксису операторів SQL можна побачити в багатьох книгах по мові SQL, в меню "Довідка" конкретних СУБД.
Оператори розмежування доступу користувачів до об'єктів бази даних (DCL).
GRANT – створення в системі безпеки запису, що дозволяє користувачеві працювати з даними або виконувати певні операції SQL.
DENY – створення в системі безпеки запису, що забороняє доступ для певного облікового запису.
Оператори визначення даних (мова DDL).
Відповідні оператори призначені для створення, видалення, зміни основних об'єктів моделі даних реляційних СУБД: таблиць, представлень, індексів.
CREATE TABLE <ім'я> – створення нової таблиці в базі даних.
DROP TABLE <ім'я> – видалення таблиці з бази даних.
ALTER TABLE <ім'я> – зміна структури існуючої таблиці або обмежень цілісності, що задаються для даної таблиці.
При виконанні аналогічних операцій з представленнями або індексами у вказаних операторах замість службового слова TABLE записується слово VIEW (представлення) або слово INDEX (індекс)
Оператори маніпулювання даними (мова DML).
Оператори DML працюють з базою даних і використовуються для зміни даних і отримання необхідних відомостей.
SELECT – вибірка рядків, що задовольняють заданим умовам. Оператор реалізує, зокрема, такі операції реляційної алгебри як "селекція" і "проекція".
UPDATE – зміна значень певних полів у рядках таблиці, що задовольняють заданим умовам.
INSERT – вставка нових рядків у таблицю.
DELETE – видалення рядків таблиці, що задовольняють заданим умовам. Вживання цього оператора враховує принципи підтримки цілісності, тому він не завжди може бути виконаний коректно.
12.2 Інтерактивний режим роботи з sql (інтерактивна sql)
Відповідний режим передбачає безпосередню роботу користувача з базою даних по наступному алгоритму: використовуючи прикладну програму (клієнтський додаток) або стандартну утиліту, що входить в СУБД, користувач:
встановлює зв’язок з БД (підтверджуючи наявність прав доступу);
вводить відповідного оператора SQL, при необхідності в режимі діалогу вводить додаткову інформацію;
ініціює виконання команди.
Текст запиту поступає в СУБД, яка:
здійснює синтаксичний аналіз запиту (перевіряє, чи є запит коректним);
перевіряє, чи має користувач право виконувати подібний запит (наприклад, користувач, в якого визначені права лише на читання, намагається щось видалити);
вибирає, яким чином здійснювати виконання запиту – план виконання запиту;
виконує запит;
результат виконання посилає користувачеві.
Схема взаємодії користувача і СУБД з використанням інтерактивної SQL наводиться на мал. 12.1.
Мал. 12.1. Схема роботи інтерактивної SQL