Математическая запись: REZ = R ¸ S. Деление выполнимо, если делитель S ≠ Æ, атрибуты делителя образуют некоторое подмножество атрибутов делимого R и kR > kS. Арности частного, делимого и делителя связаны условием kREZ = kR - kS. Деление - одна из самых трудных для восприятия операций, поэтому рассмотрим ее подробнее.
Пусть u1 и u2 - кортежи делителя S. Тогда, если в делимом R найдутся кортежи t u1 и t u2, то t - кортеж частного REZ. Будем называть t “осколком” кортежей из R.
Таким образом, частное REZ состоит из “осколков” t длины kR - kS таких, что для всех кортежей u из S в данном R существует кортеж tu Î R. Другими словами, если для всех кортежей делителя существуют одинаковые “осколки” кортежей делимого, то эти “осколки” должны присутствовать в частном.
Например:
Как можно выразить операцию деления через основные операции реляционной алгебры, можно найти в [6].
Используя операцию деления, можно существенно упростить процедуру получения ответа на запрос. Проиллюстрируем этот факт примером.
|
|
Пример 5. Пусть задано отношение R в виде:
a) с помощью операции деления, если определить делитель в виде S= DN
d1
d2
Тогда частное будет таким:
REZ = p PN, DN (R) ¸ S = PN, где p PN, DN (R) = PN, DN
p1 p1 d1
p2 p1 d2
p2 d1
p2 d2
p3 d2
b) без использования операции деления, что значительно сложнее:
REZ = p PN (p PN, DN (R)) \ p PN ((p PN (p PN, DN (R)) x S) \ p PN, DN (R))