\connect demo Существует и сокращенный вариант этой команды:
\c demo При создании таблиц необходимо учитывать связи между ними. Поэтому сначала
должны создаваться ссылочные таблицы, а потом — ссылающиеся. Конечно, возмож-
на ситуация, когда образуется иерархия таблиц. Таблица, находящаяся в середине
такой иерархии, выполняет обе роли: ссылающейся и ссылочной таблицы. Тогда нуж-
но продвигаться «вниз» от вершины иерархии, где находится таблица, не имеющая
внешних ключей.
Если в базе данных нет циклических ссылок таблиц друг на друга, то всегда существу-
ет таблица (или таблицы), которая не ссылается ни на какие другие таблицы. С нее и
нужно начинать создание базы данных. Перед созданием очередной таблицы, име-
ющей внешние ключи, уже должны существовать все ссылочные таблицы для нее.
При наличии циклических ссылок таблиц друг на друга придется воспользоваться
командой ALTER TABLE, о которой речь пойдет в следующем разделе этой главы.
Поскольку две первые таблицы — «Самолеты» (aircrafts) и «Места» (seats) — мы
уже изучили в главе 3, то перейдем к таблице «Аэропорты» (airports). Она не име-
ет внешних ключей.
В этой таблице в качестве кода аэропорта служат трехбуквенные обозначения, утвер-
жденные специальной организацией. При этом используются только буквы латин-
ского алфавита. Каждый аэропорт имеет также и полное название. Оно не всегда
совпадает с названием города, в котором аэропорт находится. Для города не преду-
смотрено отдельной сущности, поэтому таблицы городов нет. Однако название го-
рода присутствует в виде атрибута city. Назначение остальных атрибутов ясно из
комментариев, приведенных в SQL-команде.
Комментарии в языке SQL обозначаются двумя символами «дефис». При создании
таблиц в среде утилиты psql вводить комментарии не нужно, но если вы создаете
106
5.2. Создание и удаление таблиц текстовый файл, содержащий команды для создания объектов базы данных, то ком-
ментарии нужно ввести. Это сделает такой файл более понятным для вас в будущем.