Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Авт_ПМП / Metod_BD.doc
Скачиваний:
31
Добавлен:
05.02.2016
Размер:
574.98 Кб
Скачать

Основи мови sql

SQL - це абревіатура від Structured Query Language, що в перекладі з англійської означає мова структурованих запитів. Мова SQL орієнтована на реляційні бази даних, про які велась мова в попередніх лекціях. В ідеалі, люба мова для роботи з базами повинна надавати користувачеві такі можливості:

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

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

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

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

  • мова DDL (Data Definition Language), засобами якої визначаються структури бази;

  • мова DML (Data Manipulation Language), засобами якої здійснюється виборка і поновлення даних.

Мова SQL може використовуватись двома способами. Перший передбачає інтерактивний режим роботи, який полягає в тому, що користувач з терміналу вводить окремі SQL-оператори. Другий метод полягає в тому, що SQL-оператори вбудовуються певним чином у процедурні мови програмування (C, C++ ). В основному ці 2 форми SQL працюють однаково. На практичних роботах ми будемо користуватись інтерактивною формою.

На сьогоднішній день для мови SQL існує міжнародний стандарт (ISO 1992р), який робить цю мову стандартною мовою визначення і маніпулювання реляційними базами даних.

Термінологія SQL. Стандарт ISO SQL не підтримує таких формальних термінів як “відношення”, “атрибут” і “кортеж”, замість них вживаються терміни “таблиця”, “стовпчик” і “рядок”. Ми будемо притримуватися термінології ISO.

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

Слова в операторі розташовуються у порядку визначеному синтаксичними правилами мови. Більшість компонентів SQL-оператора не чутливі до регістру. Це означає, що можна використовувати як малі так і великі букви. Наприклад, зарезервоване слово Select можна записати і так: SELECT – обидва записи еквівалентні. В подальшому ми будемо притримуватись таких правил:

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

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

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

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

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

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

На практиці для визначення таблиць використовуються DDL-оператори, а для заповнення цих таблиць даними і виборки з них використовуються DML-оператори. Спочатку ми розглянемо DML-оператори, а потім DDL-оператори.

До DML-операторів мови SQL відносяться такі оператори:

  • SELECT – виборка даних з бази;

  • INSERT – вставка даних у таблицю;

  • UPDATE – поновлення (заміна) даних в таблиці;

  • DELETE – видалення даних з таблиці.

Числові константи SQL. Любе число є константою, наприклад, 200,3,0.9.

Символьні або текстові константи. Люба послідовність букв і цифр є символьною константою. Символьні константи поміщаються в одинарні кавички, наприклад, ‘Школа’,’5-та школа’,’200’. Зауважимо, що константи 200 і ‘200’ є різними в SQL. Константи типу TIMESTAMP записуються у виді:

{ts 'YYYY-mm-dd hh:MM:SS'}

де YYYY означає рік, mm – номер місяця(1 – 12), dd – календарний день(1 – 31)

Константи типу DATE записуються у виді:

{d 'YYYY-mm-dd'}

Отже, константа {ts '2003-9-11 8:30:00'} позначає 11 вересня 2003 року 8 годин 30 хвилин.

В мові SQL константи як числові так і нечислові називають одним словом – літерал.

Приклад використання літералів в операторі INSERT:

Соседние файлы в папке Авт_ПМП