Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Історія

Простий приклад

Роль та історія розвитку SQL.

Лекція 12. Співвідношення реляційної алгебри та структурованої мови запитів.

ТЕМА 5. Мова реляційних запитів SQL.

 

Роль та історія розвитку SQL. Непроцедурність SQL. SQL, як мова, наближена до природної. Нотація SQL. Проблеми використання SQL кінцевим користувачем. Поняття реляційної повноти. Методика перетворення алгебраїчних запитів в запити SQL. Діалекти мови SQL.

 

 

Роль та історія розвитку SQL. 1

Простий приклад. 2

Історія. 2

Стандарти. 4

Питання сумісності 7

Переваги стандартів SQL.. 7

Недоліки стандартів SQL.. 8

Процедурні розширення. 9

Коротко про стандарт SQL:2003. 10

Приклад нотації для визначення оператора SELECT в Oralce. 16

Співвідношення реляційної алгебри та структурованої мови запитів. 17

Проекція. 17

Селекція. 17

Селекція: синтаксис умови. 18

Операції над множинами: Об'єднання. 18

Операції над множинами: перетин. 18

Операції над множинами: Різниця. 18

Декартів добуток. 19

Тета-з’єднання. 19

Натуральне з’єднання. 19

 

 

SQL (Structured query language — мова структурованих запитів) — декларативна мова програмування для взаємодії користувача з базами даних, що застосовується для формування запитів, оновлення і керування реляційними БД, створення схеми бази даних і її модифікації, системи контролю за доступом до бази даних. Сам по собі SQL не є ні системою керування базами даних, ні окремим програмним продуктом. Не будучи мовою програмування в тому розумінні, як C або Pascal, SQL може формувати інтерактивні запити або, будучи вбудованою в прикладні програми, виступати в якості інструкцій для керування даними. Стандарт SQL, крім того, вміщує функції для визначення зміни, перевірки і захисту даних.

SQL — це діалогова мова програмування для здійснення запиту і внесення змін до бази даних, а також управління базами даних. Багато баз даних підтримує SQL з розширеннями до стандартної мови. Ядро SQL формує командна мова, яка дозволяє здійснювати пошук, вставку, обновлення, і вилучення даних, використовуючи систему управління і адміністративні функції. SQL також включає CLI (Call Level Interface) для доступу і управління базами даних дистанційно.

 

 

Простий запит для виведення списку із атрибутами Name, Address, Class із таблиці School у певній базі даних має такий вигляд:

SELECT Name, Address, ClassFROM School;

 

 

На початку 1970-х років в одній з дослідницьких лабораторій компанії IBM була розроблена експериментальна реляційна СУБД System R, для якої потім була створена спеціальна мова SEQUEL, що дозволяла відносно просто управляти даними в цій СУБД. Абревіатура SEQUEL розшифровувалася як англ. Structured English QUEry Language — «структурована англійська мова запитів». Пізніше з юридичних міркувань[2] мова SEQUEL була перейменована в SQL. Коли в 1986 році перший стандарт мови SQL був прийнятий ANSI (American National Standards Institute), офіційною вимовою стало [,es kju:' el] — ес-кью-ел. Попри це, навіть англомовні фахівці по колишньому часто називають SQL сіквел, замість ес-кью-ел.

Метою розробки було створення простої непроцедурної мови, якою зміг би скористатися будь-який користувач, що навіть не має навиків програмування. Власне розробкою мови запитів займалися Дональд Чемберлін (Donald D. Chamberlin) і Рей Бойс (Ray Boyce). Пет Селінджер (Pat Selinger) займалася розробкою вартісного оптимізатора (англ. cost-based optimizer), Реймонд Лорі (Raymond Lorie) займався компілятором запитів.

Варто відзначити, що SEQUEL не був єдиною мовою подібного призначення. У Каліфорнійському університеті в Берклі була розроблена некомерційна СУБД Ingres (що була, між іншим, дальнім прародичем популярної зараз некомерційної СУБД PostgreSQL), яка була реляційною СУБД, але використовувала свою власну мову QUEL, яка, проте, не витримала конкуренції за кількістю СУБД, що підтримували його, з мовою SQL.

Першими СУБД, що підтримують нову мову SQL, стали в 1979 році Oracle V2 для машин VAX від компанії Relational Software Inc. (що згодом стала компанією Oracle) і System/38 від IBM, заснована на System/R.

Перший офіційний стандарт мови SQL був прийнятий ANSI в 1986 і ISO (Міжнародною організацією зі стандартизації) в 1987 (так званий SQL-86) і дещо уточнений в 1989 році. Подальший розвиток мови постачальниками СУБД зажадав ухвалення в 1992 р. нового розширеного стандарту (ANSI SQL-92 або просто SQL2). Наступним стандартом став SQL:1999 (SQL3).

 

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

Найбільш близькі до System R були дві системи компанії IBM – SQL/DS й DB2. Розроблювачі обох систем використали досвід проекту System R, а СУБД SQL/DS прямо ґрунтувалася на програмному коді System R. Звідси гранична близькість діалектів SQL, реалізованих у цих системах, до SQL System R. З SQL System R були вилучені тільки ті частини, які були недостатньо пророблені (наприклад, крапки збереження) або реалізація яких викликала занадто більші технічні труднощі (наприклад, обмеження цілісності й тригери). Можна назвати цей шлях до комерційної реалізації SQL рухом зверху вниз.

Інший підхід застосовувався в таких системах, як Oracle, Informix й Sybase. Незважаючи на розходження в способах розробки систем, реалізація SQL скрізь відбувалася «знизу нагору». У перших випущених на ринок версіях цих систем використовувалася обмежена підмножина SQL System R. Зокрема, у першій відомій нам реалізації SQL у СУБД Oracle в операторах вибірки не допускалося використання вкладених підзапитів і була відсутня можливість формулювання запитів із з'єднаннями декількох відносин.

Проте, незважаючи на ці обмеження й на дуже слабку, спочатку, ефективність СУБД, орієнтація компаній на підтримку різних апаратних платформ і зацікавленість користувачів у переході до реляційних систем дозволили компаніям домогтися комерційного успіху й приступитися до вдосконалювання своїх реалізацій. У поточних версіях Oracle, Informix, Sybase й Microsoft SQL Server підтримуються досить потужні діалекти SQL, хоча реалізація в багатьох конструкціях дуже відрізняється.

 



Читайте також:

  1. Біблійні теми та історія раннього християнства у драмах Лесі Українки
  2. ВИЗНАЧЕННЯ, ПОНЯТТЯ І КОРОТКА ІСТОРІЯ.
  3. Виникнення і розвиток людських ресурсів, історія розвитку кадрових служб.
  4. Виникнення справочинства. Історія розвитку писемності. Складання документів у Київській Русі
  5. Вступ. Історія розвитку ГДС. Вклад вітчизняної науки при створенні теоретичних та технічних основ каротажу
  6. ЗМ 1. ДАВНЯ ІСТОРІЯ УКРАЇНИ
  7. ЗМІСТОВИЙ МОДУЛЬ І. Категорії особливо небезпечних інфекцій. Ознаки. Збудники. Історія вивчення, правила роботи
  8. І. Історія виникнення і тенденції розвитку настільного тенісу в світі, Україні, регіоні.
  9. Історія
  10. Історія
  11. Історія




Переглядів: 1904

<== попередня сторінка | наступна сторінка ==>
Стандарт ODMG. | Незалежність від конкретної СУБД

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.013 сек.