Введение в язык sql. Назначение, стандарты и достоинства языка

Страницы работы

Фрагмент текста работы

ТЕХНОЛОГИИ БАЗ  ДАННЫХ  И   ЗНАНИЙ

ВВЕДЕНИЕ В ЯЗЫК SQL

Минск 2008

ВВЕДЕНИЕ В ЯЗЫК SQL ПЛАН

1. Язык SQL в СУБД

1.1.  Назначение, стандарты

1.2.  Достоинства языка

1.3.  Диалекты языка

2. Структура инструкций языка SQL и их классификация

2.1. Структура инструкций

2.2. Классификация инструкций

3. Типы данных,  выражения, функции

3.1. Типы данных, константы

3.2. Выражения, функции

4. Функциональные возможности языка SQL

     4.1. Создание, изменение, удаление таблицы

     4.2. Внесение изменений в таблицу

     4.3. Выбор данных из таблицы

     4.4. Обеспечение целостности данных

     4.5. Управление доступом к данным

     5.6. Представление данных

5. Встраивание SQL в прикладные программы

6. Доступ к базам данных из прикладных программ

7. Язык SQL в архитектуре клиент-сервер

8. English Wizard

АННОТАЦИЯ

Рассматривается история языка SQL, его функциональные возможности и особенности; классификация и структура основных инструкций языка; типы данных, используемых в языке, константы, выражения. На примерах разбирается создание таблицы, изменение ее структуры, а также внесение изменений в   ее содержание, выбор данных из таблицы, обработка транзакций, обеспечение безопасности данных, представление данных. Уделяется внимание встраиванию инструкций SQL в прикладные программы, использованию SQL в архитектуре клиент-сервер, доступу к базам данных из прикладных программ.

1. ЯЗЫК  SQL    В    СУБД

                                                           1.1.    Назначение, стандарты

Язык SQL (Structured Query Language – структурированный язык запросов) разработан сотрудниками фирмы  IBM в начале 70-х годов ХХ века в рамках работы над проектом системы управления реляционными базами данных. Интерес к идеям создания реляционных баз данных с использованием языка SQL стали проявлять и другие фирмы, в частности, такие как Oracle Corporation, которая в 1979г. создала соответствующий программный продукт под названием Oracle.

В 1982г. Американский национальный институт стандартов – ANSI (American National Standards Institute) начал работу над стандартом языка реляционной базы данных – Relational Database Language – RDL. А так как на рынке уже завоевал позиции SQL, то ANSI взял его за основу разрабатываемого стандарта. Первая версия этого стандарта SQL-86 была принята ANSI и Международной организацией стандартов ISO (International Standards Organization) в 1986г., а в 1989г. появилась его усовершенствованная версия – стандарт SQL1.

Созданный стандарт  SQL1 был довольно ограниченным: в нем имелось много недочетов, а также немало областей, оставленных на усмотрение разработчиков СУБД. Несколько лет комитет по стандартизации работал над новым стандартом –  SQL2, который устранял эти недостатки и расширял язык SQL.

Стандарт SQL2 (SQL92) появился в 1992г. Он стал результатом работы организаций, занимающихся стандартизацией, которые расширили возможности языка, исправили неточности и ошибки, упущения, неопределенности, имеющиеся в первых вариантах языка. Этот стандарт представляет собой и подмножество основных реализаций языка, и обобщение всех известных его реализаций – ядро стандарта содержит функции, применяемые практически во всех известных коммерческих реализациях языка.

В отличие от первого стандарта, в котором описывались элементы языка, уже имевшиеся в большинстве СУБД, стандарт SQL2 на момент своей публикации в 1992г. был попыткой опередить разработчиков СУБД, а не следовать за ними. В этом стандарте описывались функции и особенности языка, которые еще не использовались широко в современных ему СУБД: наборы записей с произвольным доступом, стандартизированные системные каталоги, расширенное применение подчиненных запросов и новая система обработки ошибок. С опубликованием стандарта SQL2 начался новый виток развития реляционных СУБД  –  в направлении поддержки этого стандарта.

Вопреки стандарту SQL2 ряд коммерческих СУБД продолжают поддерживать собственные диалекты SQL, которые не реализует всех возможностей SQL2. Более того, поставщики СУБД  включают в свои продукты новые возможности и расширяют собственные диалекты SQL, отдаляя их от стандарта. Однако ядро SQL стандартизировано довольно жестко. Там, где это возможно было сделать, не ущемляя интересы клиентов, поставщики СУБД привели свои продукты в соответствие с SQL2. В то же время продолжаются работы над дальнейшей стандартизацией языка.

Деятельность комитетов по стандартизации языка SQL продолжилась в направлении создания стандарта SQL3. Работа была разбита на несколько направлений: ядро языка, интерфейс вызовов функций, постоянно хранимые модули (хранимые процедуры), распределенные транзакции и т.д. Работы в некоторых из этих направлений привели к созданию отдельных стандартов или расширений стандарта SQL2. Например, спецификация SQL/CLI (Common Language Interface) была выпущена в 1995г. как дополнение к SQL2.

Работа над ядром языка в SQL3 в основном была сосредоточена на добавлении к SQL2 объектно-ориентированных возможностей, что вызывало споры среди специалистов. Теоретики  считают, что изменения должны затрагивать не общую концепцию (привычная табличная организация базы данных должна оставаться неизменной), а лишь особенности ее реализации (необходимо работать над повышением производительности многотабличных объединений и нормализацией баз данных). Реформаторы же указывают на растущую популярность объектно-ориентированных технологий и необходимость следования веяниям прогресса и настаивают на модификации жесткой структуры реляционной базы данных с учетом концепций объектноориентированного программирования. По этой причине окончательное принятие стандарта SQL3 затягивалось. Полностью отработанный новый стандарт SQL3 был принят в 1999г

Похожие материалы

Информация о работе