Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_po_kursu-Bazy_dannykh-2012-...doc
Скачиваний:
77
Добавлен:
22.11.2019
Размер:
6.51 Mб
Скачать

Создание отношений

Создание нового отношения (таблицы) выполняется с помощью команды DDL CREATE TABLE. Команда CREATE TABLE используется для описания новой таблицы, её атрибутов (полей) и ограничений целостности. Упрощённый синтаксис этой команды:

CREATE TABLE <имя таблицы> ( {<имя поля> <тип данных> [(<размер>)] [<ограничения целостности поля>…]} .,.. [, <ограничения целостности таблицы>.,..] );

Расшифровка элементов описания приведена в табл. 1.

Для обязательных полей устанавливается ограничение not null. Это означает, что при изменении значения этого поля или при добавлении новых записей таблицы это поле должно содержать допустимое значение. Ограничение not null можно наложить на поле только один раз, иначе возникает ошибка.

Таблица 1. Описание команды CREATE TABLE

Элемент

Описание

<имя поля>

Имя поля (столбца) таблицы, обычный идентификатор.

<тип данных>

Тип данных поля. Можно использовать одно из значений:

– INTEGER, INT, SMALLINT – целые числа;

– NUMERIC[(длина [, точность])], DECIMAL[(длина [, точность])] – числа с фиксированной запятой;

– FLOAT, REAL, DOUBLE – вещественные числа;

– CHAR[(длина)], VARCHAR(длина) – символьные строки фиксированной и переменной длины;

– DATE – дата; TIME – время.

<размер>

Размер поля в символах (для текста и чисел).

<ограничения целостности>

Можно использовать следующие ограничения:

– PRIMARY KEY – первичный ключ (обязательный и уникальный);

– UNIQUE – уникальное значение поля в пределах столбца таблицы;

– [NOT] NULL – [не] возможность не указывать значение поля;

– CHECK (<условие>) – проверка условия для поля (полей);

– DEFAULT <выражение> – задание значения поля по умолчанию;

– REFERENCES <имя таблицы> [(<имя столбца>)] – внешний ключ.

<ограничения целостности таблицы>

То же, что и для поля. Дополнительно используется:

FOREIGN KEY [(<список полей>.,..)] REFERENCES <имя таблицы> [(<список полей>)] – внешний ключ.

Команды модификации данных

К командам модификации данных (DML) относятся добавление, удаление и изменение (обновление) кортежа (записи).

INSERT – добавление записи в таблицу. Синтаксис:

INSERT INTO <имя таблицы> [(<имя поля>.,..)] VALUES (<список выражений>) | <запрос>;

Под <запросом> подразумевается команда SELECT (см. ниже), результаты работы которой добавляются в указанную таблицу.

В предложении VALUES указываются выражения, порождающие значения атрибутов новой записи таблицы. Типы значений выражений должны соответствовать типам полей таблицы. Если значения устанавливаются не для всех полей или порядок значений не соответствует тому порядку полей, который был установлен при создании таблицы, то после имени таблицы в скобках приводится список полей в соответствии со списком значений. Если в списке полей не указано обязательное поле таблицы (not null), то ему будет присвоено значение по умолчанию (default), если оно определено в командах CREATE TABLE или ALTER TABLE.

Если в списке значений отсутствует хотя бы одно обязательное поле или нарушаются другие ограничения целостности, например, уникальность значения, то команда INSERT будет отвергнута.

UPDATE – обновление данных в таблице. Синтаксис:

UPDATE <имя таблицы> SET {<имя поля> = <выражение>}.,.. [WHERE <условие>];

Запрос на обновление изменяет в указанной таблице значения указанных полей тех записей, которые удовлетворяют заданному условию отбора (where <условие>). Если условие не указано, обновляются все записи таблицы.

DELETE – удаление записей из таблицы. Синтаксис этой команды:

delete from <имя таблицы> [ where <условие> ];

Внимание! Если не указывать условие выбора записей, то все записи таблицы будут удалены без предупреждения и без запроса на подтверждение!

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]