Инструменты пользователя

Инструменты сайта


create

Базовые таблицы создаются оператором CREATE TABLE:

1. CREATE TABLE <имя таблицы>(<список спецификаций столбцов и ограничений>);

Спецификация столбца включает имя столбца и тип данных значений, которые могут находиться в этом столбце. Кроме того, некоторые ограничения могут быть заданы не только отдельными спецификациями, но и в спецификации столбца. Примерами могут служить ограничения первичного и внешнего ключей (простых, не составных), а также ограничение NOT NULL.

Изучать аспекты языка, имеющие отношение к таблицам, мы будем на примерах таблиц учебных баз данных.

В таблице Product из схемы «Компьютерная фирма» имеется три столбца – maker, model, type все строкового типа данных VARCHAR(N). Чтобы создать эту таблицу мы можем написать следующий оператор:

1. CREATE TABLE Product (maker varchar(10), model varchar(50), type varchar(50));

Значение N указывает максимальное число символов, которое могут содержать данные в данном столбце. VARCHAR является переменным типом, это означает, что если мы зададим значение с числом символов меньше N, то записано на диск будет именно заданное количество символов. Альтернативой служит точный строковый тип CHAR; для него отсутствующие символы дополняются пробелами справа, т.е. на диск будет всегда записано N символов.

Если значение N не указано, то по умолчанию подразумевается 1, т.е. один символ.

Как только таблица создана, в нее могут быть помещены данные с помощью оператора INSERT. Сделаем это:

1.    INSERT INTO product VALUES
2.    ('A',    '1232',    'PC'),
3.    ('A',    '1232',    'Printer'),
4.    (NULL,    NULL,    NULL);

Данные успешно вставлены, но какие-то они неправильные. Во-первых, непонятно чем является модель 1232 – принтером или ПК? Во-вторых, имеется у нас еще одна модель, о которой вообще ничего неизвестно.

Здесь следует сделать небольшое отступление, чтобы сказать о том, что, создавая таблицы, мы создаем реляционную модель предметной области. Нашей предметной областью является учет товаров в компьютерной фирме. Чтобы модель данных была адекватна предметной области, требуется так спроектировать таблицы, чтобы то, что происходит с объектами в реальном мире, могло быть отражено в модели, а то, чего не может быть в предметной области, не должно иметь места и в модели.

Итак, в реальном мире модель не может быть одновременно и принтером, и ПК, а у нас это получилось. И тут мы приходим к понятиюцелостности данных и ее реализации посредством ограничений.

Источник

create.txt · Последнее изменение: 2021/01/30 23:16 — dja