SQL:2011 або ISO/IEC 9075:2011 (під загальною назвою "Інформаційні технології - мови баз даних - SQL") — сьома ревізія ISO (1987) і ANSI (1986) стандарту для мови запитів до бази даних SQL. Вона була офіційно прийнята в грудні 2011 року.[1] Стандарт складається з 9 частин, які докладно описані в SQL.
Нові можливості
Однією з основних нових функцій є поліпшена підтримка темпоральних баз даних[2][3]. Удосконалення мови для темпорального визначення даних і маніпулювання ними включають:
- Визначення часового періоду використовує два стандартні стовпчики таблиці, як початок і кінець іменованого періоду часу, з замкнутою відкритою семантикою. Це забезпечує сумісність із наявними моделями даних, кодом прикладних програм та інструментами;
- Визначення таблиць програмних часових періодів (інакше званих таблицями дійсного часу) за допомогою анотації
PERIOD FOR - Оновлення та видалення часових рядків з автоматичним розділенням часових періодів
- Темпоральні первинні ключі, що сполучають періоди часу з додатковими непересічними обмеженнями через оголошення
WITHOUT OVERLAPS - Темпоральні обмеження посилальної цілосності для часових таблиць
- Запити до часових таблиць виконуються за допомогою запитів зі звичайним синтаксисом, або за допомогою темпоральних предикатів для часових періодів, серед яких
CONTAINS,OVERLAPS,EQUALS,PRECEDES,SUCCEEDS,IMMEDIATELY PRECEDESтаIMMEDIATELY SUCCEEDS(які є модифікованими версіями інтервальної алгебри Аллена[en]) - Визначення таблиць системи контролю версій (інакше званих таблицями часу транзакції) за допомогою анотації
PERIOD FOR SYSTEM_TIMEта модифікатораWITH SYSTEM VERSIONING. Системні часові періоди підтримуються автоматично. Обмеження для таблиць системи контролю версій можуть не бути темпоральними і примусово застосовуються тільки для поточних рядків - Синтаксис часових (англ. time-sliced) і послідовних запитів до таблиць системного часу з використанням оголошень
AS OF SYSTEM TIMEіVERSIONS BETWEEN SYSTEM TIME ... AND ... - Час і система керування версіями можуть спільно використовуватися для забезпечення бітемпоральних таблиць
Підтримка в СКБД
IBM DB2 версії 10 претендує на звання першої бази даних, що має відповідну реалізацію цієї функції під назвою Time Travel Queries[4][5], хоча й з використанням альтернативного синтаксису FOR SYSTEM_TIME AS OF.
Oracle 12c підтримує темпоральну функціональність відповідно до SQL:2011[6]. Версії 10g і 11g реалізують часові запити, які називаються Flashback Queries з використанням альтернативного синтаксису AS OF TIMESTAMP[7]. Обидві реалізації Oracle залежать від журналу транзакцій бази даних і дозволяють лише темпоральні запити до останніх змін, які ще зберігаються для резервного копіювання.
Microsoft SQL Server (версія 2016) реалізує темпоральні таблиці з SYSTEM_VERSIONING[8].
Див. також
Примітки
- ↑ Paulley (16 грудня 2011), SQL:2011 is published, IA, Sybase, архів оригіналу (blog) за 11 липня 2012, процитовано 4 червня 2017 [Архівовано 11 липня 2012 у Archive.is]
- ↑ Земке, Фред (2012). What's new in SQL:2011 (PDF) (вид. ACM SIGMOD Record 41.1). с. 67—73. Архів оригіналу (pdf) за 10 серпня 2013. Процитовано 4 червня 2017. [Архівовано 2013-08-10 у Wayback Machine.]
- ↑ Кулкарні, Крішна; Джан-Ейке, Міхельс (2012). Temporal features in SQL: 2011 (PDF) (вид. ACM SIGMOD Record 41.3). с. 34—43. Архів оригіналу (pdf) за 15 листопада 2012. Процитовано 4 червня 2017. [Архівовано 2012-11-15 у Wayback Machine.]
- ↑ Архівована копія. Архів оригіналу за 31 серпня 2016. Процитовано 4 червня 2017.
{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ Архівована копія. Архів оригіналу за 25 жовтня 2012. Процитовано 4 червня 2017.
{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ Архівована копія. Архів оригіналу за 8 липня 2017. Процитовано 4 червня 2017.
{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ Архівована копія. Архів оригіналу за 6 травня 2017. Процитовано 4 червня 2017.
{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ Архівована копія. Архів оригіналу за 22 грудня 2016. Процитовано 4 червня 2017.
{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
Посилання
- SQL:2011, Каталог, ISO, архів оригіналу (webshop) за 13 травня 2016, процитовано 4 червня 2017
- Part 1: Framework (SQL/Framework) (PDF), JTC1SC32, 6 серпня 2011, архів оригіналу (draft; PDF) за 8 березня 2014, процитовано 4 червня 2017
- Part 14: XML-Related Specifications (SQL/XML) (PDF), JTC1SC32, 6 серпня 2011, архів оригіналу (draft; PDF) за 26 квітня 2015, процитовано 4 червня 2017
- List of further freely available Final Committee Drafts (пошук), Google
- Oracle 11g Total Recall Whitepaper (PDF), Oracle, 1 вересня 2009, архів оригіналу (PDF) за 19 вересня 2017, процитовано 4 червня 2017








