- •Модуль 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
- •Література
2. Створення бази даних
В СУБД, які встановлені на мейнфреймах, за створення нових баз даних відповідає адміністратор. В СУБД, які встановлені на серверах більш низького рівня, окремі користувачі можуть мати право створення баз даних, але, як правило, база даних створюється централізовано, а користувачі потім лише працюють із ними. Якщо Ви працюєте із базою даних на персональному комп’ютері, то швидше за все Ви є як її користувачем, так і адміністратором, і Вам потрібно створювати базу даних самостійно. В SQL1 є специфікація опису структури бази даних, але не вказується спосіб її створення, тому що різні СУБД використовують різні підходи до цього. Стандарт SQL2 не визначає поняття “база даних”, так як кожна СУБД трактує його по-своєму.
СУБД |
Опис |
DB2 |
Структура бази даних визначена за замовчуванням. База даних створюється при інсталяції DB2 на конкретну комп’ютерну систему. Користувач отримує доступ до бази даних при підключенні до сервера. |
Oracle |
База даних створюється при інсталяції. В останніх версіях Oracle з’явилася команда CREATE DATABASE, яка дозволяє створювати бази даних. |
Ingres |
До складу цієї СУБД входить утиліта Creatеdb, призначена для створення бази даних, і утиліта Destroydb, призначена для знищення бази даних. |
MS SQL SERVER |
CREATE DATABASE – створює базу даних; DROP DATABASE – знищує базу даних. |
SyBase |
|
Informix |
Контрольні питання:
-
Які команди входять до групи опрацювання даних DML?
-
Які команди входять до групи визначення даних DDL?
-
Яка команда створює нову базу даних в Interbase?
Тема 3. Створення таблиць
-
Команда створення таблиці.
-
Заборона значення null за допомогою обмеження NOT NULL.
1. Команда створення таблиці.
Щоб створити таблицю, слід вказати:
• назва таблиці;
• назви стовпців;
• тип даних для стовпців;
• обмеження.
Назви таблиці і стовпців повинні відповідати вимогам SQL. Кожна СУБД має власні вимоги. Типом даних для кожного стовпця можуть бути символи, числа, інформація про дату і час або дані іншого типу. Обмеження дозволяють задавати властивості, наприклад вводити значення null, значення за умовчанням, ключі і допустимі значення.
Ви створюєте нову таблицю за допомогою команди CREATE TABLE, яка має наступну структуру:
CREATE TABLE table (
Colunn1 data_type1 [col_constraints1],
column2 data_type2 [col_constraints2],
...
columnN data typeN [col_constraintsN]
[, table_constraint1]
[, table_constraint2]
...
[, table constraintN]
);
table - це назва нової таблиці, яку ви створюєте; columnl, column2 ..., columnN - назви стовпців в table. Ви повинні створити хоча б один стовпець. data typel, data type2.., data typeN задають тип даних SQL для відповідних стовпців. Тип даних може включати довжину, масштаб або точну специфікацію.
Назви таблиць у базі даних і кожного стовпця в таблиці повинні бути унікальними.
Кожне позначення стовпця включає його назву, тип даних, а також список обмежень для стовпця (опціонально). Не слід розділяти обмеження для різних стовпців за допомогою ком. Список обмежень таблиці вводиться після опису останнього стовпця. За описом кожного стовпця (окрім останнього) і обмежень слідує кома.
Введення опису кожного стовпця таблиці починається з нового рядка.
Лістинг 1.1 створює таблицю titles, лістинг 1.2 – таблицю title authors.
Лістинг 1.1. Створити таблицю titles:
CREATE TABLE titles
(
title_id СНАR(З),
title_name VARCHAR(40) ,
type VARCHAR(IO) ,
pub id CHAR(3) ,
pages INTEGER ,
price DECIMAL(5,2) ,
sales INTEGER ,
pubdate DATE ,
contract SMALLINT
);
Лістинг 1.2. Створити таблицю title authors:
CREATE TABLE title authors
(
title_id CHAR(3),
au_id CHAR(3),
au_order SMALLINT,
royalty share DECIMAL(5,2)
);
Якщо ви спробуєте створити таблицю з назвою, яка вже існує в базі даних, СУБД видасть помилку. Щоб уникнути збереження однієї таблиці замість іншої SQL вимагає, щоб до створення таблиці ви видалили таблицю з тією ж назвою за допомогою команди DROP TABLE.
Відразу після створення таблиця порожня (не має рядків). Щоб заповнити таблицю даними, користуйтеся командою INSERT.
За умовчанням значення null в стовпцях дозволені.
Щоб змінити структуру існуючої таблиці, зверніться по допомогу команди ALTER TABLE.
Щоб створити таблицю на основі структури і даних існуючої таблиці, зверніться по допомогу команди SELECT INTO.