Язык SQL. Определение данных.
SQL не является полноценной реализацией реляционной модели . SQL является стандартным реляционным языком и поддерживается всеми продуктами БД.
Все операторы SQL делятся на 3 группы:
DDL (Data Definition Language) – создание и удаление объектов данных (модификация).
CREATE TABLE создать, DROP TABLE удалить, ALTER TABLE изменить
DML (Data Manipulation Language) – язык манипулирования (изменения)
SELECT выборка, INSERT добавление, DELETE удаление, UPDATE изменение
DLC (Data Language Control) – язык управления данными
Управление правами, операторы работы с транзакциями
Язык SQL является типизированным: данные принадлежат какому-нибудь типу.
Ограничения:
· PRIMARY KEY
· UNIQUE
· NOT NULL
· FOREIGN KEY
· DEFAULT
· CHECK
Определение поля: Имя_поля Тип_ данных [ограничение]
Пример (определение БД поставщиков и деталей из книги Дейта)
CREATE TABLE S (
S CHAR(5),
SNAME CHAR(20),
STATUS NUMERIC(5),
CITY CHAR(15),
PRIMARY KEY(S) );
CREATE TABLE P (
P CHAR(6),
PANME CHAR(20),
COLOR CHAR(6),
WEIGHT(5,1),
CITY CHAR(15),
PRIMARY KEY(P) );
CREATE TABLE SP (
S CHAR(5),
P CHAR(6),
QTY NUMERIC(9),
PRIMARY KEY (S,P),
FOREIGN KEY (S) REFERENCES S,
FOREIGN KEY (P) REFERENCES P ) ;
В SQL только встроенные типы, определяемых пользователем нет (кроме доменов):
CHARACTER [] (n), BIT [] (n), NUMERIC (p,q), DECIMAL (p,q), INTEGER, SMALLINT, FLOAT (p), DATE, TIME, TIMESTAMP, INTERVAL