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

Стандарти

Історія версій стандартів-ревізій SQL:

Рік

Назва

Коментар

1986

SQL-86, SQL-87

Перший варіант стандарту, прийнятий інститутом ANSI і схвалений ISO у 1987 році.

1989

SQL-89

Трохи допрацьований варіант попереднього стандарту.

1992

SQL-92, SQL-2

Значні зміни (ISO 9075); рівень Entry Level стандарту SQL-92 був прийнятий як стандарт FIPS 127-2.

1999

SQL:1999, SQL-3

Додана підтримка регулярних виразів, рекурсивних запитів, підтримка тригерів, базові процедурні розширення, нескалярні типи даних і деякі об'єктно-орієнтовані можливості.

2003

SQL:2003

Введені розширення для роботи з XML-даними, віконні функції (застосовувані для роботи з OLAP-базами даних), генератори послідовностей і засновані на них типи даних.

2006

SQL:2006

Функціональність роботи з XML-даними значно розширена. З'явилася можливість спільно використовувати в запитах SQL і XQuery.

2008

SQL:2008

Поліпшено можливості віконних функцій, усунуті деякі неоднозначності стандарту SQL: 2003

Рис.5.1. Співвідношення діалектів SQL

Приведемо коротку характеристику поточного стану стандарту SQL:1999 і перспектив його розвитку. Насамперед, помітимо, що кожен новий варіант стандарту мови SQL був істотно об'ємніше попередніх версій. Так, якщо стандарт SQL/89 займав близько 600 сторінок, то обсяг SQL/92 становив на 300 із зайвим сторінок більше. Найперші проекти SQL3 займали близько 1500 сторінок. Це цілком природно, тому що мова ускладнюється, а його специфікації стають більше детальними й точними. Але розроблювачі SQL3 прийшли до виводу, що при таких обсягах стандарту ймовірність його прийняття й наступної успішної підтримки помітно зменшується. Тому було ухвалене рішення розбити стандарт на відносно незалежні частини, які можна було б розробляти й підтримувати окремо.

В 1999 р. були прийняті п'ять перших частин стандарту SQL:1999. Перша частина (SQL/Framework) присвячена опису концептуальної структури стандарту. У цій частині приводиться розгорнута анотація наступних чотирьох частин і формулюються вимоги до реалізацій, що претендують на відповідність стандарту.

Друга частина SQL:1999 (SQL/Foundation) утворить базис стандарту. Уводиться система типів мови, формулюються правила визначення функціональних залежностей і можливих ключів, визначаються синтаксис і семантика основних операторів SQL:

  • операторів визначення й маніпулювання схемою бази даних;

  • операторів маніпулювання даними;

  • операторів керування транзакціями;

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

Третю частину займає уточнена в порівнянні з SQL/92 специфікація SQL/CLI. У четвертій частині специфікується SQL/PSM - синтаксис і семантика мови визначення збережених процедур. Нарешті, у п'ятої частини - SQL/Bindings - визначаються правила зв'язування SQL для стандартних версій мов програмування FORTRAN, COBOL, PL/1, Pascal, Ada, C й MUMPS.

SQL / CLI, або інакше званий Call-Level Interface (інтерфейс рівня викликів), - розширення стандарту SQL, закріплене в ISO / IEC 9075-3:2003. Дане розширення визначає загальну взаємодію компонентів (структур і процедур), яке може використовуватися при виконанні SQL-запитів від програми, написаної на інших мовах програмування. Розширення SQL / CLI визначає порядок, в якому окремо викликаються SQL-запити і SQL / CLI-процедури з вихідного коду викликає додатка.

SQL / PSM - стандарт для SQL / Persistent Stored Modules (постійно збережувані модулі), розроблений Американським національним інститутом стандартів (ANSI) в якості розширення SQL. Стандарт підтримує процедурне програмування на додаток до виразів запиту мови SQL.

Розширення SQL / PSM закріплено стандартом ISO / IEC 9075-4:2003. SQL / PSM стандартизує процедурне розширення для SQL, включаючи управління потоком виконання, обробку умов, обробку прапорів станів, курсори і локальні змінні, а також привласнення виразів змінним і параметрами. SQL/PSM формалізує оголошення і підтримку постійних підпрограм мов баз даних (наприклад, «збережених процедур»).

У стандарт SQL:1999 повинні були ввійти ще кілька частин. Серед них специфікації наступних засобів:

  • керування розподіленими транзакціями (SQL/Transaction);

  • підтримка темпоральних властивостей даних (SQL/Temporal);

  • керування зовнішніми даними (SQL/MED);

  • зв'язування з об’єктно-орієнотованими мовами програмування (SQL/OLB);

  • підтримка оперативної аналітичної обробки (SQL/OLAP).

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

Перетерпіла деякі зміни загальна організація стандарту. Стандарт SQL:2003 складається з наступних частин:

  • 9075-1, SQL/Framework;

  • 9075-2, SQL/Foundation;

  • 9075-3, SQL/CLI;

  • 9075-4, SQL/PSM;

  • 9075-9, SQL/MED (Management of External Data );

  • 9075-10, SQL/OLB - Object Language Bindings (объектное языковое связывание);

  • 9075-11, SQL/Schemata - Information and Definition Schemas (Схемы информации и определения);

  • 9075-13, SQL/JRT - SQL Routines and Types for the Java Programming Language (Подпрограммы и типы SQL для языка программирования Java);

  • 9075-14, SQL/XML - XML-Related Specifications (Спецификации, связанные сXML).

Частини 1-4 й 9-10 з необхідними змінами залишилися такими ж, як й в SQL:1999 (розд. 7.4). Частина 5 (SQL/Bindings) перестала існувати; відповідні специфікації включені в частину 2. Розділ частини 2 SQL:1999, присвячений інформаційній схемі, виділений в окрему частину 11. З'явилися дві нові частини - 13 й 14. Частина 13 повністю називається «SQL Routines and Types Using the Java Programming Language» («Використання підпрограм і типів SQL у мові програмування Java»). Поява такої частини стандарту виправдано підвищеною увагою до мови Java з боку провідних виробників SQL-орієнтованих СУБД. Нарешті, остання частина SQL:2003 присвячена специфікаціям язикових засобів, що дозволяють працювати з XML-документами в середовищі SQL.

Провідні постачальники відповідних СУБД (сьогодні це компанії IBM, Oracle й Microsoft) намагаються максимально швидко реагувати на потреби й кон'юнктуру ринку й розширюють свої продукти всі новими й новими можливостями. Очевидна потреба в стандартизації відповідних язикових засобів, але процес стандартизації явно не поспіває за змінами, що відбуваються.

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