Структура языка SQL

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование



Содержание

Введение

1. Краткая история языка SQL

2. Структура языка SQL

3. Типы данных языка SQL

Заключение

Глоссарий

Список использованных источников

Приложение

Введение

Язык SQL (Structured Query Language) относится к языку структурированных запросов. Он также является универсальным компьютерным языком используемым для создания, изменения и управления данными в реляционных базах данных. Не смотря на имеющиеся заблуждения язык SQL является информационно-логическим, а не языком программирования.

Большое количество особенностей SQL, начиная с ранних версий противоречили принципам реляционной модели, основанной Эдгаром Коддом. Вместе с тем спецификация этого языка считается законченной спецификацией модели данных, играющей сегодня роль двойника реляционной модели. На данный момент SQL называют "свободным языком". Интерфейсы на основе SQL поддерживаются практически всеми основными СУБД, причем далеко не все изначально задумывались как реляционные системы (см. приложение А, рисунок 1), и, скорее всего, такое положение вещей не изменится.

Если для рассмотрения отдельно брать сам SQL, то его нельзя считать ни СУБД, ни самостоятельным программным продуктом. Невозможно сходить в магазин и "приобрести SQL". SQL - это обязательная часть СУБД, инструмент организации связи между СУБД и пользователем.

Ядро базы данных является основой СУБД, оно несет ответственность за физическую запись на диск и структурирование данных, а также за физическое считывание данных с диска. Помимо всего этого, оно получает запросы от других составляющих СУБД (а именно генератор форм, генератор отчетов), от пользовательских программ и других вычислительных систем. SQL реализует множество разнообразных функций: интерактивность запросов. Пользователи добавляют операторы SQL в интерактивные программы, предусматривающие чтение и отображение данных на экране.

Программирование баз данных. Для связи с базой данных программисты пишут в своих приложениях команды SQL, Такая функция применяется и в программах, созданных пользователями и в служебных программах (инструменты вода данных и генераторы отчетов).

Администрирование баз данных. В этом случае SQL используется администратором базы данных для установления структуры базы данных и управления доступом к данным.

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

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

Итак, SQL стал мощным и полезным инструментом для людей, программ и вычислительных систем в сфере доступа к информации, находящейся в реляционных базах данных.

1. Краткая история языка SQL

Язык SQL, предназначавшийся для управления базами данных, был создан в середине 70-х годов компанией IBM по проекту пробной реляционной СУБД System-R. Первоначально этот язык носил название SEQUEL (Structured English Query Language), что не полностью объясняло сущность языка. Естественно, язык был в большей степени направлен на удобную и несложную интерпретацию запросов к реляционным базам данных, но на самом деле, он практически с самого начала стал полным языком баз данных, имеющим кроме инструментов формулирования запросов и управления базами данных следующие возможности:

средства определения и управления структурой БД.

средства определения ограничений и единства триггеров,

средства определения представлений БД,

средства определения схем физического уровня, отвечающих за точное выполнение запросов,

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

средства установки точек сохранения транзакций, обеспечения фиксации и откатов транзакций.

В языке не было инструментов для синхронизации доступа к объектам БД от параллельно выполняемых транзакций, то есть подразумевалось, что требуемую синхронизацию обеспечит СУБД.

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

Ближе всех к System-R находились две системы компании IBM - это SQL/DS и DB2. Создатели этих систем применяли опыт проекта System-R, а SQL/DS полностью базировалась на программном коде System-R. Поэтому существует достаточное сходство диалектов SQL, выполненных в этих системах, с SQL System-R. Из SQL System-R были убраны только те элементы, которые были слабо проработаны или исполнение которых влекла за собой очень большие технические проблемы (триггеры и ограничения целостности). Можно считать этот путь движением сверху вниз.

В системах Oracle, Informix и Sysbase использовался иной подход. Несмотря на отличающиеся технологии разработки систем, исполнение SQL всегда происходила "сверху вниз". В начальных версиях данных систем, появившихся на рынке, применялось сокращенное подмножество SQL System-R. В частности, в первоначальном известном выпуске SQL в СУБД Oracle в операторах выборки запрещалось применение вложенных подзапросов и не было возможности формулировки запросов с соединениями нескольких таблиц.

О