Учебное пособие Санкт-Петербург «бхв-петербург»



Pdf көрінісі
бет86/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   82   83   84   85   86   87   88   89   ...   256
sql osnovi yazika

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


Глава 5. Основы языка определения данных
В базе данных есть еще одна таблица, не имеющая внешних ключей, — «Бронирова-
ния» (
bookings). Это довольно простая таблица. В ней всего три атрибута.
Атрибут «Номер бронирования» (book_ref) является первичным ключом. Посколь-
ку он представляет собой шестизначную комбинацию латинских букв и цифр, то в
качестве типа данных для него выбран тип character (сокращенно — char).
Для атрибута «Дата бронирования» (book_date) выбран тип данных timestamptz —
временная отметка с часовым поясом, т. к. билеты могут приобретаться в городах,
находящихся в различных часовых поясах.
В главе 4 мы уже говорили о том, что в случаях, требующих точных вычислений, необ-
ходимо использовать числа с фиксированной точностью. Работа с денежными сум-
мами как раз и является одним из таких случаев. Поэтому для атрибута «Полная сто-
имость бронирования» (total_amount) выбирается тип данных numeric, при этом
масштаб, т. е. число цифр справа от десятичной точки (запятой), будет равен 2.


Достарыңызбен бөлісу:
1   ...   82   83   84   85   86   87   88   89   ...   256




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

    Басты бет