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


INSERT INTO seats VALUES ( '123', '1A', 'Business' )



Pdf көрінісі
бет30/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   26   27   28   29   30   31   32   33   ...   243
Байланысты:
Язык SQL. Базовый курс

INSERT INTO seats VALUES ( '123', '1A', 'Business' );
СУБД ответит так:
ОШИБКА: INSERT или UPDATE в таблице "seats" нарушает ограничение внешнего
ключа "seats_aircraft_code_fkey"
,

ПОДРОБНОСТИ: Ключ (aircraft_code)=(123) отсутствует в таблице
"aircrafts".
,

Это совершенно логично: если в таблице «Самолеты», на которую ссылается таблица
«Места», нет описания самолета с кодом самолета, равным «123», то добавлять ин-
формацию о номерах кресел для такого — несуществующего — самолета не имеет
смысла. Так действует поддержка правил ссылочной целостности со стороны СУБД.
Программист избавлен от необходимости отслеживать и обеспечивать «вручную» со-
блюдение этих правил.
Теперь нужно заполнить данными таблицу «Места». Для каждой модели самолетов
введите только несколько строк, при этом предусмотрите записи для классов обслу-
живания «Business» и «Economy». С помощью одной команды INSERT можно ввести
сразу несколько строк:
INSERT INTO seats VALUES
( 'SU9', '1A', 'Business' ),
( 'SU9', '1B', 'Business' ),
( 'SU9', '10A', 'Economy' ),
( 'SU9', '10B', 'Economy' ),
( 'SU9', '10F', 'Economy' ),
( 'SU9', '20F', 'Economy' );
Затем измените значение атрибута aircraft_code на другое, например, «773», и повто-
рите команду INSERT. Так придется поступить со всеми моделями самолетов.
Таблица «Места» заполнена необходимыми данными. Теперь решим еще одну зада-
чу. Предположим, что нам нужно получить информацию о количестве мест в салонах
для всех типов самолетов. Имея некоторый опыт в программировании на других язы-
ках, нетрудно предположить, что в языке SQL должна присутствовать функция для
подсчета количества строк в таблицах. Да, такая функция есть — это count. Конечно,
для решения задачи, поставленной выше, в принципе можно воспользоваться таки-
ми командами:


Достарыңызбен бөлісу:
1   ...   26   27   28   29   30   31   32   33   ...   243




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

    Басты бет