Общие сведения об истории создания и стандартах SQL
Четкая стандартизация синтаксиса и семантики операторов выборки и манипулирования информацией - наиболее важное достижение стандарта SQL-89. Средства определения внешних ключей - инструмент формулирования требований целостности базы данных по ссылкам.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 28.05.2021 |
Размер файла | 18,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Общие сведения об истории создания и стандартах SQL
Язык SQL был создан в начале 70-х годов в результате исследовательского проекта IBM, целью которого было создание языка манипуляции реляционными данными. Работа была начата сразу после появления статьи Э. Кодда в 1970 г. в лабораториях компании IBM для проверки возможностей реляционной модели. Первоначально он назывался SEQUEL (Structured English Query Language), затем - SEQUEL/2, а затем - просто SQL.
Вскоре появилась СУБД System R - экспериментальная исследовательская система с языком SEQUEL (позже SQL), созданная IBM. Затем появились многочисленные СУБД с SQL среди них:
- Oracle (Relation Software Inc. - Oraclecorp.;
1981-1982 - DB2 (IBM), Ingres - CA-OpenIngres (Relation Technology Inc. - Computer Associates)
- Informix (Informix Sofrware);
- Sybase (Sybase Corp.)
Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации). Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя разные другие особенности в этот язык, которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами «рынка» сами по себе в силу полезности своих качеств не изобретался ANSI. Это по существу изобретение IBM. Но другие компании подхватили SQL сразу же, по крайней мере одна компания (Oracle) отбила у IBM право на рыночную продажу SQL продуктов.
Первый международный стандарт был принят в 1989 г., и соответствующая версия языка называется SQL-89. Стандарт SQL-89 во многих частях имеет чрезвычайно общий характер и допускает очень широкое толкование. В этом стандарте полностью отсутствуют такие важные разделы, как манипулирование схемой БД и динамический SQL. Многие важные аспекты языка в соответствии со стандартом определяются в реализации.
Возможно, наиболее важными достижениями стандарта SQL-89 являются четкая стандартизация синтаксиса и семантики операторов выборки и манипулирования данными и фиксация средств ограничения целостности БД, включающих возможности определения первичного и внешних ключей отношений и так называемых проверочных ограничений целостности, позволяющих сформулировать условие для каждой отдельной строки таблицы. Средства определения внешних ключей позволяют легко формулировать требования так называемой целостности БД по ссылкам. Формулировка ограничений целостности на основе понятия внешнего ключа проста и понятна.
Осознавая неполноту стандарта SQL-89, на фоне завершения разработки этого стандарта специалисты различных фирм начали работу над стандартом SQL2. Эта работа также длилась несколько лет, было выпущено несколько проектов стандарта, пока, наконец, в марте 1992 г. не был выработан окончательный проект стандарта (после чего стандарт и соответствующий язык стали называть SQL-92). Этот стандарт существенно более полный и охватывает практически все необходимые для реализации аспекты: манипулирование схемой БД, управление транзакциями и сессиями (сессия - это последовательность транзакций, в пределах которой сохраняются временные отношения), подключение к БД, динамический SQL. Наконец стандартизованы отношения-каталоги БД, что вообще-то не связано с языком непосредственно, но очень сильно влияет на реализацию. Заметим, что в стандарте представлены три уровня языка - базовый, промежуточный и полный. В течение нескольких лет после принятия стандарта производители СУБД, утверждавшие совместимость своих продуктов со стандартом, на самом деле в лучшем случае поддерживали промежуточный уровень языка SQL-92 (естественно, с собственными расширениями). Только в последних выпусках СУБД ведущих производителей обеспечивается совместимость с полным вариантом языка. Наконец, одновременно с завершением работ по определению стандарта SQL-92 была начата разработка стандарта SQL3. В конце 2003 г. был принят и опубликован новый вариант международного стандарта SQL:2003.
Ниже указан анализ основных аспектов стандартов SQL.
Международный стандарт 1989 г.
Во многих частях имеет чрезвычайно общий характер и допускает очень широкое толкование. Отсутствуют важные разделы (манипулирование схемой БД, динамический SQL, многое определяется в реализации).
Наибольшие достижения (стандартизация синтаксиса и семантики операторов выборки и манипулирования данными, фиксация средств ограничений целостности БД: определение первичного и внешнего ключей отношений, проверочные ограничения целостности)
Международный стандарт 1992 г. (SQL2)
Расширено манипулирование таблицами (Altertable, Droptable), манипулирование схемой БД (Users, Tables, Views, Columns, Domains, Table_priveleges, Table_constraints,).
Добавлены:
- возможность управления доменами (Create domain имя char(25)… и при определении имен столбцов эти имена определяются через имена доменов);
- управление транзакциями и сессиями (сессия - последовательность транзакций, в пределах которой сохраняются временные отношения);
- развитие динамического 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, которые сохраняются в базе данных, могут вызываться приложениями и выполняются внутри СУБД.
Стандарт SQL: 1999 (SQL3)
Незадолго до завершения работ по определению стандарта SQL2 была начата разработка стандарта SQL3. Реально работу над новым стандартом удалось частично завершить только в 1999 г., и по этой причине (а также в связи с проблемой 2000 года) стандарт получил название SQL:1999 г. были приняты пять первых частей стандарта SQL:1999. Первая часть (SQL/Framework) посвящена описанию концептуальной структуры стандарта: приводится развернутая аннотация следующих четырех частей.
Вторая часть SQL:1999 (SQL/Foundation) образует базис стандарта. Вводится система типов языка, формулируются правила определения функциональных зависимостей и возможных ключей, определяются синтаксис и семантика основных операторов SQL:
- операторов определения и манипулирования схемой базы данных;
- операторов манипулирования данными;
операторов управления транзакциями (расширенные модели транзакций, контрольные точки, многозвенные транзакций);
- операторов управления подключениями к базе данных и т.д.
Третью часть занимает уточненная по сравнению с SQL/92 спецификация SQL/CLI. В четвертой части специфицируется SQL/PSM - синтаксис и семантика языка определения хранимых процедур (стандарт синтаксиса триггеров и процедур). Наконец, в пятой части - SQL/Bindings - определяются правила связывания SQL для стандартных версий языков программирования FORTRAN, COBOL, PL/1, Pascal, Ada, C и MUMPS.
В стандарт SQL: 1999 не вошли и существуют в виде отдельных стандартов:
- стандарт управления распределенными транзакциями (SQL/Transaction);
- стандарт поддержки темпоральных свойств данных (SQL/Temporal);
- стандарт управления внешними данными (SQL/MED);
- поддержка оперативной аналитической обработки (SQL/OLAP).
На рисунке 1 тезисно представлена история развития SQL.
синтаксис стандартизация ссылка
Рис. 1
Размещено на Allbest.ru
...Подобные документы
Анализ реляционных баз данных и способов манипулирования ими. Основные понятия баз данных, архитектура СУБД, модели данных. Модель сущность-связь, характеристика связей, классификация сущностей, структура первичных и внешних ключей, целостности данных.
курсовая работа [166,6 K], добавлен 18.07.2012Преимущества и недостатки иерархической модели данных. Целостная часть реляционной модели данных. Базовые требования целостности сущностей и по ссылкам. Ограничения целостности сущности и по ссылкам. Аксиомы Армстронга, аномалии обновления и их виды.
контрольная работа [262,3 K], добавлен 05.02.2011Внутренний язык СУБД для работы с данными. Результат компиляции DDL-операторов. Описание DML-языка, содержащего набор операторов для поддержки основных операций манипулирования содержащимися в базе данными. Организация данных и управление доступом в SQL.
лекция [131,0 K], добавлен 19.08.2013Структура базы Store.dbf, Design.dbf. Получение внешних данных в Ms Excel. Сортировка по полю naim. Диалоговое окно MS-Query с заполненным критерием выборки. Работа со сводной таблицей, особенности её создания. Итоговая сводная таблица, текст запроса SQL.
курсовая работа [1,9 M], добавлен 23.11.2011Основные виды баз данных. Система управления базами данных. Анализ деятельности и информации, обрабатываемой в поликлинике. Состав таблиц в базе данных и их взаимосвязи. Методика наполнения базы данных информацией. Алгоритм создания базы данных.
курсовая работа [3,1 M], добавлен 17.12.2014Построение информационной модели наиболее высокого уровня абстракции. Вид и содержание концептуальной модели базы данных. Установление связей между типами сущностей. Спецификация всех объектов, входящих в модель. Средства обеспечения целостности данных.
курсовая работа [2,6 M], добавлен 12.12.2011- Анализ, разработка и реализация базы данных встраиваемого модуля информационной системы IP-телефонии
Анализ предметной области. Проектирование диаграммы "сущность-связь" в Enterprise Architect. Общие сведения о базовых запросах. Создание базы данных в MySQL. Выделение сущностей, атрибутов, ключей, связей. Применение табличных и скалярных функций.
курсовая работа [1,8 M], добавлен 28.01.2016 Работа с хранящейся в базах данных информацией. Язык описания данных и язык манипулирования данными. Распространение стандартизованных языков. Структурированный язык запросов SQL. Язык запросов по образцу QBE. Применение основных операторов языка.
презентация [76,2 K], добавлен 14.10.2013Общие сведения об истории создания и стандартах SQL: международный стандарт 1989 г., 1992 г. (SQL2), стандарт SQL: 1999 (SQL3). Интерактивный и вложенный SQL. Cубподразделения SQL. Структурированный язык запросов для создания и изменения таблиц.
реферат [41,8 K], добавлен 14.10.2011Изучение функций автоматизированных банков данных. Общие принципы описания, хранения и манипулирования данными. Анализ требований к базам данных. Файл-серверная и клиент-серверная архитектура БД. Преимущества введения системы управления базами данных.
презентация [91,5 K], добавлен 13.08.2013Выявление информационных объектов баз данных и требований целостности к данным. Построение результирующей ER диаграммы. Даталогическое проектирование и разработка сценариев работы информационной системы. Выбор средства реализации клиентского приложения.
курсовая работа [2,7 M], добавлен 28.08.2012Обследование предметной области. Проектирование реляционной базы данных: описание входной и выходной информации, перечень сущностей и атрибутов, создание модели, выбор ключей. Разработка и обоснование представлений для отображения результатов выборки.
курсовая работа [539,0 K], добавлен 12.12.2011Рассмотрение особенностей структурной и целостной частей реляционной модели базы данных, их функции. Знакомство с основными этапами разработки стратегии поддержания ссылочной целостности. Общая характеристика способов манипулирования реляционными данными.
курсовая работа [565,8 K], добавлен 25.04.2013Разработка и программная реализация сайта и базы данных, наполнение базы данных тестовой информацией о товарах. Инструментальные средства создания сайта. Организация тестирования сайта, модуль визуализации интерфейса. Создание запросов в базе данных SQL.
курсовая работа [1,4 M], добавлен 24.12.2012Изучение и анализ функциональных возможностей СУБД. Структура языка реляционных БД SQL (Structured Query Language). Типы данных SQL. Операторы DDL - операторы определения объектов базы данных. Примеры использования операторов манипулирования данными.
курсовая работа [39,6 K], добавлен 21.07.2012Основные подходы к организации данных в системах автоматизированной обработки информации. Требования к проектированию базы данных. Принципы включения операторов языка манипулирования данными в прикладную программу. Описание логической структуры БД.
реферат [104,2 K], добавлен 28.11.2011Информационные задачи и круг пользователей системы. Выработка требований и ограничений. Разработка проекта базы данных. Программная реализация проекта базы данных. Разработка хранимых процедур для поддержки сложных ограничений целостности в базе данных.
курсовая работа [706,2 K], добавлен 17.06.2012Характеристика основных этапов создания программной системы. Сведения, хранимые в базе данных информационной системы музея. Описание данных, их типов и ограничений. Проектирование базы данных методом нормальных форм. Технические и программные средства.
курсовая работа [1,8 M], добавлен 23.01.2014Базы данных (БД) и системы управления базами данных (СУБД) как основы современной информационной технологии, их роль в хранении и обработке информации. Этапы реализации БД, средств ее защиты и поддержки целостности. Протоколы фиксации и отката изменений.
презентация [364,2 K], добавлен 22.10.2013Понятие и структура хранилища данных, его составные элементы и назначение. Технологии управления информацией. Методика создания базы данных и составления ее схемы, пользовательские формы, структура и содержание таблиц. Программная реализация базы данных.
дипломная работа [1,4 M], добавлен 13.04.2010