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

Sql на практике введение

Большинство современных СУБД построено на реляционной модели данных. Для получения информации из отношений (таблиц) базы данных в качестве языка манипулирования данными в теоретическом плане используются абстрактных язык реляционной алгебры.

В качестве практического языка работы с данными в середине 70-х годов фирмой IBM разработан язык структурных запросов SQL, ставший впоследствии стандартом de-facto при работе с базами данных. Не смотря на то, SQL часто подвергается суровой критике за недостаточное соответствие реляционным принципам, его изучение является актуальным как в практическом плане, так и чисто в теоретическом.

1. История развития языка sql

Работа над созданием языка была начата сразу после появления статью Э.Кодда в 1970г. в лабораториях компании IBM для проверки возможностей реляционной модели.

СУБД System R - экспериментальная исследовательская система с языком SEQUEL (позже SQL), созданная IBM:

  • Полный реляционный язык БД

  • Операторы манипулирования БД

  • Средства определения и манипулирования схемой БД

  • Определение ограничений целостности

  • Определение представлений

  • Определение индексов

  • Авторизация доступа к отношениям и их полям

  • Точки сохранения транзакций и откаты

Sql в коммерческих реализациях

1979 - Oracle (Relation Software Inc.- Oracle corp.;

1981-1982 - DB2 (IBM), Ingres - CA-OpenIngres (Relation Technology Inc. - Computer Associates)

1984 - Informix (Informix Sofrware);

1986 - Sybase (Sybase Corp.)

  • Реализован во всех коммерческих реляционных СУБД

  • Все фирмы провозглашают соответствие стандарту SQL

  • Реализованные диалекты очень близки

  • Путь "сверху вниз" - уточнение и упрощение SQL System R

  • Путь "снизу вверх" - от диалектов реализации различных фирм (наращивание возможностей, обычное отсутствие полного описания языка)

Стандартизация sql

  • Все фирмы провозглашают соответствие стандарту SQL

  • Реализованные диалекты очень близки

  • Деятельность началась одновременно с появлением первых коммерческих реализаций

  • В качестве стандарта нельзя было использовать SQL System R(не было технической проработки, слишком сложно реализовать)

  • Нельзя было принять за стандарт коммерческий диалект (слишком различались)

Международный стандарт 1989 г.

  • Во многих частях имеет чрезвычайно общий характер и допускает очень широкое толкование

  • Отсутствуют важные разделы (манипулирование схемой БД, динамический SQL, многое определяется в реализации)

  • Наибольшие достижения (стандартизация синтаксиса и семантики операторов выборки и манипулирования данными, фиксация средств ограничений целостности БД: определение первичного и внешнего ключей отношений, проверочные ограничения целостности)

Международный стандарт 1992 г. (sql2)

  • Расширено манипулирование таблицами (Alter table, Drop table)

  • Манипулирование схемой БД (Users, Tables, Views, Columns, Domains, Table_priveleges, Table_constraints, , , )

  • Возможность управления доменами (Create domain имя char(25) . . .и при определении имен столбцов эти имена определяются через имена доменов)

  • Новые типы данных (Date, Time, Datetime, . . .) и новые функции

  • Управление транзакциями и сессиями (сессия - последовательность транзакций, в пределах которой сохраняются временные отношения)

  • Подключение к БД

  • Развитие динамического SQL

В 1995 г. стандарт был дополнен спецификацией интерфейса уровня вызова (Call-Level Interface - SQL/CLI). SQL/CLI представляет собой набор спецификаций интерфейсов процедур, вызовы которых позволяют выполнять динамически задаваемые операторы SQL. По сути дела, SQL/CLI представляет собой альтернативу динамическому SQL и послужил основой для создания повсеместно распространенных сегодня интерфейсов ODBC (Open Database Connectivity) и JDBC (Java Database Connectivity).

В 1996 г. к стандарту SQL/92 был добавлен еще один компонент - SQL/PSM (Persistent Stored Modules). Основная цель этой спецификации состоит в том, чтобы стандартизировать способы определения и использования хранимых процедур, т. е. специальным образом оформленных программ, включающих операторы SQL, которые сохраняются в базе данных, могут вызываться приложениями и выполняются внутри СУБД.

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