значений по умолчанию
. При работе с базами данных нередко воз-
никают ситуации, когда то или иное значение является типичным для какого-то кон-
кретного столбца. Например, если мы при проектировании таблицы «Успеваемость»
(progress), предназначенной для учета успеваемости студентов, знаем, что их успехи,
как правило, заслуживают оценки «отлично», то в команде CREATE TABLE мы можем
отразить этот факт с помощью ключевого слова DEFAULT:
CREATE TABLE progress
...
mark numeric( 1 ) DEFAULT 5,
...
Теперь перейдем к рассмотрению различных видов ограничений (constraints). Будем
придерживаться того же порядка, в котором они представлены в документации.
Первым будет
ограничение CHECK
. Для его создания используется ключевое сло-
во CHECK, за которым следует выражение в круглых скобках, содержащее одно или
несколько условий, налагаемых на атрибуты таблицы. Это ограничение бывает двух
видов: ограничение уровня атрибута и уровня таблицы. Различие между ними только
в синтаксическом оформлении: в обоих случаях в выражении могут содержаться об-
ращения не только к одному, но также и к нескольким атрибутам таблицы. В первом
случае ограничение CHECK является частью определения одного конкретного атри-
бута, а во втором случае оно записывается как самостоятельный элемент определе-
ния таблицы. Каждое ограничение имеет имя. Мы можем задать его сами с помощью
ключевого слова CONSTRAINT. Если же мы этого не сделаем, тогда СУБД сформирует
имя автоматически. Когда мы задаем имя сами, мы можем выбрать его с учетом сути
налагаемых ограничений, с позиции предметной области. Если же это имя форми-
рует СУБД, оно будет сформировано «механически», т. к. СУБД не знает ни сути этих
ограничений, ни специфики предметной области.
В качестве примера приведем ограничения, налагаемые на атрибуты term и mark из
таблицы «Успеваемость» (progress). Семестр может иметь только два значения: 1 и 2.
Отметка фактически может иметь только три значения: 3, 4 или 5.
Достарыңызбен бөлісу: |