Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
33
Добавлен:
16.03.2015
Размер:
1.16 Mб
Скачать

Ограничение PRIMARY KEY

21• Является комбинацией ограничений UNIQUE и NOT NULL

Таблица может иметь не более одного первичного ключа

Может задаваться для столбца или группы столбцов

CREATE TABLE имя_таблицы

(

имя_поля1 тип_поля1 PRIMARY KEY, имя_поля2 тип_поля2

);

CREATE TABLE имя_таблицы

(

имя_поля1 тип_поля1, имя_поля2 тип_поля2,

PRIMARY KEY (имя_поля1 , имя_поля2) );

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Пример использования ограничения

PRIMARY KEY

22CREATE TABLE shop

(

shop_id bigint PRIMARY KEY,

name character(80) DEFAULT 'no name', location character(50) NOT NULL

);

CREATE TABLE shop

(

shop_id bigint,

name character(80) DEFAULT 'no name', location character(50) NOT NULL, PRIMARY KEY (name, location)

);

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Ограничение ВНЕШНЕГО КЛЮЧА

23• Ограничение внешнего ключа говорит, что значения в столбце (или группе столбцов) должно совпадать с значениями, которые существуют в некоторых строках другой таблицы

Может задаваться для столбца или группы столбцов

Можно задать собственное имя для ограничения внешнего ключа через ключевое слово CONSTRAINT

Опция RESTRICT предотвращает удаление ссылочной строки

Опция CASCADE говорит, что когда ссылочная строка удаляется, строка(и) ссылающиеся на неё, также должны быть автоматически удалены

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Ограничение ВНЕШНЕГО КЛЮЧА

24CREATE TABLE имя_таблицы1

(

имя_поля1 тип_поля1 PRIMARY KEY );

CREATE TABLE имя_таблицы2

(

имя_поля1 тип_поля1,

имя_поля2 тип_поля2 REFERENCES имя_таблицы1 (имя_поля1_таблицы1)

--имя_поля1 тип_поля1 REFERENCES имя_таблицы1

--имя_поля1 тип_поля1 REFERENCES имя_таблицы1 ON DELETE CASCADE

--имя_поля1 тип_поля1 REFERENCES имя_таблицы1 ON DELETE RESTRICT

);

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Пример использования ограничения

ВНЕШНЕГО КЛЮЧА

25CREATE TABLE shop

(

shop_id bigint PRIMARY KEY,

name character(80) DEFAULT 'no name', location character(50) NOT NULL

);

CREATE TABLE books

(

book_id bigint,

name character(80) DEFAULT 'no name', author character(50),

published date, price numeric,

shop_id bigint REFERENCES shop (shop_id) --shop_id bigint REFERENCES shop

--shop_id bigint REFERENCES shop ON DELETE CASCADE

--shop_id bigint REFERENCES shop ON DELETE RESTRICT

);

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Типы данных

26 • Числовые типы

Денежные типы

Символьные типы

Двоичные типы

Типы дата/времени

Логический тип

Перечисления

Геометрические типы

Типы сетевых адресов

Типы битовых строк

Типы текстового поиска

Тип UUID

Тип XML

Тип Arrays

Composite Types

Типы идентификаторов объектов

Псевдо-типы

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Числовые типы

27

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Денежный, логический и

символьные типы

28• Денежный тип

Логический тип

Символьные типы

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Типы дата/времени

29

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Добавление столбца

30 ALTER TABLE имя_таблицы ADD имя_столбца тип_столбца;

ALTER TABLE имя_таблицы ADD имя_столбца тип_столбца DEFAULT значение по умолчанию;

ALTER TABLE имя_таблицы ADD имя_столбца тип_столбца имя_ограничения;

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Соседние файлы в папке Haulmont-презентации Java