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


WHEN fare_conditions = 'Business' THEN 2



Pdf көрінісі
бет88/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   84   85   86   87   88   89   90   91   ...   243
Байланысты:
Язык SQL. Базовый курс

WHEN fare_conditions = 'Business' THEN 2
ELSE 3 END
);
Проверим результат работы с помощью команды
SELECT * FROM seats;
aircraft_code | seat_no | fare_conditions
---------------+---------+-----------------
319
| 2A
|
2
319
| 2C
|
2
319
| 2D
|
2
...
Теперь мы видим, что необходимо связать таблицы «Места» (seats) и «Классы обслу-
живания» (fare_conditions) по внешнему ключу. Сделаем это:
ALTER TABLE seats
ADD FOREIGN KEY ( fare_conditions )
REFERENCES fare_conditions ( fare_conditions_code );
Посмотрев описание таблицы «Места» (seats), увидим, что внешний ключ успешно
создан.
\d seats
...
"seats_fare_conditions_fkey" FOREIGN KEY (fare_conditions)
REFERENCES fare_conditions(fare_conditions_code)
Из теории известно, что атрибуты внешнего ключа не обязательно должны ссылать-
ся только на одноименные атрибуты ссылочной таблицы. Сейчас мы на практике
успешно проверили это утверждение. Однако для удобства сопровождения базы дан-
ных имеет смысл переименовать столбец fare_conditions в таблице «Места» (seats),
т. е. дать ему имя fare_conditions_code, поскольку в этой таблице хранится именно
код класса обслуживания. Давайте так и поступим:
91


ALTER TABLE seats
RENAME COLUMN fare_conditions TO fare_conditions_code;
Если теперь посмотреть описание таблицы, то можно увидеть, что имя ат-
рибута, являющегося внешним ключом, изменилось, а вот имя ограничения
seats_fare_conditions_fkey осталось неизменным, хотя оно и было первоначально
сформировано самой СУБД. Это шаблонное имя ограничения составляется из име-
ни таблицы и имени первого (и единственного в данном случае) атрибута внешнего
ключа.
"seats_fare_conditions_fkey" FOREIGN KEY (fare_conditions_code)
REFERENCES fare_conditions(fare_conditions_code)
,

Давайте переименуем это ограничение, чтобы поддержать соблюдение правила име-
нования ограничений:


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




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

    Басты бет