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

10.2. Структура мови sql-92.

SQL 92 складається з двох основних компонентів:

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

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

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

Таким чином, зовнішня модель може складатися одночасно як з базових (відношень концептуального рівня), так і з представлень, відтворених на основі цих базових відношень.

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

-надає гнучкий механізм захисту за рахунок приховання деяких частин бази даних від визначених користувачів.

-дозволяє організувати доступ користувачів до даних найбільш зручним для них чином.

Одні і ті ж самі дані в той самий час можуть розглядатися різними користувачами зовсім різними способами.

-дозволяє спрощувати складні операції з базовими відношеннями.

Наприклад, якщо відображення буде визначено на основі з'єднанні двох відношень, то користувач зможе виконувати над ним прості унарні операції вибірки і проекції, що будуть автоматично перетворені засобами СУБД в еквівалентні операції з виконанням з'єднання базових відношень.

10.3. Основні оператори мови dml.

-SELECT — виборка данних із БД:

SELECT <предикат> <P1, P2 AS new_name,...>

Виборка з перейменуванням

SELECT <предикат> YEAR(Дата) AS Rik, MID(P1,1,5) AS PS,...

В тілі речення можуть вживатись функції.

По умовчаню більшість SQL-мов підтримують лише 6 агрегатних функцій.

Для використання інших функцій необхідно виконати налаштування SQL-сервера IB,FB та інших.

Предикати речення SELECT:

  • ALL – включити до результуючого набору всі записи

  • DISTINCT - включити до результуючого набору записи, у яких значення у вибраних полях не повторюються

  • DISTINCTROW(дістінкгроу) - включити до результуючого набору записи, у яких значення всіх полів не повторюються

  • TOP n - включити до результуючого набору n-записів

Оператор мови SQL складається з речень. Приведені вище оператори також одночасно є першими реченями відповідних операторів мови SQL. До їх складу також можуть входити інші речення:

-FROM –визначає джерело даних запиту в цілому (обовязкове)

FROM T1

FROM T1,T2

Декартовий добуток, якщо відсутнє речення WHERE

FROM T1 INNER JOIN T2 ON T1.P1 = T2.P1

Прпироднє з’єднання

FROM T1 LEFT JOIN T2 ON T1.P1 = T2.P1

Ліве відкрите з’єднання

FROM T1 RIGHT JOIN T2 ON T1.P1 = T2.P1

Праве відкрите з’єднання

-WHERE (веа)<предикат> -речення умови виборки (необов’язкове)

WHERE Ціна > 100

WHERE Дата BETWEEN D1 AND D2

вибираються записи, в яких значення поля Дата приймає значення в діапазоні D1-D2 включно

WHERE Назва LIKE *ПК*

Вибираються записи, в яких значення поля Назва включають підрядок ‘ПК’

WHERE Місяць IN (1;3;9)

Вибираються записи, для яких поле Місяць приймає значення 1,3 та 9

WHERE Дата = #5/10/96#;

Використовує американський стандарт дати

5.10.1996 чи 10.5.1996

-ORDER BY(ордер бай) <> - речення порядку сортування (необов’язкове)

ORDER BY P1 ASC, P2 DESC

Сортувати результуючий набір по зростаню значень поля P1 і вседені однакових груп поля P1 по спаданю значень поля P2.

Предикат ASC (від "A" до "Я" і від 0 до 9) необовязковий

DESC (від "Я" до "A" і від 9 до 0)

-GROUP BY <> -речення групування (необов’язкове)

Використовується разом з агрегатними функціями

GROUP BY <список полів групування>

вказуються поля по яких виконується групування

SELECT P1, Sum(SDEB) AS SD

FROM DEP_SUM GROUP BY P1;

Обчислення результуючої суми з групуванням по полю P1.

Можуть використовуватись наступні функції групування:

SUM(P1),MAX(P1),MIN(P1),FIRST(P1),COUNT(каунт)(P1),

AVG(P1)

-NAVING(невінг) <предикат> - речення умови виборки для результату групування (необов’язкове)

HAVING Sum(Ціна*Кількість) > 100

Це речення може містити до 40 виразів звязаних логічними операторами AND або OR

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