Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание таблиц. Инструкция create table. Определение столбцов. Предложения primary KEY и foreign KEY.






ИНСТРУКЦИЯ CREATE TABLE

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

Создание таблицы базы данных осуществляется оператором

Определение столбцов

Определения столбцов представляют собой заключенный в скобки список, элементы которого отделены друг от друга запятыми:

· столбец − имя столбца, которое используется для ссылки на столбец в инструкциях SQL. Каждый столбец в таблице должен иметь уникальное имя, но в разных таблицах имена столбцов могут совпадать;

· тип данных – показывает, данные какого вида хранятся в столбце;

· домен − имя домена, т. е. ранее описанного типа столбца;

· DEFAULT − определяет значение, которое по умолчанию заносится в столбец, ассоциированный с доменом, при создании записи таблицы;

· NOT NULL - указывает на то, что столбец обязательно должно содержать значение.

Предложения P R I M A R Y K E Y и F O R E I G N K E Y

Кроме определений столбцов таблицы, в инструкции CREATE TABLE указывается информация о первичном ключе таблицы и ее связях с другими таблицами базы данных. Эта информация содержится в предложениях PRIMARY KEY и FOREIGN KEY.

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

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

· CONSTRAINT определяет необязательное имя отношения; оно не используется в инструкциях SQL, но может появляться в сообщениях об ошибках и потребуется в дальнейшем, если будет необходимо удалить внешний ключ;

· список столбцов внешнего ключа − определяет столбцы дочерней таблицы, по которым строится внешний ключ; столбец или столбцы создаваемой таблицы, которые образуют внешний ключ;

· имя таблицы‐ предка − определяет таблицу, в которой описан первичный ключ. На этот ключ должен ссылаться внешний ключ дочерней таблицы для обеспечения ссылочной целостности; таблица, связь с которой создает внешний ключ; это таблица-предок, а определяемая таблица в данном отношении является потомком;

· список столбцов таблицы‐ предка − необязателен при ссылке на первичный ключ родительской таблицы;

· ON DELETE или ON UPDATE − определяют способы изменения подчиненных записей дочерней таблицы при удалении или изменении поля связи в записи родительской таблицы.

(Перечислим эти способы: ²

NO ACTION − запрет удаления/изменения родительской записи при наличии подчиненных записей в дочерней таблице; ²

CASCADE − для оператора ON DELETE: при удалении записи родительской таблицы происходит удаление подчиненных записей в дочерней таблице; для оператора ON UPDATE: при изменении поля связи в записи родительской таблицы происходит изменение на то же значение поля внешнего ключа у всех подчиненных записей в дочерней таблице; ²

SET DEFAULT − в поле внешнего ключа у записей дочерней таблицы за- носится значение этого поля по умолчанию, указанное при определении поля (параметр DEFAULT); если это значение отсутствует в первичном ключе, инициируется исключение; ²

SET NULL − в поле внешнего ключа заносится значение NULL)

Когда СУБД выполняет инструкцию CREATE TABLE, она сравнивает определение каждого внешнего ключа с определениями связанных таблиц. СУБД проверяет, соответствуют ли друг другу внешний и первичный ключи в связанных таблицах как по числу столбцов, так и по типу данных. Для того чтобы такая проверка была возможна, связанная таблица уже должна быть определена.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.