Язык 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