- •1. Короткі відомості про моделі даних
- •1.1. Реляційна алгебра
- •1.2. Основні поняття та нормалізація відношень реляційної бази даних
- •Сутність та особливості мови запитів sql
- •2.1. Структурована мова запитів
- •2.2. Особливості використання мовиSql
- •Оператори та синтаксис мови sql
- •Синтаксис sql
- •3.2.Ключові слова.
- •3.3. Створення sql-інструкцій (на стадії ознайомлення)
- •3.4. Групи sql – інструкцій
- •3.5. Методи виконання sql-операторів
- •4. Принципи застосування мови sql в системі управління базами данних Access
- •4.1. Використання інструкцій sql у об’єктах Access
- •4.1.2. Створення запитів sql
- •5. Використання sql для розробки запитів в Access
- •5.1. Звичайні вибірки sql та вибірки з умовою для однотабличних запитів
- •Багатотабличні запити
- •5.2.2. Запити з операціями з’єднання Таблиць
- •5.3. Додатові відомості про зв’язування таблиць
- •Вибранні питання роботи з операторами sql, що змінюють структуру бази даних
- •6.1. Створення таблиці
- •Типи даних
- •6.2. Спеціальні запити sql об’єднання
- •6.3. Короткі відомости про використання Ассеss як сервераDde
- •7. Лабораторні роботи
- •7.1.Лабораторна робота №1 Тема «Використання інструкцій sql при розробці об’єктів в системах управління базами данних ассess
- •Лабораторне завдання:
- •7.2. Лабораторна робота № 2
- •Лабораторне завдання №2
- •Хід виконання роботи:
- •7.3. Лабораторна робота № 3 Тема: Використання мови sql для розробки параметричних запитів та різних варіантів простих вибірок з фільтрацією і сортуванням.
- •Лабораторне завдання №3
- •7.4. Лабораторна робота № 4 Тема: Використання мови sql для розробки запитів на пошук відсутніх даних про об’єкти предметної області та вибірки за зразком
- •Лабораторне завдання №4
- •7.5. Лабораторна робота № 5 Тема: Запити з агрегованими функціями
- •Лабораторне завдання №5
- •Індивідуальні завдання
- •7.6. Лабораторна робота № 6 Тема: Використання мови sql для розробки багатотабличних запитів
- •Лабораторне завдання №6
- •7.7. Лабораторна робота № 7 Тема: Використання мови sql для створення структури нової таблицї бази даних
- •Лабораторне завдання №7
- •8. Питання до контролю
- •Додаток а. Приклад реляційної моделі даних
- •Додаток б. Послідовні нормальні форми та вимоги до них
- •Додаток в.Приклади використання інструкцій sql для організаціїDde із інших додатків
- •Контрольні питання
- •Література
3.3. Створення sql-інструкцій (на стадії ознайомлення)
При розробці SQL-операторів визначають два послідовні етапи:
підготовчий етап;
етап безпосереднього вводу та виконання.
Зазначимо, що набувши певного досвіду, можна легко визначати дії на кожному із етапів. Але на стадії ознайомлення з можливостями операторів, рекомендується детально розглядати кожен із етапів, щоб уникнути спрощеного уявлення відносно структури SQL-операторів.
На першому етапі необхідно:
досконально розібратися в умовах задачі;
уточнити модель даних та структуру бази даних - перевірити імена Таблиць та полів, типи та розміри полів, інші властивості полів, з якими має працювати SQL-оператор;
віднайти синтаксис необхідного оператора SQL, наприклад, за допомогою довідникової системи;
проаналізувати синтаксис (відповідно до задачі) та визначитись з наступним:
чи є серед необв’язкових елементів синтаксиса такі, які повинні бути присутніми для вирішення потрібної задачі;
які елементи синтаксису можуть бути відсутніми;
які елементи синтаксису мають бути присутніми обов’язково;
які опції потрібно обрати із опцій, відділених вертикальними рисками;
уточнити конкретні значення, які мають бути введені замість тексту в кутових дужках;
уточнити, що буде записуватись замість трикрапки;
перевірити відповідність імен полів та таблиць у операторі та у структурі бази даних;
при потребі підготувати та уточнити предикати (логічні умови вибору);
записати SQL- оператор.
На другому етапі вводять оператор засобами, прийнятими у реляційній базі даних.Звичайно, можна орієнтуватись на готові зразки, які найбільш підходять до вирішуваної задачі, але раніше вказаний спосіб логічно більш виважений.
3.4. Групи sql – інструкцій
Як було відзначено раніше, SQL-оператори призначені для виконання операцій реляційної алгебри. Взагалі, мова SQL- це множинно – орієнтована мова, що має статус стандартної мови запитів реляційних БД, але не має:
засобів управління потоками;
засобів організації інтерфейсу.
Стандарт мови запитів до реляційних баз даних не є дуже жорстким і дозволяє розробникам використовувати різні діалекти мови і навіть розширювати її. Це означає, що різні реляційні системи управління базами данних можуть мати певні особливості синтаксису операторів.
Усі команди мови SQL можна розділити на такі групи, див. Табл. 3.3.
Таблиця 3.3.
Групи SQL за функціональним призначенням
№ п/п |
SQL-оператор |
Призначення |
Примітка | |||||
1 |
DDL-Мова визначення даних (Data Definition Language) | |||||||
1.1
1.2.
1.3. |
1. Робота зі структурою бази даних | |||||||
CREATE DATEBASE
DROP DATEBASE |
Створення БД
Вилучення БД |
| ||||||
2. Робота зі структурою Таблиць | ||||||||
CREATE TABLE
ALTER TABLE RENAME TABLE DROP TABLE |
Cтворення структури таблиці Зміна структури таблиці Перейменування Вилучення |
Не підходять для Таблиць, у яких вже зберігаються дані. | ||||||
3. Робота з індексами | ||||||||
CREATE INDEX
DROP INDEX |
Створення індексу
Вилучення індексу |
| ||||||
( Дії відносяться до даних, які зберігаються у базі даних.) | ||||||||
2.1. |
Запити до однієї чи кількох Таблиць | |||||||
|
SELECT |
Вибір даних |
У запитах завжди використовується SELECT. Інструкція може бути як дуже простим, так і дуже складним у різних випадкаї | |||||
2.2. |
Вставити дані у таблицю | |||||||
|
INSERT REPLACE LOAD DATA INFILE |
|
Відносяться до Таблиць у яких зберігаються дані. | |||||
2.3. |
Оновлення існуючих даних у Таблицях | |||||||
|
INSERT REPLACE
|
|
| |||||
2.4. |
Вилучення даних із таблиці | |||||||
|
DELETE FROM
|
|
| |||||
3 |
| |||||||
3.1. |
Дозволяють задати права користувача на певні об’єкти бази даних | |||||||
|
GRANT |
Надає привілеї доступа користувачам |
Доступ дозволяється лише до певних Таблиць і лише певним привілегійованим користувачам. | |||||
|
REVOKE |
Відміняє привілеї доступа користувачів | ||||||
3.2. |
Управління транзакціями ( з метою підтримки цілосності даних) | |||||||
|
COMMIT
SAVEPOINT
ROLLBACK |
Фіксація у базі даних усіх змін, виконаних поточною транзакцією.
Встановлення точки початку транзакції
Скасування змін, зроблених з момента початку транзакції |
Транзакція—логічно закінчена одиниця роботи , що складається з однієї або кількох елементарних операцій оброблення даних. Дії по транзакції або виконуються повністю, або повністю скасовуються. Транзакція починається з моменту, встановленого інструкцією SАVEPOINT і може бути виконана по команді COMMIT або скасована по ROLLBACK |