Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории, например, вместо «отношений» используются «таблицы», вместо «кортежей» — «строки», вместо «атрибутов» — «колонки» или «столбцы».
Стандарт языка SQL, хотя и основан на реляционной теории, но во многих местах отходит он нее. Например, отношение в реляционной модели данных не допускает наличия одинаковых кортежей, а базовые таблицы в терминологии SQL могут иметь одинаковые строки.
Домены в SQL далеки от настоящих реляционных доменов. Единственная цель доменов в SQL – обеспечить возможность один раз определить элементарную спецификацию типа данных, а затем использовать ее для нескольких столбцов в некоторых базовых таблицах.
Язык SQL является реляционно полным. Это означает, что любой оператор реляционной алгебры может быть выражен подходящим оператором SQL.
Среди основных операторов языка SQL можно выделить три основные гуппы:
1) Операторы DDL (Data Definition Language) — операторы определения объектов базы данных
CREATE Domain ; CREATE TABLE – создать;
ALTER Domain ; ALTER TABLE – изменить;
DROP Domain ; DROP TABLE – удалить.
2) Операторы DML (Data Manipulation Language) — операторы манипулирования данными
SELECT — отобрать строки из таблиц
INSERT — добавить строки в таблицу
UPDATE — изменить строки в таблице
DELETE — удалить строки в таблице
COMMIT — зафиксировать внесенные изменения
ROLLBACK — откатить внесенные изменения
3) Операторы защиты и управления данными
CREATE ASSERTION — создать ограничение
DROP ASSERTION — удалить ограничение
GRANT — предоставить привилегии пользователю или приложению на манипулирование объектами
REVOKE — отменить привилегии пользователя или приложения
Пример 1. Вставка одной строки в таблицу:
INSERT INTO P (PNUM, PNAME)
VALUES (4, «Иванов»);
Пример 2. Обновление нескольких строк в таблице:
UPDATE P SET PNAME = «Пушников»
WHERE P.PNUM = 1;
Пример 3. Удаление нескольких строк в таблице:
DELETE FROM P WHERE P.PNUM = 1;
Пример 4. Выбрать некоторые колонки из исходной таблицы:
SELECT P.NAME FROM P;
Язык SQL. Домены, базовые таблицы. Обработка данных.
06 Фев, 2009
