- •1. Поняття про бази даних та системи управління базами даних
- •2. Моделі баз даних
- •3. Реляційні бази даних
- •4. Ключі та індекси
- •5. Зв’язок між таблицями
- •6. Методи і способи доступу до даних
- •7. Робота з sql Server
- •8. Опис мови sql
- •10. Визначення даних засобами sql
- •9. Типи даних в sql
- •11. Відбір даних із таблиць засобами sql
- •12. Створення та використання таблиць бд засобами sql Server Enterprise Manager
- •13. Відбір даних із таблиць за допомогою графічних інструментів sql Server
- •Список літератури
8. Опис мови sql
SQL (Structured Query Language) - структурована мова запитів – стандартна мова запитів для роботи з реляційною БД. Вона з’явилася після реляційної алгебри, і її прототип був розроблений у кінці 70-х років в компанії IBM Research. Мова SQL була реалізована в першому прототипі реляційної СУБД фірми IBM System R. Надалі ця мова застосовувалася у багатьох комерційних СУБД і через широке поширення поступово стала стандартом для мов маніпулювання даними в реляційних СУБД.
Мову SQL не можна повністю віднести до традиційних мов програмування. Вона не має традиційних операторів, які керують ходом виконання програми, операторів опису типів і багато іншого. Вона містить тільки набір стандартних операторів доступу до даних, які зберігаються в базі даних. Оператори SQL вбудовуються в базову мову програмування, якою може бути будь-яка стандартна мова типу С++, PL, COBOL і т.д. Крім цього оператори SQL можуть виконуватися безпосередньо в інтерактивному режимі. Це забезпечує користувачам негайний доступ до даних. За допомогою SQL користувач може в інтерактивному режимі одержати відповіді на найскладніші запити в лічені хвилини чи секунди, тоді як програмісту потрібні були б дні чи тижні, щоб написати для користувача відповідну програму. Оператори SQL використовуються як для інтерактивного, так і для програмного доступу, тому частини програм, що містять звертання до бази даних, можна спочатку тестувати в інтерактивному режимі, а потім вбудовувати в програму.
Засоби SQL використовуються для виконання операцій з локальними і віддаленими БД. Головною перевагою реляційного способу доступу є невелике завантаження мережі, оскільки передаються тільки запити і результати їх виконання.
Мова SQL орієнтована на виконання дій з таблицями БД і даними в цих таблицях. На відміну від процедурних мов програмування, в ній немає операторів управління обчислювальним процесом (циклів, переходів, розгалуження) і засобів введення-виведення. Складену на мові SQL програму називають SQL-запитом.
В мові SQL можна виділити наступні головні підмножини операторів:
Оператори визначення даних DDL (Data Definition Language):
CREATE TABLE Створює нову таблицю в БД;
DROP TABLE Знищує таблицю з БД;
ALTER TABLE Змінює структуру існуючої таблиці
CREATE VIEW Cтворює віртуальну таблицю, яка відповідає деякому SQL-запиту;
ALTER VIEW Змінює створену віртуальну таблицю;
DROP VIEW Знищує створену віртуальну таблицю;
CREATE INDEX Створює індекс для деякої таблиці для забезпечення швидкого доступу за атрибутами, що входять в індекс;
DROP INDEX Знищує індекс;
Оператори маніпулювання даними DML (Data Manipulation Language):
DELETE Знищує рядки;
INSERT Вставляє рядок;
UPDATE Поновлює значення рядка;
Оператор управління доступом до даних – мова запитів DQL (Data Query Language):
SELECT Вибирає рядки. Цей оператор заміняє всі оператори реляційної алгебри і дозволяє сформувати результатне відношення, відповідне до запиту;
Оператори управління транзакціями:
СOMMIT Завершує транзакцію;
ROLLBACK. Відміняє зміни, здійснені в ході виконання транзакції;
SAVEPOINT Зберегти проміжний стан БД в ході виконання трансакції;
Оператори адміністрування даних:
CREATE DATABASE Створює БД;
ALTER DATABASE Змінює БД;
ALTER DBAREA Змінює область зберігання БД;
ALTER PASSWORD Змінює пароль для всієї БД;
DROP DATABASE Знищує БД;
CREATE DBAREA Створює область зберігання і робить її доступною для розміщення даних.
Мова SQL надає для користування ряд функцій, з яких найчастіше використовуються:
AVG () – середнє значення;
MAX () – максимальне значення;
MIN () – мінімальне значення;
SUM () – сума;
COUNT () – кількість значень;
COUNT (*) – кількість нульових значень.
При описі операторів мови використовують символи < > для позначення окремих елементів. Регістр літер не впливає на інтерпретацію операторів мови. Крапка з комою в кінці SQL-операторів необов´язкова. Елементи в списках, наприклад, імена полів і таблиць, повинні бути розділені комами.
Імена таблиць і полів беруться в лапки. Якщо ім´я не містить пробілів та інших спеціальних символів, то лапки можуть не вказуватися.
В SQL-запиті допускаються коментарі, які пояснюють текст програми. Коментар обмежується символами /* і */.
