Язык реляционных баз данных SQL

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

Юридическим и фактическим стандартом стал язык SQL (Structured Query Language – «язык структурированных запросов»).

 

SQL представляет собой некоторую комбинацию реляционного исчисления кортежей и реляционной алгебры, и был разработан в середине 70-х годов в компании IBM в рамках проекта экспериментальной реляционной СУБД System R. Деятельность по стандартизации SQL началась практически одновременно с появлением его первых коммерческих реализаций. В 1986 г. был принят стандарт ANSI, а в 1987 г. Этот стандарт был одобрен международной организацией по стандартизации (ISO). Время от времени выпускается пересмотренная версия этого стандарта; наиболее свежее обновление было выпущено в 2008 г.

Формальное название стандарта SQL – ISO/IEC 9075 «Database Language SQL».

Несмотря на наличие международного стандарта, многие производители СУБД вносят изменения в язык SQL, тем самым отступая от стандарта. В результате у разных производителей СУБД в ходу разные диалекты SQL, в общем случае между собой несовместимые. В настоящее время проблема совместимости решается так: описание языка имеет модульную структуру, основная часть стандарта вынесена в раздел «SQL/Foundation», все остальные выведены в отдельные модули, остался только один уровень совместимости – «Core», что означает поддержку этой основной части. Поддержка остальных возможностей оставлена на усмотрение производителей СУБД.

 

 

Все операторы, составляющие основу SQL с момента его появления, можно разделить на следующие группы:

· операторы определения данных (Data Definition Language – DDL)

o CREATE создает объект базы данных

o ALTER изменяет объект

o DROP удаляет объект

o

· операторы манипуляции данными (Data Manipulation Language – DML)

o SELECT считывает данные, удовлетворяющие заданным условиям

o INSERT добавляет новые данные

o UPDATE изменяет существующие данные

o DELETE удаляет данные

o

· операторы определения доступа к данным (Data Control Language – DCL)

o GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом

o REVOKE отзывает ранее выданные разрешения

o DENY задает запрет, имеющий приоритет над разрешением

o

· операторы управления транзакциями (Transaction Control Language – TCL)

o COMMIT применяет транзакцию.

o ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции.

o SAVEPOINT делит транзакцию на более мелкие участки.

Чтобы справиться с текущей нагрузкой, которую создают более 800 миллионов пользователей социальной сети, Facebook оперирует четырьмя тысячами экземпляров MySQL (при этом очень активно используется разделение данных на уровне ресурсов ), параллельно задействовано девять тысяч инсталляций. Реляционная БД для этого не предназначена, поэтому используются новые технологии NoSQL

 









Дата добавления: 2017-12-05; просмотров: 663;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.