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



Pdf көрінісі
бет113/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   109   110   111   112   113   114   115   116   ...   256
sql osnovi yazika

FROM airports;
SELECT * FROM airports_names;
В горизонтальное представление включаются не все строки базовой таблицы
(таблиц), а производится их отбор с помощью фраз WHERE или HAVING.
Например:
CREATE VIEW siberian_airports AS
SELECT * FROM airports
WHERE city = 'Новосибирск' OR city = 'Кемерово';
SELECT * FROM siberian_airports;
Конечно, вполне возможен и смешанный вариант, когда ограничивается как
список столбцов, так и множество строк при создании представления.
Подумайте, какие представления было бы целесообразно создать для нашей
базы данных «Авиаперевозки». Необходимо учесть наличие различных групп
пользователей, например: пилоты, диспетчеры, пассажиры, кассиры.
Создайте представления и проверьте их в работе.
18.* Предположим, что нам понадобилось иметь в базе данных сведения о техниче-
ских характеристиках самолетов, эксплуатируемых в авиакомпании. Пусть это
будут такие сведения, как число членов экипажа (пилоты), тип двигателей и их
количество.
142


Контрольные вопросы и задания
Следовательно, необходимо добавить новый столбец в таблицу «Самолеты»
(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


Достарыңызбен бөлісу:
1   ...   109   110   111   112   113   114   115   116   ...   256




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

    Басты бет