Получить имена поставщиков, поставляющих все



Пример 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 является отношением базы данных, т.к. оно связывает данные, размещенные в различных таблицах. Проверка ограничения. К моменту проверки ограничения базы данных должны быть проверены ограничения целостности отношений. Ограничение базы данных может быть как немедленно проверяемым ограничением, так и ограничением с отложенной проверкой. Ограничение отношения, являющееся ограничением внешнего ключа может быть как немедленно проверяемым ограничением, так и отложенным ограничением. Действительно, в простейшем случае, если кортеж Получить имена поставщиков, поставляющих все Пример 14 должен ссылаться на кортеж Получить имена поставщиков, поставляющих все Пример 14, то проверку ограничения ссылочной целостности можно производить сразу после любой из операций вставки, обновления или удаления в любом из отношений Получить имена поставщиков, поставляющих все Пример 14. В более сложном случае, предположим, что кортеж Получить имена поставщиков, поставляющих все Пример 14 должен ссылаться на кортеж Получить имена поставщиков, поставляющих все Пример 14, а кортеж Получить имена поставщиков, поставляющих все Пример 14 должен в свою очередь ссылаться на кортеж Получить имена поставщиков, поставляющих все Пример 14 (циклическая ссылка). Очевидно, что сразу после вставки кортежа Получить имена поставщиков, поставляющих все Пример 14 ссылочная целостность обязательно нарушена, т.к. кортежа Получить имена поставщиков, поставляющих все Пример 14. Проверку ссылочной целостности можно провести только посл завершения транзакции, состоящей из последовательности операций:
  1. вставки кортежа Получить имена поставщиков, поставляющих все Пример 14с нулевой ссылкой на отношение Получить имена поставщиков, поставляющих все
  2. вставки кортежа Получить имена поставщиков, поставляющих все Пример 14 со ссылкой на кортеж Получить имена поставщиков, поставляющих все Пример 14,
  3. исправления ссылки в кортеже Получить имена поставщиков, поставляющих все Пример 14.
Ограничение, приведенное в примере 1, может быть только ограничением с отложенной проверкой.




Содержание раздела