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



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

\d flights
Поскольку до сих пор мы давали подробные пояснения по каждой таблице, то сей-
час ограничимся только указанием на те сведения, которые могут быть непонятны-
ми. В частности, обратите внимание, что для атрибута flight_id указан тип данных
integer, а не serial, как предписано в команде для создания этой таблицы. В главе 4
при рассмотрении типа данных serial мы говорили, ссылаясь на документацию, что
этот тип является, по сути, удобной синтаксической заменой, избавляющей админи-
стратора базы данных от необходимости выполнения SQL-команд для явного созда-
ния последовательности и привязки ее к конкретному столбцу таблицы. О том, что
значения для этого столбца будут формироваться с помощью последовательности,
говорит фраза
DEFAULT nextval('flights_flight_id_seq'::regclass)
В этой фразе указано и имя последовательности — flights_flight_id_seq. Если выпол-
нить команду
\d
то можно увидеть эту последовательность в списке объектов базы данных.
83


Список отношений
Схема
|
Имя
|
Тип
| Владелец
----------+-----------------------+--------------------+----------
...
bookings | flights_flight_id_seq | последовательность | postgres
...
(11 строк)
Чтобы посмотреть описание последовательности flights_flight_id_seq, нужно исполь-
зовать команду \d:
\d flights_flight_id_seq
В базе данных есть еще одна таблица, не имеющая внешних ключей, —
«Бронирова-
ния» (bookings)
. Это довольно простая таблица. В ней всего три атрибута. Атрибут
«Номер бронирования» (book_ref) является первичным ключом. Поскольку он пред-
ставляет собой шестизначную комбинацию латинских букв и цифр, то в качестве ти-
па данных для него выбран тип character (сокращенно — char). Для атрибута «Дата
бронирования» (book_date) выбран тип данных timestamptz — временная отметка с
часовым поясом, т. к. билеты могут приобретаться в городах, находящихся в различ-
ных часовых поясах. В главе 4 мы уже говорили о том, что в случаях, требующих
точных вычислений, необходимо использовать числа с фиксированной точностью.
Работа с денежными суммами как раз и является одним из таких случаев. Поэтому
для атрибута «Полная сумма бронирования» (total_amount) выбирается тип данных
numeric, при этом масштаб, т. е. число цифр справа от десятичной точки (запятой),
будет равен 2.


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




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

    Басты бет