Читайте также:
|
|
БАЗЫ ДАННЫХ И ЭКСПЕРТНЫЕ СИСТЕМЫ
ЛЕКЦИЯ 6
12 октября 2015 года
<ограничение таблицы>:: =
[CONSTRAINT <имя ограничения>]
{[{PRIMARY KEY | UNIQUE}
{(<имя столбца> [, …, <имя столбца>])}]
| FOREIGN KEY [(<имя столбца> [, …, <имя столбца>])]
REFERENCES <внешняя таблица> [(<имя столбца> [, …, <имя столбца>])]
[ON DELETE {CASCADE | NO ACTION}]
[ON UPDATE {CASCADE | NO ACTION}]
| CHECK (<логическое выражение>)}
Пример 1:
CREATE TABLE t1
(pk number PRIMARY KEY, // первичный ключ состоит из одного поля
c1 number, // создание двух столбцов
c2 number,
CONSTRAINT ck1 CHECK (pk > 0 and c1 > 0),
CONSTRAINT ck2 CHECK (c2 > 0)
Пример 2:
CREATE TABLE t2
(f1 varchar (20)
c5 number (6)
c6 number (10)
CONSTRAINT cl PRIMARY KEY (c5, c6))
Оператор изменения структуры таблицы
ALTER TABLE <имя таблицы>
{ADD | MODIFY
<имя столбца> <тип данных> [DEFAULT <выражение>]
[<ограничение столбца>] [, …, <ограничение столбца>]}
| {DROP COLUMN <имя столбца> | CONSTRAINT <имя ограничения>}
| {ADD | DROP <ограничение таблицы>}
Команда ALTER TABLE может:
· ADD – добавить новый столбец (обязательно с каким-нибудь типом данных), ограничение с каким-нибудь типом столбца, ограничение таблицы
· MODIFY – изменить тип данных столбца, значение по умолчанию, ограничение
· DROP – удалить столбец, ограничение столбца или таблицы
Пример 1 (добавление столбца):
ALTER TABLE t1 ADD new_field varchar (10) // указание типа данных для столбца обязательно
Пример 2 (переопределение типа данных):
ALTER TABLE t1 MODIFY new_field numeric
Пример 3 (назначение значения по умолчанию):
ALTER TABLE t1 MODIFY new_field numeric DEFAULT 10
Пример 4 (сделать значения в столбцы обязательными к заполнению):
ALTER TABLE t1 MODIFY new_field NOT NULL
Пример 5 (сделать проверку на ввод значений в столбец new_field):
В1: ALTER TABLE t1 MODIFY new_field CONSTRAINT c1 CHECK (new_field > 0) // как свойство столбца
В2: ALTER TABLE t1 ADD CONSTRAINT c1 CHECK (new_field > 0) // как свойство таблицы
Пример 6 (удаление ограничения таблицы):
ALTER TABLE t1 DROP CONSTRAINT c1
Пример 7 (создание первичного ключа и удаление ограничения таблицы):
В1:
ALTER TABLE t1 MODIFY new_field CONSTRAINT c2 PRIMARY KEY // CONSTRAINT может быть опущено
ALTER TABLE t1 DROP CONSTRAINT c2 // по названию
ALTER TABLE t1 DROP PRIMARY KEY // по сути
B2:
ALTER TABLE t1 ADD CONSTRAINT c3 PRIMARY KEY (new_field)// ограничение таблицы
ALTER TABLE t1 DROP PRIMARY KEY
Пример 8 (удаление столбца):
ALTER TABLE t1 DROP COLUMN new_field
Изменение свойств столбца невозможно, если:
1. Столбец участвует в ограничения PRIMARY KEY или UNIQUE
2. Столбец участвует в ограничении CHECK
3. Столбец участвует в ограничении FOREIGN KEY
4. Невозможно изменение типа данных у столбца, у которого установлено значение по умолчанию. Однако, есть исключения.
5. Нельзя удалить последний столбец в таблице
6. Нельзя удалить столбец, задействованный в каком-либо ограничении
Дата добавления: 2015-10-24; просмотров: 60 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Этнічныя меншасці ў Беларусі. Фарміраванне этнічнага складу насельніцтва Беларусі (ХІV – XVII стст.). | | | Дополнительная причина пожаров летом |