CREATE VIEW siberian_airports AS
SELECT * FROM airports
WHERE city = 'Новосибирск' OR city = 'Кемерово';
SELECT * FROM siberian_airports;
Конечно, вполне возможен и смешанный вариант, когда ограничивается как
список столбцов, так и множество строк при создании представления.
Подумайте, какие представления было бы целесообразно создать для нашей
базы данных «Авиаперевозки». Необходимо учесть наличие различных групп
пользователей, например: пилоты, диспетчеры, пассажиры, кассиры. Создайте
представления и проверьте их в работе.
18.* Предположим, что нам понадобилось иметь в базе данных сведения о техниче-
ских характеристиках самолетов, эксплуатируемых в авиакомпании. Пусть это
будут такие сведения, как число членов экипажа (пилоты), тип двигателей и их
количество. Следовательно, необходимо добавить столбец в таблицу «Самоле-
ты» (aircrafts). Дадим ему имя specifications, а в качестве типа данных выберем
jsonb. Если впоследствии потребуется добавить и другие характеристики, то мы
сможем это сделать, не модифицируя определение таблицы.
ALTER TABLE aircrafts ADD COLUMN specifications jsonb;
ALTER TABLE
Добавим сведения для модели самолета Airbus A320-200:
UPDATE aircrafts
SET specifications =
'{ "crew": 2,
"engines": { "type": "IAE V2500", "num": 2 }
}'::jsonb
WHERE aircraft_code = '320';
UPDATE 1
Посмотрим, что получилось:
SELECT model, specifications
FROM aircrafts
WHERE aircraft_code = '320';
model
|
specifications
-----------------+------------------------------------------------
Airbus A320-200 | {"crew": 2, "engines": {"num": 2, "type":
"IAE V2500"}}
(1 строка)
Можно посмотреть только сведения о двигателях:
SELECT model, specifications->'engines' AS engines
Достарыңызбен бөлісу: |