Учебно-практическое пособие москва 2017 ббк



Pdf көрінісі
бет76/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   72   73   74   75   76   77   78   79   ...   243
Байланысты:
Язык SQL. Базовый курс

«Аэропорты» (airports)
. Она не имеет
внешних ключей.
В этой таблице в качестве кода аэропорта служат трехбуквенные обозначения, утвер-
жденные специальной организацией. При этом используются только буквы латин-
ского алфавита. Каждый аэропорт имеет также и полное название. Оно не всегда
совпадает с названием города, в котором аэропорт находится. Для города не преду-
смотрено отдельной сущности, поэтому таблицы городов нет. Однако название горо-
да присутствует в виде атрибута city. Назначение остальных атрибутов ясно из ком-
ментариев, приведенных в SQL-команде.
Комментарии в языке SQL обозначаются двумя символами «дефис». При создании
таблиц в среде утилиты psql вводить комментарии не нужно, но если вы создаете тек-
стовый файл, содержащий команды для создания объектов базы данных, то коммен-
тарии нужно ввести. Это сделает такой файл более понятным для вас в будущем.
CREATE TABLE airports
( airport_code char( 3 ) NOT NULL, -- Код аэропорта
airport_name text NOT NULL,
-- Название аэропорта
city text NOT NULL,
-- Город
longitude float NOT NULL, -- Координаты аэропорта: долгота
latitude float NOT NULL, -- Координаты аэропорта: широта
timezone text NOT NULL,
-- Часовой пояс аэропорта
PRIMARY KEY ( airport_code )
);
Посмотрите описание этой таблицы:
\d airports
В команде \d можно было ввести лишь первые символы имени таблицы и нажать кла-
вишу Tab — psql дополнил бы имя. При этом символов должно быть столько, чтобы
они однозначно определяли имя таблицы. В нашем случае есть еще таблица aircrafts,
поэтому можно было сделать так:
\d airp
а затем нажать клавишу Tab. Можно было использовать автодополнение с самого на-
чала: введя только первую букву имени таблицы, т. е. «a», сразу нажать Tab — psql
дополнит до «air», поскольку есть варианты aircrafts и airports. Дальше вы можете до-
бавить букву «p» и нажать Tab, а можете сначала просмотреть возможные варианты,
нажав Tab дважды подряд.
В результате вы получите примерно такой вывод на экран:
Таблица "bookings.airports"
Столбец
|
Тип
| Модификаторы
--------------+------------------+--------------
airport_code | character(3)
| NOT NULL
airport_name | text
| NOT NULL
city
| text
| NOT NULL
80


longitude
| double precision | NOT NULL
latitude
| double precision | NOT NULL
timezone
| text
| NOT NULL
Индексы:
"airports_pkey" PRIMARY KEY, btree (airport_code)
Ссылки извне:
TABLE "flights" CONSTRAINT "flights_arrival_airport_fkey"
FOREIGN KEY (arrival_airport)
REFERENCES airports(airport_code)
TABLE "flights" CONSTRAINT "flights_departure_airport_fkey"
FOREIGN KEY (departure_airport)
REFERENCES airports(airport_code)
В этом выводе в выражении «bookings.airports» слово bookings означает имя
схемы
.
Как мы уже говорили ранее, это, упрощенно говоря, раздел базы данных, в котором
и создаются таблицы и другие объекты. По умолчанию используется схема public, но
в базе данных demo создана схема bookings.
Поскольку мы задавали первичный ключ, то для его реализации был автоматически
создан индекс. Имя индекса в наше случае — airports_pkey. Оно было сгенерировано
ядром PostgreSQL. Указан также и тип индекса — btree, т. е. B-дерево. Далее в круг-
лых скобках приводится список ключевых атрибутов. В нашем случае он состоит из
одного атрибута — airport_code.
Обратите внимание, что в команде создания таблицы «Аэропорты» (airports) мы ука-
зывали для атрибутов longitude и latitude тип данных float, определенный в стандарте
SQL. Однако, согласно документации, если при объявлении типа float параметр, за-
дающий точность, не указан, то это будет равносильно использованию типа double
precision.
PostgreSQL предлагает свое расширение — команду COMMENT, которая позволяет
создавать комментарии (описания) к различным объектам базы данных. Эти ком-
ментарии будут также сохраняться в базе данных. Например, для создания описания
столбца city таблицы airports нужно сделать так:


Достарыңызбен бөлісу:
1   ...   72   73   74   75   76   77   78   79   ...   243




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

    Басты бет