Глава 5 Основы языка определения данных Как мы уже говорили ранее, язык SQL традиционно разделяется на две группы команд. Первая из них
предназначена для определения данных, т. е. для создания объектов базы данных, таких, например,
как таблицы. Вторая группа команд служит для выполнения различных операций с данными, таких
как вставка строк в таблицы, выполнение запросов к ним, обновление и удаление строк из таблиц.
В этой главе мы сосредоточимся на командах первой группы, т. е. на определении данных. Рассмотрим
все таблицы базы данных «Авиаперевозки».
5.1. Значения по умолчанию и ограничения целостности В последующих разделах этой главы в качестве «опорной» базы данных мы будем
использовать базу данных «Авиаперевозки», описанную в первой главе. Однако ос-
новные сведения о значениях по умолчанию и ограничениях мы проиллюстрируем
на той простой базе данных, состоящей из двух таблиц — «Студенты» и «Успевае-
мость», о которой речь шла также в первой главе пособия.
Сначала представим описание таблицы «Студенты» (students). Она имеет следую-
щую структуру (т. е. набор атрибутов и их типы данных):
Описание атрибута Имя атрибута Тип данных Тип PostgreSQL Ограничения № зачетной книжки
record_book
Числовой
numeric(5)
NOT NULL
Ф. И. О.
name
Символьный
text
NOT NULL
Серия документа
doc_ser
Числовой
numeric(4)
Номер документа
doc_num
Числовой
numeric(6)
Для атрибута «Серия документа, удостоверяющего личность» мы выбрали числовой
тип, хотя, пожалуй, более дальновидным был бы выбор символьного типа (см. зада-
ние 10 в конце главы).
95
Глава 5. Основы языка определения данных Теперь перейдем к таблице «Успеваемость» (progress). Ее структура такова: