Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL_mova_strukturovanikh_zapitiv.doc
Скачиваний:
0
Добавлен:
01.12.2019
Размер:
932.78 Кб
Скачать

4.2. Засоби пошуку даних 73

Розділ 4

Мова SQL

  • Засоби пошуку даних

  • Засоби маніпулювання даними

  • Операції над схемою бази даних

  • Віртуальні таблиці та індекси

  • Транзакцм

  • Додаткові можливості мови

4.1. Історія мови sql та огляд її можливостей

Історія SQL починається з 70-х років XX століття, коли в дослідницькій лабора­торії IBM у штаті Каліфорнія було розроблено першу версію цієї мови. Назва SQL є абревіатурою від Structured Query Language (структурована мова запитів), й іноді її вимовляють як «sequel» (первісна назва). Спочатку ця мова була реалі­зована в реляційній СКБД DB2 виробництва IBM. На відміну від мов третього покоління (COBOL, C), які з'явилися в той самий час, мова SQL не є процедур­ною. Непроцедурна мова — це мова, в якій описується, що потрібно одержати, а не як це зробити.

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

Американський інститут національних стандартів (American National Stan­dards Institute — ANSI) та Міжнародна організація стандартів (International Stan­dards Organization — ISO) займаються описом і підтримкою стандартів цієї мови. Усі сучасні СКБД підтримують певний стандарт, проте є й відхилення, які в кож­ному конкретному випадку специфікуються в документації програмного продук­ту. Окрім того, у багатьох системах розроблено розширення SQL, що дають змогу використовувати мову запитів у середовищі програмування.

SQL надає такі можливості:

  • створювати й видаляти таблиці бази даних, а також змінювати заголовки таблиць;

  • вставляти, змінювати й видаляти рядки в таблицях;

  • виконувати пошук даних у багатьох таблицях та впорядковувати результати цього пошуку;

  • описувати процедури підтримки цілісності;

  • визначати та змінювати інформацію про захист даних.

Керуючись стандартами ANSI-92 та ANSI-99, розглянемо можливості SQL на численних прикладах. Усі запити конструюватимуться для тієї ж бази даних, що була використана під час розгляду реляційної алгебри та реляційного числення:

ФАКУЛЬТЕТІ. Назва. Декан. Корпус. Фонд) KA<DEflPA(#D. #F. Назва. #ЗАВІДУВАЧ. Корпус. Фонд) ВИКЛАДАЧ(#Т. #D, Прізвище. Посада. Тел) ГРУПА(#С #D. Курс, Номер. Кількість. #КУРАТ0Р) ПРЕДМЕТІ. Назва)

АУДИТОРІЯШ. Номер. Корпус. Місткість) ЛЕКЦІЯ(#Т. #G. #S, #R. Тип. День. Тиждень)

4.2. Засоби пошуку даних

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

Основна конструкція, призначена у мові SQL для вибирання даних, складається з фраз SELECT і FROM. Фраза FROM вказує, з якої таблиці потрібно вибрати дані, а фра­за SELECT — які саме атрибути (стовпці) з цієї таблиці мають бути вибрані. Запит

SELECT Назва FROM ФАКУЛЬТЕТ

здійснює виведення назв факультетів. Ці дві фрази обов'язково мають бути в будь-якому запиті.

Виведення окремих стовпців

У фразі SELECT можна зазначати список імен стовпців. Передбачається, що резуль­тат виведення буде впорядкований за стовпцями відповідно до того, як розташо­вані імена у фразі:

SELECT Номер. Курс, Кількість FROM ГРУПА

Виведення всіх стовпців

Якщо необхідно вивести всі стовпці таблиці, то у фразі SELECT використовується символ *:

SELECT *

FROM КАФЕДРА

Неповторювані рядки

Хоча в реляційних відношеннях не має бути повторюваних рядків (дублікатів), У SQL за замовчуванням встановлено, що всі дублікати рядків у таблиці-резуль-таті виводяться. Щоб унаслідок виконання запиту одержати унікальні (неповто­рювані) значення, потрібно використовувати модифікатор DISTINCT (за замовчу­ванням застосовується модифікатор ALL). Наприклад, щоб отримати список усіх

т ипів лекцій, які читаються у вузі, і щоб кожен тип виводився лише один раз, по­трібно записати:

SELECT DISTINCT Тип FROM ЛЕКЦІЯ

Без модифікатора DISTINCT ми одержали б список із кількох сотень рядків (йо­го довжина дорівнювала б кількості всіх лекцій у вузі).

Зазначимо, що весь запит можна розмістити в одному рядку.

Перевизначення імен стовпців

Фраза SELECT надає можливість перевизначити імена стовпців кінцевої таблиці. Для цього після імені стовпця вихідної таблиці необхідно зазначити ім'я стовпця кінцевої таблиці (з використанням необов'язкової фрази AS). Наприклад, у наве­деному нижче запиті перевизначаються імена обох стовпців:

SELECT Назва AS Назва_факультету. Декан AS Декан_факультету FROM ФАКУЛЬТЕТ

Умова вибирання

Для запису умови вибирання використовується фраза WHERE. У ній зазначено, якій умові мають відповідати вихідні дані. Алгоритм обробки запиту з фразою WHERE є таким:

4- вибрати рядок із таблиці;

4- перевірити його відповідність вказаній умові;

4- якщо рядок відповідає умові, то вивести значення стовпців, вказаних у фразі

SELECT.

Цей запит виводить список усіх професорів вузу:

SELECT Прізвище FROM ВИКЛАДАЧ

WHERE Посада = "професор"

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]