
- •Модуль 1 Тема 1. Вступ до sql. Синтаксис sql. Типи даних.
- •1. Вступ до sql.
- •Функції sql:
- •Роль sql
- •Переваги sql:
- •Синтаксис sql.
- •Типи даних.
- •1.3.1. Команди
- •1.3.2. Імена
- •1.3.3. Типи даних
- •1.3.4. Константи
- •1.3.4.1. Числові константи
- •1 .3.4.2. Літерні рядки
- •1.3.4.3. Константи дати і часу
- •1.3.4.4. Іменовані константи
- •1.3.5. Вирази
- •1.3.6. Вбудовані функції
- •Тема 2. Створення баз даних
- •Мова визначення даних
- •2. Створення бази даних
- •Тема 3. Створення таблиць
- •1. Команда створення таблиці.
- •2. Заборона значення null за допомогою обмеження not null
- •Тема 4. Вставка стрічок з допомогою оператора insert. Вилучення стрічок з допомогою оператора delete, редагування стрічки з допомогою команди update.
- •Вставка рядків за допомогою команди insert.
- •Додавання рядка за допомогою положення стовпця
- •Додавання рядка за допомогою назв стовпців
- •Додавання рядків з однієї таблиці в іншу
- •Зміна рядків за допомогою команди update.
- •Зміна рядків
- •Видалення рядків за допомогою команди delete
- •Видалення рядків
- •Тема 5. Оператор select
- •Оператор select.
- •Обчислювальні стовпчики. Альтернативне ім’я стовпчику.
- •Порівняння значення стовпчика із константою
- •Правила виконання однотабличних запитів на вибірку
- •Тема 6. Комбінування умов з допомогою операторів and, or, not. Порівняння по шаблону. Порівняння з діапазоном. Сортування стрічок з допомогою речення order by.
- •Порівняння значень виразів має наступну синтаксичну діаграму:
- •Тема 7. Створення псевдонімів. З’єднання таблиці із собою. Вибір даних з кількох таблиць
- •1. Створення псевдонімів.
- •2. З’єднання таблиці із собою.
- •3. Просте з’єднання таблиць (з’єднання за рівністю)
- •Запити з використанням відношення „головна – підлегла” таблиці (предок – нащадок)
- •3. Запити на вибірку до трьох і більше таблиць
- •4. Запити на об’єднання
- •Тема 8. Введення обмежень в базах даних
- •1. Види обмежень в базі даних.
- •Основні принципи роботи з обмеженнями
- •Присвоєння назви обмеженню
- •2. Первинний і унікальний ключі.
- •3. Зовнішні ключі.
- •4. Обмеження check
- •5. Вилучення обмежень.
- •Тема 9. Використання збережуваних процедур в базах даних. Використання генераторів ключів у базах даних в InterBase. Використання тригерів у базах даних.
- •1. Визначення збережуваної процедури.
- •1.2. Цикли й оператори розгалуження.
- •2. Створення генераторів.
- •2.1. Індекси.
- •2.2. Обробка виключень і помилок.
- •3. 1.Означення тригера.
- •3.2. Приклад тригера.
- •3.3. Контекстні змінні.
- •Тема 10. Безпека в базах даних
- •1. Користувач InterBase.
- •3. Організація користувачі у групи за допомогою ролей.
- •4. Права. Роздача прав.
- •5. Анулювання прав.
- •Модуль 2 Тема 11. Оператор exists. Сумування і групування даних.
- •1.1. Оператор exists.
- •1.2. Використання exists з співвіднесеними підзапитами.
- •1.3. Комбінація оператора exists і з’єднання.
- •1.4. Використання not exists.
- •1.5. Використання складних підзаписів з оператором exists.
- •2.1. Агрегатні (статистичні) функції
- •2.2. Правила опрацювання значення null агрегатними функціями:
- •2.3.Опрацювання унікальних записів агрегатними функціями
- •2.4. Агрегатні функції і значення null
- •3.1. Групування записів
- •3.2. Секція having – умова відбору груп
- •3.3. Обмеження на умову відбору груп
- •3.4. Значення null і умова відбору груп
- •3.5. Секція having без секції group by
- •Тема 12. З’єднання з базою даних. Використання збережуваних процедур в Delphi
- •1. З’єднання з сервером
- •2. Використання збережуваних процедур в Delphi.
- •Компонент tStoredProc.
- •Тема 13. Використання механізму транзакцій компонента Database. Керування транзакціями
- •Тема 14. Сервер баз даних InterBase і компоненти InterBase Express.
- •1. Сервер баз даних InterBase і компоненти InterBase Express
- •2. Механізм доступу до даних InterBase Express
- •3. Компонент tibDatabase.
- •Тема 15. Виконання запитів за допомогою компонента tibDataSet
- •1. Вибірка даних з таблиці.
- •2. Редагування даних за допомогою візуальних компонентів.
- •3. Програмне редагування даних.
- •Тема 16. Підпорядковані запити в таблицях Механізм master-detail
- •Література
1.3.4. Константи
1.3.4.1. Числові константи
Це насамперед точні числові константи:
-
ц
ілі
-
д
есяткові
Приклад. 2000.00, + 497.13
Не можна ставити символи, які відокремлюють розряди між цифрами. Не всі діалекти SQL дозволяють ставити перед числом знак “+”, тому краще його уникати. Якщо дані представляють грошові одиниці, то в більшості СУБД використовуються цілі або десяткові константи. В деяких із них перед константою можна вказати символ грошової одиниці, наприклад: $ 0.75, 200.75. Константи з плаваючою крапкою відносяться до наближених числових констант, вони визначаються за допомогою літери “Е” і мають той самий формат, що і більшість мов програмування.
1 .3.4.2. Літерні рядки
К
онстанти
літерних рядків повинні бути обрамлені
за допомогою одинарних апострофів:
Приклад. ‘школа’
Якщо в константу необхідно включити апостроф, то його потрібно подвоїти, наприклад: ‘ім”я’, ‘м”ясо’.
В деяких СУБД (SQL Server, Informix) дозволяється обробляти літерні константи подвійними лапками. Це може привести до проблем при переході на платформу іншої СУБД, тому подвійні лапки краще не використовувати.
1.3.4.3. Константи дати і часу
Константи дати і часу представляються у вигляді літерних рядків. Формати цих констант в різних СУБД відрізняються один від одного, крім того, спосіб запису дати і часу залежить від країни.
Для SQL Server:
-
Дата
Час
March 15, 1990
Mar 15 1990
3/15/1990
3-15-90
1990 MAR 15
15:30:25
3:30 pm
3 PM
Для Oracle:
-
Дата
15-MAR-90
Для DB2:
-
Система позначень
Дата
Час
американська
європейська
японська
ISO
5/19/1960
19.5.1960
1960-5-19
1960-5-19
2:18 PM
14.18.08
14:18:08
14.18.08
1.3.4.4. Іменовані константи
Це стандартні константи, які представляють значення, що зберігаються в СУБД.
SQL1 : USER
SQL2 : CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
USER
SESSION_USER
SYSTEM_USER
Іменовані константи можна використовувати скрізь, де можна застосувати звичайну константу того самого типу.
Приклад 1.
SELECT Prizv, DataPryjomu
FROM Pracivnyky
WHERE DataPryjomu > CURRENT_DATE
Деякі СУБД (SQL Server) забезпечують доступ до системних значень не за допомогою іменованих констант, а за допомогою вбудованих функцій.
Приклад 2. Попередній приклад в MS SQL Server
SELECT Prizv, DataPryjomu
FROM Pracivnyky
WHERE DataPryjomu > GETDATE ( )
1.3.5. Вирази
В стандарті SQL визначені такі операції з пріоритетами:
-
*, /
-
+, –
Для літерних рядків визначена операція склеювання: ||.
Крім цих операцій, в SQL2 визначені ще такі операції “+”, “–” для значень типу DATE, TIME та TIMESTAMP. Операції відношення мають більш низьких пріоритет ніж арифметичні операції. Як правило, логічні операції мають ще менший пріоритет.
Приклад.
X = Y OR A > B
Pascal: (X = (Y OR A)) > B
SQL: (X = Y) OR (A > B)