Читаем Базы данных: конспект лекций полностью

r1(S) ∩ r2(S) = r2 \ r2 \ r1;

2. Еще одним примером, производной базовой операции от восьми исходных операций является операция естественного соединения. В самом общем виде эта операция является производной от бинарной операции декартового произведения и унарных операций выборки, проекции и переименования атрибутов. Однако, в свою очередь, операция внутреннего соединения является производной операцией от той же операции декартового произведения отношений. Поэтому, чтобы показать, что операция естественного соединения – производная операция, рассмотрим следующий пример.

Сравним приведенные ранее примеры для операций естественного и внутреннего соединений.

Пусть нам даны два отношения r1(S1) и r2(S2) которые будут выступать в качестве операндов. Они равны:

r1(S1):

r2(S2):

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

r3(S3) ≔ r1(S1) × r2(S2):

А результатом внутреннего соединения этих же отношений r1(S1) и r2(S2) по условию P = (b1 = b2) будет следующая таблица:

r4(S4) ≔ r1(S1) × P r2(S2):

Сравним эти два результата, получившиеся новые отношения r3(S3) и r4(S4).

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

Запишем математическую формулу, описывающую действие операции естественного соединения как производную операции внутреннего соединения.

r1(S1) × r2(S2) = { ρ <ϕ1> r1 × E ρ< ϕ2>r2}[S1 ∪ S2],

где E — условие соединимости кортежей;

E= ∀aS1S2 [IsNull (b1) & IsNull (2) ∪b1 = b2];

b1 = ϕ1 (name(a)), b2 = ϕ2 (name(a));

Здесь одна из функций переименования ϕ1 является тождественной, а другая функция переименования (а именно – ϕ2) переименовывает атрибуты, на которых наши схемы пересекаются.

Условие соединимости E для кортежей записывается в общем виде с учетом возможных появлений Null-значений, ведь операция внутреннего соединения (как уже было сказано выше) является производной операцией от операции декартового произведения двух отношений и унарной операции выборки.

<p>6. Выражения реляционной алгебры</p>

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

Пусть для примера в нашем распоряжении имеется фрагмент какой-то коммерческой базы данных:

Поставщики (Код поставщика, Имя поставщика, Город поставщика);

Инструменты (Код инструмента, Имя инструмента, …);

Поставки (Код поставщика, Код детали);

Подчеркнутые имена атрибутов[1] являются ключевыми (т. е. идентификационными) атрибутами, причем каждый в своем отношении.

Предположим, что к нам, как разработчикам этой базы данных и хранителям информации по этому вопросу, поступил заказ получить наименования поставщиков (Имя Поставщика) и место их расположения (Город Поставщика) в случае, когда эти поставщики не поставляют каких-либо инструментов с родовым именем «Плоскогубцы».

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

1. образуем естественное соединение отношений «Поставщики» и «Поставки» для того, чтобы сопоставить с каждым поставщиком коды поставляемых им деталей. Новое отношение – результат применения операции естественного соединения – для удобства дальнейшего применения обозначим через r1.

Поставщики × Поставки ≔ r1 (Код поставщика, Имя поставщика, Город поставщика, Код поставщика, Код инструмента);

В скобках мы перечислили все атрибуты отношений, участвующих в этой операции естественного соединения. Мы видим, что атрибут «Код поставщика» дублируется, но в итоговой записи операции каждое имя атрибута должно присутствовать только один раз, т. е.:

Поставщики × Поставки ≔ r1 (Код поставщика, Имя поставщика, Город поставщика, Код инструмента);

2. снова образуем естественное соединение, только на этот раз отношения, получившегося в пункте один и отношения Инструменты. Делаем это для того, чтобы с каждым кодом инструмента, получившемуся в предыдущем пункте, – сопоставить имя этого инструмента.

r1 × Инструменты [Код инструмента, Имя инструмента] ≔ r2 (Код поставщика, Имя поставщика, Город поставщика, Код инструмента, Код инструмента, Имя инструмента);

Перейти на страницу:

Все книги серии Экзамен в кармане

Антикризисное управление: конспект лекций
Антикризисное управление: конспект лекций

Конспект лекций соответствует требованиям Государственного образовательного стандарта высшего профессионального образования.Доступность и краткость изложения позволяют быстро и легко получить основные знания по предмету, подготовиться и успешно сдать зачет и экзамен.Рассматриваются понятия экономических признаков на макро– и микроуровнях, принципы в тенденциях макро– и микроэкономики, признаки и порядок установления банкротства предприятий, стратегия и тактика антикризисного управления, ключевые факторы антикризисного управления, особое внимание уделено управлению персоналом кризисного предприятия.Для студентов экономических вузов и колледжей, а также тех, кто самостоятельно изучает данный предмет.

Елена Алексеевна Бабушкина , Елена Бабушкина , Людмила Верещагина , Людмила Сергеевна Верещагина , Олеся Бирюкова , Олеся Юрьевна Бирюкова

Маркетинг, PR / Управление, подбор персонала / Финансы и бизнес

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных