Компьютерная реализация БД определяется языками описания (ЯОД) и манипулирования данными (ЯМД). Они могут базироваться на реляционной алгебре (процедурные языки), реляционном исчислении кортежей (SQL) и доменов (QBE Query By Example) (декларативные языки).
Язык структурированных запросов SQL предназначен для доступа к информации и управления реляционной БД. Он является общим при работе c различными базами данных, такими как Oracle, Microsoft SQL Server, Informix, DB2, Access, MySQL.
Все СУБД, претендующие на название «реляционные», реализуют тот или иной диалект SQL: SQL*Plus корпорации Oracle; Transact-SQL для СУБД Microsoft SQL Server и др. В диалектах язык может быть дополнен операторами процедурных языков программирования.
В настоящее время, ни одна система не реализует стандарт SQL в полном объеме. Кроме того, во всех диалектах языка имеются возможности, не являющиеся стандартными. Таким образом, можно сказать, что каждый диалект – это надмножество некоторого подмножества стандарта SQL.
Язык SQL определяет:
· операторы языка, называемые командами языка SQL;
· типы данных;
· набор встроенных функций.
Выделяют две разновидности языка SQL интерактивный и вложенный. Интерактивный SQL позволяет конечному пользователю в интерактивном режиме выполнять SQL-операторы. Все СУБД предоставляют инструментальные средства для работы с базой данных в интерактивном режиме. Вложенный SQL позволяет включать операторы SQL в код программы на другом языке программирования, например, С++.
В интерактивном языке SQL можно выделить три раздела:
1. DDL (Data Definition Language) – это язык определения данных, который включает операторы, управляющие объектами базы данных. К последним относятся таблицы, индексы, представления. Для каждой конкретной базы данных существует свой набор объектов базы данных, который может значительно расширять набор объектов, предусмотренный стандартом.
- CREATE DATABASE – создать базы данных;
- DROP DATABASE – удалить базу данных;
- CREATE TABLE – создать таблицу;
- ALTER TABLE – изменить таблицу;
- DROP TABLE – удалить таблицу;
- CREATE VIEW – создать представление;
- DROP VIEW – удалить представление.
2. DML (Data Manipulation Language) – язык манипулирования данными:
- SELECT – отобрать строки из таблиц;
- INSERT – добавить строки в таблицу;
- UPDATE – изменить строки в таблице;
- DELETE – удалить строки в таблице;
3. DCD (Data Control Language) – язык управления данными состоит из операторов контроля данных, защиты и управления данными:
- COMMIT – зафиксировать внесенные изменения;
- ROLLBACK – откатить внесенные изменения.
- GRANT – предоставить привилегии пользователю или приложению на манипулирование объектами;
- REVOKE – отменить привилегии пользователя или приложения.