Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора БД.docx
Скачиваний:
300
Добавлен:
22.02.2016
Размер:
306.96 Кб
Скачать

19 Мова sql. Формат sql-операторів. Маніпулювання даними

В ідеалі, будь-яка мова роботи з базами даних повинна надавати користувачу наступні можливості:

• створювати базу даних і таблиці з повним описом їх структури;

• виконувати основні операції маніпулювання даними, такі як вставка, модифікація і видалення даних з таблиць;

• виконувати прості і складні запити, що здійснюють перетворення необроблених даних в необхідну інформацію.

Крім того, мова роботи з базами даних повинна вирішувати всі вказані вище задачі при мінімальних зусиллях з боку користувача, а структура і синтаксис його команд повинні бути достатньо прості і доступні для вивчення. І, нарешті, вона повинна бути універсальною, тобто відповідати деякому визнаному стандарту, що дозволить використовувати один і той же синтаксис і структуру команд при переході від однієї СУБД до іншої. Мова SQL задовольняє практично всім цим вимогам.

SQL є прикладом мови з трансформуючою орієнтацією, або ж мови, призначеного для роботи з таблицями з метою перетворення вхідних даних до необхідного вихідного вигляду. Мова SQL має два основних компоненти:

• Мова DDL (Data Definition Language), призначена для визначення структур бази даних;

• Мова DML (Data Manipulation Language), призначена для вибірки і оновлення даних.

Мова SQL відносно проста у вивченні.

• Це не процедурна мова, тому в ній необхідно вказувати, яка інформація повинна бути одержана, а не як її можна одержати. Інакше кажучи, мова SQL не вимагає вказівки методів доступу до даних.

• Як і більшість сучасних мов, SQL підтримує вільний формат запису операторів. Це означає, що при введенні окремі елементи операторів не пов'язані з фіксованими позиціями екрану.

• Структура команд задається набором ключових слів, що є звичайними словами англійської мови — такі, як

CREATE TABLE (Створити таблицю), INSERT (Вставити), SELECT (Вибрати).

Наприклад:

CREATE TABLE staff(sno VARCHAR(5), Iname VARCHAR(15), salary DECIMAL(7,2));

INSERT INTO staff

VALUES ('SG16', 'Brown', 8300);

SELECT sno, Iname, salary

FROM staff

WHERE salary > 10000;

• Мова SQL може використовуватися широким колом користувачів, включаючи адміністраторів баз даних (АБД), керівний персонал компанії, прикладних програмістів і багатьох інших типів кінцевих користувачів.

Визначення мови SQL в стандарті ANSI передбачає розділення мови DDL на два компоненти: власне мова DDL, призначеної для визначення структури бази даних, і мови DCL (Data Control Language), що використовується для управління доступом до даних.

1. Формат sql-операторів

SQL-оператор складається із зарезервованих слів, а також із слів, визначуваних користувачем. Зарезервовані слова є постійною частиною мови SQL і мають фіксоване значення. Їх слід записувати в точності так, як це встановлено, і не можна розбивати на частини для перенесення з одного рядка в інший. Слова, визначувані користувачем, задаються самим користувачем (відповідно до певних синтаксичних правил) і є іменами різних об'єктів бази даних — таблиць, стовпців, представлень, індексів і т.д. Слова в операторі розміщуються відповідно до встановлених синтаксичних правил. Хоча в стандарті це не вказано, багато діалектів язика SQL вимагають завдання в кінці оператора деякого символу, що позначає закінчення його тексту (як правило, з цією метою використовується символ крапки з комою (;)).

Більшість компонентів SQL-операторів не чутлива до регістра. Це означає, що можуть використовуватися будь-які букви — як рядкові, так і прописні. Одним важливим виключенням з цього правила є символьні літерали-дані, які повинні вводитися точно так, як і були введені відповідні їм значення, що зберігаються в базі даних. Наприклад, якщо в базі даних зберігається значення прізвища 'SMITH', а в умові пошуку вказаний символьний літерал 'Smith', то цей запис не буде знайдений.

Оскільки мова SQL має вільний формат, окремі SQL-оператори і їх послідовності матимуть більш читабельний вигляд при використовуванні відступів і вирівнювання. Рекомендується дотримуватися наступних правил.

• Кожна фраза в операторі повинна починатися з нового рядка.

• Початок кожної фрази повинен бути вирівняно з початком решти фраз оператора.

• Якщо фраза має декілька частин, кожна з них повинна починатися з нового рядка з деяким відступом щодо початку фрази, що вказуватиме на їх підлеглість.

Для визначення формату SQL-операторів ми застосовуватимемо наступну розширену форму BNF-нотації (Backus Naur Form).

• Великі букви використовуватимуться для запису зарезервованих слів і повинні указуватися в операторах точно так, як і це буде показано.

• Малі букви використовуватимуться для запису слів, визначених користувачем.

• Вертикальна риска (|) указує на необхідність вибору одного з декількох приведених значень — наприклад, а | b | з.

• Фігурні дужки визначають обов'язковий елемент — наприклад {а}.

• Квадратні дужки визначають необов'язковий елемент — наприклад [а].

• (...) використовується для вказівки необов'язкової можливості повторення конструкції, від нуля до декількох разів — наприклад {a|b} [,с...]. Цей запис означає, що після а або b може слідувати від нуля до кількох повторень с, розділених комами.

На практиці для визначення структури бази даних (тобто її таблиць) використовуються DDL-оператори, а для заповнення цих таблиць даними і вибірки з них інформації за допомогою запитів — DML-оператори. В цьому розділі спочатку ми познайомимося з DML-операторами і лише потім звернемося до операторів мови DDL. Подібний підхід відображає велику важливість DML-операторів з погляду рядового користувача.