Глава 3. Основные операции с таблицами
В качестве первой таблицы, которую мы создадим, выберем «Самолеты». Таблица
имеет следующую структуру (т. е. набор атрибутов и их типы данных):
Описание атрибута
Имя атрибута
Тип данных
Тип PostgreSQL
Ограничения
Код самолета, IATA
aircraft_code
Символьный
char(3)
NOT NULL
Модель самолета
model
Символьный
text
NOT NULL
Максимальная
дальность полета, км
range
Числовой
integer
NOT NULL
range > 0
Типы char и text являются символьными типами данных и позволяют вводить лю-
бые символы, в том числе буквы и цифры. Для атрибута «Код самолета, IATA» мы
выбрали тип char(3), поскольку эти коды состоят из трех символов: букв и цифр.
Число 3 в описании типа данных char означает максимальное количество символов,
которые можно ввести в это поле.
Наименования конкретных моделей самолетов могут содержать различные количе-
ства разных символов, поэтому для атрибута «Модель самолета» мы выбрали тип
данных text, который не требует указания максимальной длины сохраняемого зна-
чения. Вообще, число символов, которые можно сохранить в поле типа text, прак-
тически не ограничено.
Для атрибута «Максимальная дальность полета» мы выбрали целый числовой тип.
Значения всех атрибутов каждой строки данной таблицы должны быть определен-
ными, поэтому на них накладывается ограничение NOT NULL. В принципе в таблицах
базы данных могут содержаться неопределенные значения некоторых атрибутов. Го-
воря другими словами, их значения могут отсутствовать. В таких случаях в этих полях
содержится специальное значение NULL. Но в таблице «Самолеты» не допускается
отсутствие значений атрибутов, отсюда и возникает ограничение NOT NULL. К тому
же атрибут «Максимальная дальность полета» не должен принимать отрицательных
значений и нулевого значения, поэтому приходится добавить еще одно ограничение:
range > 0.
В качестве первичного ключа выбран атрибут «Код самолета, IATA». Таким образом,
первичный ключ будет, как говорят, естественным. Это означает, что и в реальной
предметной области существует такое понятие, как код самолета, и это понятие ис-
пользуется на практике. В отличие от естественных ключей иногда используются и
так называемые суррогатные ключи, но о них мы расскажем в последующих главах
пособия.
33
|