Получить имена поставщиков, поставляющих все
Пример 14
. Получить имена поставщиков, поставляющих все детали.Решение:
Пример 14
. Естественное соединение таблиц (способ 2 - ключевые слова JOIN… USING…):
SELECT
P.PNUM,
P.PNAME,
PD.DNUM,
PD.VOLUME
FROM P JOIN PD USING PNUM;
Замечание. Ключевое слово USING позволяет явно указать, по каким из общих колонок таблиц будет производиться соединение.
Пример 14
. Ограничение на таблицы DEPART и PERSON из примера 1 является отношением базы данных, т.к. оно связывает данные, размещенные в различных таблицах.
Проверка ограничения. К моменту проверки ограничения базы данных должны быть проверены ограничения целостности отношений.
Ограничение базы данных может быть как немедленно проверяемым ограничением, так и ограничением с отложенной проверкой.
Ограничение отношения, являющееся ограничением внешнего ключа может быть как немедленно проверяемым ограничением, так и отложенным ограничением. Действительно, в простейшем случае, если кортеж


должен ссылаться на кортеж


, то проверку ограничения ссылочной целостности можно производить сразу после любой из операций вставки, обновления или удаления в любом из отношений


. В более сложном случае, предположим, что кортеж


должен ссылаться на кортеж


, а кортеж


должен в свою очередь ссылаться на кортеж


(циклическая ссылка). Очевидно, что сразу после вставки кортежа


ссылочная целостность обязательно нарушена, т.к. кортежа


. Проверку ссылочной целостности можно провести только посл
завершения транзакции, состоящей из последовательности операций:
- вставки кортежа

с нулевой ссылкой на отношение 
- вставки кортежа

со ссылкой на кортеж 
,
- исправления ссылки в кортеже

.
Ограничение, приведенное в примере 1, может быть только ограничением с отложенной проверкой.