loading..
Русский    English
01:32
листать

Создание базовых таблиц

Базовые таблицы создаются оператором 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 – принтером или ПК? Во-вторых, имеется у нас еще одна модель, о которой вообще ничего неизвестно.

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

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

Bookmark and Share
Тэги:
ALL AND AUTO_INCREMENT AVG battles CASE CAST CHAR CHARINDEX CHECK classes COALESCE Convert COUNT CROSS APPLY CTE DATEADD DATEDIFF DATENAME DATEPART DATETIME DDL DEFAULT DELETE DISTINCT DML EXCEPT EXISTS EXTRACT FROM FULL JOIN GROUP BY Guadalcanal HAVING IDENTITY IN INNER JOIN insert INTERSECT IS NOT NULL ISNULL laptop LEFT LEFT OUTER JOIN LEN maker MAX MIN MONTH MySQL Больше тэгов
Учебник обновлялся
несколько дней назад
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.
Rambler's Top100