Создание таблиц
- Основы создания таблиц
- Работа со значениями NULL
- Определение значений по умолчанию
- Обновление таблиц
- Переименование и удаление таблиц
Работа со значениями NULL
В разделе, "Фильтрация данных", рассказывалось о том, что такое значение NULL. Использование этого значения подразумевает, что в столбце не должно содержаться никакое значение или неизвестно значение, которое должно быть в столбце. Столбец, в котором разрешается присутствие значения NULL, позволяет также добавлять в таблицу строки, в которых не предусмотрено значение для данного столбца. Столбец, в котором не разрешается присутствие значения NULL, не принимает строки с отсутствующим значением. Иными словами, для этого столбца всегда потребуется вводить какое-то значение при добавлении или обновлении строк.
Каждый столбец таблицы может быть или пустым (NULL), или не пустым (NOT NULL), и это его состояние оговаривается в определении таблицы во время ее создания. Рассмотрим следующий пример:
(
order_num INTEGER NOT NULL,
order_date DATETIME NOT NULL,
cust_id CHAR (10) NOT NULL,
)
Посредством этого оператора создается таблица Orders, неоднократно использованная в книге. Таблица Orders состоит из трех столбцов: номер заказа (order number), дата заказа (order date) и идентификатор клиента (customer ID). Все три столбца являются необходимыми, каждый содержит ключевое слово NOT NULL, которое будет препятствовать добавлению в таблицу столбцов с отсутствующим значением. При попытке добавления такого столбца будет возвращено сообщение об ошибке, и добавить такую запись не удастся.
В следующем примере создается таблица, в которой могут быть столбцы обеих разновидностей, NULL и NOT NULL:
(
vend_id CHAR (10) NULL,
vend_name CHAR(50) NOT NULL,
vend_address CHAR (50),
vend_city CHAR(50),
vend_state CHAR(5),
vend_ZIP CHAR(IO),
vend_country CHAR(50)
)
Посредством этого оператора создается таблица Vendors, неоднократно используемая в книге. Столбцы с идентификатором поставщика и именем поставщика необходимы, поэтому оба определены как NOT NULL (т.е. не допускающие значение NULL). Пять остальных столбцов допускают значения NULL, поэтому для них не указано требование NOT NULL. Значение NULL является значением по умолчанию, поэтому, если не указано требование NOT NULL, предполагается разрешение на использование значения NULL.
Указание значения NULL
Во многих СУБД отсутствие ключевых слов not null трактуется как null. Однако не во всех. В СУБД DB2 наличие ключевого слова null является обязательным; если оно не указано, генерируется сообщение об ошибке. Обратитесь к документации своей СУБД, чтобы получить исчерпывающую информацию о синтаксисе.



