русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оператор CREATE TABLE

Оператор CREATE TABLE создает таблицу в базе данных. Синтаксис оператора CREATE TABLE выглядит так:

CREATE TABLE {таблица}
(
{поле1} {тип данных} [IDENTITY] [NOT NULL]
[DEFAULT {значение по умолчанию}]
[{ограничение поля}],
{поле2} {тип данных} [NOT NULL]
[DEFAULT {значение по умолчанию}]
[{ограничение поля}],
...
CONSTRAINT {ограничения таблицы}
)

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

Конструкция NOT NULL используется для запрещения возможности ввода в поле пустых значений. Следует отличать пустое значение NULL, ноль, пробел и символьную строку нулевой длины. Пустое значение NULL показывает, что в поле не были введены какие-либо данные. Обычно пустое значение свидетельствует о том, что значение неизвестно или не определено. В целом, следует избегать возможности хранения пустых значений, так как они усложняют обработку запросов и обновлений. Если для поля разрешены пустые значения, то пустое значение может оказаться в поле в трех случаях: если при добавлении записи не указано значение для этого поля или значению поля присвоено значение NULL при выполнении запроса UPDATE или значению поля присвоено значение NULL при вводе данных. Если для поля пустые значения запрещены, то при добавлении данных в таблицу для поля должно быть указано какое-либо значение, в противном случае запись не будет добавлена в таблицу.

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

Для указания поля или полей, являющихся первичным ключом таблицы, используется ограничение PRIMARY KEY. В таблице может быть лишь одно ограничение PRIMARY KEY, причем поля, входящие в первичный ключ, не допускают ввода пустых значений. Существует два способа создания ограничения PRIMARY KEY - как ограничения одного поля (если первичный ключ простой) или как ограничения таблицы (если первичный ключ простой или составной). Синтаксис применения ограничения PRIMARY KEY, как ограничения одного поля, выглядит так:

{поле} {тип данных} PRIMARY KEY, ...

Синтаксис применения ограничения PRIMARY KEY, как ограничения таблицы, выглядит так:

CONSTRAINT {имя ключа} PRIMARY KEY ({поле1}, {поле2}, ...)

Ограничение UNIQUE позволяет запретить ввод повторяющихся значений в поле или поля, не участвующие в формировании первичного ключа. Основное отличие ограничения UNIQUE от PRIMARY KEY состоит в том, что для одной таблицы допускается более одного ограничения UNIQUE, в то время как ограничение PRIMARY KEY может быть лишь одно. Существует два способа создания ограничения UNIQUE - как ограничения одного поля или как ограничения таблицы. Синтаксис применения ограничения UNIQUE, как ограничения одного поля, выглядит так:

{поле} {тип данных} UNIQUE, ...

Синтаксис применения ограничения UNIQUE, как ограничения таблицы, выглядит так:

CONSTRAINT {имя ключа} UNIQUE ({поле1}, {поле2}, ...)

Для указания поля или полей, используемых для создания связи между двумя таблицами, используется ограничения FOREIGN KEY. Это поле или поля должны содержать значения или первичного ключа из второй таблицы, или поля (полей) с ограничением UNIQUE. В таблице может быть несколько ограничений FOREIGN KEY. Поля с ограничением FOREIGN KEY могут содержать пустые значения. Внешний ключ может также ссылаться на поля этой же таблицы. Существует два способа создания ограничения FOREIGN KEY - как ограничения одного поля или как ограничения таблицы. Синтаксис применения ограничения FOREIGN KEY, как ограничения одного поля, выглядит так:

{поле} {тип данных} FOREIGN KEY
REFERENCES {вторая таблица} ({поле во второй таблице})
ON DELETE {опция внешнего ключа}, ...

Синтаксис применения ограничения FOREIGN KEY, как ограничения таблицы, выглядит так:

CONSTRAINT {имя ключа} FOREIGN KEY ({поле1}, {поле2}, ...)
REFERENCES {вторая таблица} ({поле1 во второй таблице}, ...)
ON DELETE {опция внешнего ключа}

Возможные опции внешнего ключа, определяющие, что происходит при удалении записи, имеющей связанные записи:

  • NO ACTION - удаление завершается ошибкой.
  • CASCADE - связанные записи также удаляются.
  • SET NULL - в связанных записях поля внешнего ключа получают значение NULL.
  • SET DEFAULT - в связанных записях поля внешнего ключа получают значение по умолчанию.

Ограничение CHECK используется для ограничения значений, которые разрешено ввести в поле. Этим оно похоже на ограничение FOREIGN KEY.

Отличие заключается в способе определения допустимых значений. Ограничение FOREIGN KEY получает список допустимых значений из другой таблицы, а ограничение CHECK определяет их на основе логического выражения. К одному полю разрешается применить несколько ограничений CHECK, которые проверяются в порядке их создания. Можно также создать ограничение CHECK для нескольких полей, если определить его на уровне таблицы. Синтаксис применения ограничения CHECK, как ограничения одного поля, выглядит так:

{поле} {тип данных} CHECK ({условие}), ...

Синтаксис применения ограничения CHECK, как ограничения таблицы, выглядит так:

CONSTRAINT {имя ограничения} CHECK ({условие})

Просмотров: 2283

Вернуться в оглавление:Введение в разработку распределенных информационных систем




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.