Учебное пособие Санкт-Петербург «бхв-петербург»



Pdf көрінісі
бет72/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   68   69   70   71   72   73   74   75   ...   256
sql osnovi yazika

Описание атрибута
Имя атрибута
Тип данных
Тип PostgreSQL
Ограничения
№ зачетной книжки
record_book
Числовой
numeric(5)
NOT NULL
Учебная дисциплина
subject
Символьный
text
NOT NULL
Учебный год
acad_year
Символьный
text
NOT NULL
Семестр
term
Числовой
numeric(1)
NOT NULL
term = 1 OR term = 2
Оценка
mark
Числовой
numeric(1)
DEFAULT 5
mark >= 3 AND
mark <= 5
В описаниях таблиц «Студенты» и «Успеваемость» есть колонки «Ограничения». Они
уже содержат конкретные сведения, хотя ограничения мы еще детально не рассмат-
ривали. Таким образом, мы немного забежали вперед, но по мере рассмотрения огра-
ничений вам будет становиться понятно назначение каждого из них в обеих таб-
лицах.
Итак, начнем со значений по умолчанию. При работе с базами данных нередко
возникают ситуации, когда то или иное значение является типичным для какого-то
конкретного столбца. Например, если мы при проектировании таблицы «Успевае-
мость» (progress), предназначенной для учета успеваемости студентов, знаем, что
их успехи, как правило, заслуживают оценки «отлично», то в команде CREATE TABLE
мы можем отразить этот факт с помощью ключевого слова DEFAULT:
CREATE TABLE progress
( ...
mark numeric( 1 ) DEFAULT 5,
...
);
Теперь перейдем к рассмотрению различных видов ограничений (constraints). Будем
придерживаться того же порядка, в котором они представлены в документации.
Первым будет ограничение CHECK. Для его создания используется ключевое сло-
во CHECK, за которым следует выражение в круглых скобках, содержащее одно или
несколько условий, налагаемых на атрибуты таблицы. Это ограничение бывает двух
видов: уровня атрибута и уровня таблицы. Различие между ними только в синтакси-
ческом оформлении: в обоих случаях в выражении могут содержаться обращения не
только к одному, но и к нескольким атрибутам таблицы. В первом случае ограниче-
ние CHECK является частью определения одного конкретного атрибута, а во втором
случае оно записывается как самостоятельный элемент определения таблицы.
96


5.1. Значения по умолчанию и ограничения целостности
Каждое ограничение имеет имя. Мы можем задать его сами с помощью ключевого
слова CONSTRAINT. Если же мы этого не сделаем, тогда СУБД сформирует имя автома-
тически. Когда мы задаем имя сами, мы можем выбрать его с учетом сути налагаемых
ограничений, с позиции предметной области. Если же это имя формирует СУБД, оно
будет сформировано «механически», т. к. СУБД не знает ни сути этих ограничений,
ни специфики предметной области.
В качестве примера приведем ограничения, налагаемые на атрибуты term и mark из
таблицы «Успеваемость». Семестр может иметь только два значения: 1 и 2. Отметка
фактически может иметь только три значения: 3, 4 или 5.


Достарыңызбен бөлісу:
1   ...   68   69   70   71   72   73   74   75   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет