Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МІСТ Іспит 1 семестр.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
504.83 Кб
Скачать
  1. Поняття мови sql і його основні частини. Історія виникнення і стандарти мови sql

Історія виникнення починається з 1970 р. Стандарти в галузі програмного забезпечення розробляють ANSI та ISO.

Міжплатформенна переносимість Наявність стандартів Схвалення і підтримка компанією IBM, Microsoft

Історія виникнення мови SQL починає з 1970 року [5], коли доктор Е.Ф. Кодд запропонував реляційну модель як нову модель бази даних. Для доказу життєздатності нової моделі даних усередині компанії IBM був створений потужний дослідницький проект, що отримав назву System/R. Проект включав розробку власне реляційної СУБД і спеціальної мови запитів до бази даних. Так на початку 70-х років з'явився перший дослідницький прототип реляційної СУБД. Для цього прототипу розроблялися і випробувалися різні мови запитів, один з яких отримав назву SEQUEL (Structured English Query Language). З моменту створення і до наших днів ця мова зазнала багато змін, але ідеологія залишилася незмінною.

Період з 1979 року (закінчення проекту System/R) до теперішнього часу характеризується розвитком і вдосконаленням мови SQL і його роллю, що постійно збільшується, в індустрії, пов'язаній із створенням і експлуатацією баз даних. Абсолютно вочевидь, що мова ніколи не отримала б світового визнання, якби на нього не було жодних стандартів. Стандартизація – важлива частина технологічних процесів кінця XX століття. Саме наявність розроблених і офіційно визнаних стандартів дозволила затвердитися багатьом сучасним технологіям (не лише в індустрії розробки програмного забезпечення, але і в багатьох інших сферах людської діяльності). Як йде справа із стандартами мови SQL і їх підтримкою в поширених СУБД?

Коли ведуть мову про стандарти в області, пов'язаній з розробкою програмного забезпечення, зазвичай мають на увазі дві організації: ANSI (American National Standards Institute) – Американський національний інститут стандартів; ISO (International Standards Organization) – Міжнародну організацію по стандартизації.

Робота над офіційним стандартом мови SQL почалася в 1982 році [8] в рамках комітету ANSI. У 1986 році (зверніть увагу, скільки часу пішло на розробку стандарту і узгодження деталей!) був затверджений перший варіант стандарту ANSI, а в 1987 році цей стандарт був затверджений і ISO. У 1989 році стандарт зазнав незначні зміни, але саме цей варіант отримав назву SQL-1 або SQL‑89. У чому особливість SQL-89? За час розробки стандарту (1982–1989 рр.) були створені, представлені на ринок і активно використовувалися декілька різних СУБД. В цих СУБД в тому або іншому вигляді був реалізований деякий діалект мови SQL. З урахуванням того, що розробкою стандартів займалися ті ж люди, хто впроваджував SQL в СУБД, стандарт SQL-89 був плодом безлічі компромісів. Це призвело до наявності в стандарті великої кількості "білих плям", тобто місць, які не були описані, а віддані на розсуд розробників діалекту. В результаті мало не усі наявні діалекти стали сумісними із стандартом, але особливої користі це не принесло.

Наступна реалізація стандарту була покликана вирішити цю проблему. В результаті тривалих обговорень і узгоджень в 1992 році був прийнятий новий стандарт ANSI SQL-2 або SQL-92. SQL‑92, який заповнив багато "білих плям", вперше додавши в стандарт можливості, ще не реалізовані в існуючих комерційних СУБД.

Робота над стандартизацією продовжується і далі. З'явилися стандарти SQL-1999, SQL-2003. Проте, всі ці стандарти не вирішили всіх проблем, пов'язаних з наявністю декількох діалектів мови. Як правило, розробники як ігнорували, так і ігнорують деякі положення стандарту, з одного боку, відмовляючись реалізовувати деякі його частини і, з іншого боку, реалізовуючи те, що відсутнє в стандарті. Не дивлячись на наявні відмінності, всі комерційні СУБД підтримують деяке ядро мови, описане в стандарті, однаково. Відмінностей не дуже багато, вони не носять принципового характеру. Хоча кожна СУБД як і раніше підтримує свій діалект мови.

У систему управління базами даних Microsoft SQL Server входить мова TRANSACT-SQL, розроблена на основі одного із стандартів SQL.