<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://iu5bmstu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=195.38.23.97</id>
	<title>Кафедра ИУ5 МГТУ им. Н.Э.Баумана, студенческое сообщество - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://iu5bmstu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=195.38.23.97"/>
	<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/195.38.23.97"/>
	<updated>2026-04-30T04:16:37Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%962_-_%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8&amp;diff=2551</id>
		<title>ТОРА (9) - Лекция №2 - Функциональные зависимости</title>
		<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%962_-_%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8&amp;diff=2551"/>
		<updated>2013-01-15T10:05:02Z</updated>

		<summary type="html">&lt;p&gt;195.38.23.97: /* Алгоритм построения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Функциональные зависимости, замыкание множества функциональных зависимостей, атрибутов.&lt;br /&gt;
&lt;br /&gt;
== Функциональные зависимости ==&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=R=(A_1 ... A_n)}} является функциональной схемой отношения и {{Формула|f=X}}, {{Формула|f=Y}} - некоторые подмножества атрибутов этой схемы. Говорят, что {{Формула|f=X}} функционально определяет {{Формула|f=Y}} ({{Формула|f=X\rightarrow Y}}), если в любом экземпляре отношения со схемой {{Формула|f=R}} не существует двух кортежей, совпадающих по подмножеству {{Формула|f=X}} и не совпадающих по подмножеству {{Формула|f=Y}}&lt;br /&gt;
&lt;br /&gt;
Иначе говоря, если два кортежа совпадают по {{Формула|f=x}}, то они должны совпадать и по {{Формула|f=y}}&lt;br /&gt;
&lt;br /&gt;
Например, {{Формула|f=R=(A_1, A_2, A_3, A_4)}}, есть зависимости:&lt;br /&gt;
* {{Формула|f=A_1\rightarrow A_2}} (1)&lt;br /&gt;
* {{Формула|f=A_1A_3\rightarrow A_4}} (2)&lt;br /&gt;
&lt;br /&gt;
Предположим, что имеет место один экземпляр отношения со схемой {{Формула|f=R}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} || фирма X || улица Ленина, д.1 || сахар || 40&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | фирма X || улица Ленина, д.1 || карамель || 50&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | фирма X || улица Ленина, д.1 || пастила || 90&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
Вторая ФЗ (2) имеет место быть, так как нет двух кортежей, совпадающих по этой паре. А первая ФЗ (1) не имеет место быть.&lt;br /&gt;
&lt;br /&gt;
== Замыкание множества функциональных зависимостей ==&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=R}} - универсальная схема отношения, а {{Формула|f=F}} - исходное множество функциональной зависимости на этой схеме. Замыканием {{Формула|f=F}} называется всё множество функциональной зависимости, которое логически следует из {{Формула|f=F}} - обозначается как {{Формула|f=F^+}}&lt;br /&gt;
&lt;br /&gt;
Функциональная зависимость логически следует из {{Формула|f=F}}, если её можно вывести (получить) с помощью аксиом Армстронга.&lt;br /&gt;
&lt;br /&gt;
=== Аксиомы Армстронга ===&lt;br /&gt;
&lt;br /&gt;
Или правила вывода функциональной зависимости. Существуют различные интерпретации аксиом, но все эквивалентны. Потому приведём только один вариант.&lt;br /&gt;
&lt;br /&gt;
Аксиомы Армстронга являются надёжными и полными.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Надёжность&#039;&#039;&#039; - если ФЗ выводится с помощью аксиом Армстронга, то она справедлива во всех экземплярах отношения, где справедливы исходные ФЗ {{Формула|f=F}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Полнота&#039;&#039;&#039; - если имеет место какая-либо ФЗ, то она обязательно может быть выведена с помощью аксиом Армстронга.&lt;br /&gt;
&lt;br /&gt;
==== Рефлексивность ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=Y \subseteq X \subseteq R}}&lt;br /&gt;
&lt;br /&gt;
то {{Формула|f=X\rightarrow Y}}. Тривиальная аксиома.&lt;br /&gt;
&lt;br /&gt;
==== Дополнение ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=X\rightarrow Y}},&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=Z \subseteq R}} ({{Формула|f=Z}} может быть пустым),&lt;br /&gt;
&lt;br /&gt;
тогда {{Формула|f=X\bigcup Y\rightarrow Y\bigcup Z}} или {{Формула|f=XZ\rightarrow YZ}}&lt;br /&gt;
&lt;br /&gt;
==== Транзитивность ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=X\rightarrow Y}}&lt;br /&gt;
&lt;br /&gt;
а {{Формула|f=Y\rightarrow Z}}&lt;br /&gt;
&lt;br /&gt;
то {{Формула|f=X\rightarrow Z}}&lt;br /&gt;
&lt;br /&gt;
=== Пример построения множества ФЗ ===&lt;br /&gt;
&lt;br /&gt;
Пусть задана УСО (универсальная схема отношения) {{Формула|f=R=(A, B, C)}} и зависимости {{Формула|f=F=(A\rightarrow B, B\rightarrow C)}}&lt;br /&gt;
&lt;br /&gt;
# {{Формула|f=A\rightarrow A}}, {{Формула|f=B\rightarrow B}}, {{Формула|f=C\rightarrow C}}, {{Формула|f=AB\rightarrow A}}, {{Формула|f=AB\rightarrow B}}, {{Формула|f=AC\rightarrow A}}, {{Формула|f=AC\rightarrow C}}, {{Формула|f=BC\rightarrow B}}, {{Формула|f=BC\rightarrow C}}, {{Формула|f=ABC\rightarrow A}}, {{Формула|f=ABC\rightarrow C}}, {{Формула|f=AB\rightarrow AB}}, {{Формула|f=AC\rightarrow AC}}, {{Формула|f=BC\rightarrow BC}}, {{Формула|f=ABC\rightarrow AB}}, {{Формула|f=ABC\rightarrow AC}}, {{Формула|f=ABC\rightarrow BC}}, {{Формула|f=ABC\rightarrow ABC}}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# {{Формула|f=A\rightarrow AB}} (1ФЗ и пополняем A), {{Формула|f=AC\rightarrow BC}}, {{Формула|f=B\rightarrow BC}} (2 ФЗ и пополняем B), {{Формула|f=AB\rightarrow AC}}, {{Формула|f=AC\rightarrow ABC}}, {{Формула|f=AB\rightarrow ABC}}, {{Формула|f=AB\rightarrow BC}}, {{Формула|f=A\rightarrow AC}}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# {{Формула|f=A\rightarrow C}} (1 и 2 ФЗ), {{Формула|f=A\rightarrow ABC}}&lt;br /&gt;
&lt;br /&gt;
Всё, замыкание ({{Формула|f=F^+}}) построено. Все перечисленные зависимости образуют замыкание.&lt;br /&gt;
&lt;br /&gt;
=== Лемма ===&lt;br /&gt;
&lt;br /&gt;
Справедливы следующие правила. Для их доказательства необходимо пополнить ФЗ так, чтобы можно было использовать аксиомы.&lt;br /&gt;
&lt;br /&gt;
==== Правило объединения ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=X\rightarrow Y}} и {{Формула|f=X\rightarrow Z}}, то {{Формула|f=X\rightarrow YZ}}&lt;br /&gt;
&lt;br /&gt;
Доказательство:&lt;br /&gt;
# {{Формула|f=X\rightarrow XY}} (1 ФЗ и пополняем X);&lt;br /&gt;
# {{Формула|f=XY\rightarrow YZ}} (2 ФЗ и пополняем Y);&lt;br /&gt;
# {{Формула|f=X\rightarrow YZ}} (по аксиоме транзитивности).&lt;br /&gt;
&lt;br /&gt;
==== Правило декомпозиции ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=X\rightarrow Y}}, а {{Формула|f=Z \subseteq Y}}, то {{Формула|f=X\rightarrow Z}}&lt;br /&gt;
&lt;br /&gt;
Доказательство:&lt;br /&gt;
# {{Формула|f=X\rightarrow Y}} (по условию);&lt;br /&gt;
# {{Формула|f=Y\rightarrow Z}} (по аксиоме рефлексивности);&lt;br /&gt;
# {{Формула|f=X\rightarrow Z}} (по аксиоме транзитивности).&lt;br /&gt;
&lt;br /&gt;
==== Правило псевдотранзитивности ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=X\rightarrow Y}} и {{Формула|f=WY\rightarrow Z}}, то {{Формула|f=WX\rightarrow Z}}&lt;br /&gt;
&lt;br /&gt;
Доказательство:&lt;br /&gt;
# {{Формула|f=WX\rightarrow WY}} (1 ФЗ и пополняем W);&lt;br /&gt;
# {{Формула|f=WY\rightarrow Z}} (по условию);&lt;br /&gt;
# {{Формула|f=WX\rightarrow Z}} (по аксиоме транзитивности).&lt;br /&gt;
&lt;br /&gt;
== Замыкание множества атрибутов ==&lt;br /&gt;
&lt;br /&gt;
Замыкание {{Формула|f=F^+}} может включать в себя очень большое количество ФЗ. Например:&lt;br /&gt;
&lt;br /&gt;
$F=(X\rightarrow A_1, X\rightarrow A_2 ... X\rightarrow A_n)$&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=X\rightarrow Y \subseteq F^+}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=Y \subseteq (A_1, A_2 ... A_n)}} и таких подмножеств может быть {{Формула|f=2^n}}&lt;br /&gt;
&lt;br /&gt;
Поэтому &amp;quot;в лоб&amp;quot; замыкание {{Формула|f=F^+}} никто не строит. Но необходимо найти какой-то метод, который достаточно просто позволял бы выяснять, принадлежит ли произвольная ФЗ {{Формула|f=X\rightarrow Y}} к {{Формула|f=F^+}}&lt;br /&gt;
&lt;br /&gt;
Для этого применяется &#039;&#039;замыкание множества атрибутов&#039;&#039;. Пусть {{Формула|f=R}} - универсальная схема отношения, а {{Формула|f=X}} - некоторое подмножество атрибутов. Тогда замыканием множества атрибутов {{Формула|f=X^+}} называется совокупность атрибутов {{Формула|f=A_{i1}, A_{i2} ... A_{ik} }} таких, что {{Формула|f=X\rightarrow A_{i1}, X\rightarrow A_{i2} ... X\rightarrow A_{ik} }}&lt;br /&gt;
&lt;br /&gt;
=== Алгоритм построения ===&lt;br /&gt;
&lt;br /&gt;
Алгоритм является итерационной процедурой.&lt;br /&gt;
&lt;br /&gt;
# полагаем {{Формула|f=i = 0}} и {{Формула|f=X_0^+=X}}, а {{Формула|f=X_i^+}} - замыкание множества атрибутов на i-том шаге;&lt;br /&gt;
# {{Формула|f=X _{i+1} ^+ = X _i ^+ \bigcup V}}, где V - такое множество атрибутов в F, что существует ФЗ {{Формула|f=Y\rightarrow Z}}, где {{Формула|f=Y \subseteq X _i ^+}}, {{Формула|f=V \subseteq Z}};&lt;br /&gt;
# если {{Формула|f=X_{i+1}^+ = X_i^+}}, то {{Формула|f=X^+ = X_i^+}}, иначе {{Формула|f=i = i + 1}} и возвращаемся в пункт 2.&lt;br /&gt;
&lt;br /&gt;
==== Пример построения ====&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=R=(A, B, C, D, E, G)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=F=(AB\rightarrow C, C\rightarrow A, BC\rightarrow D, ACD\rightarrow B, D\rightarrow EG, BE\rightarrow C, CG\rightarrow BD, CE\rightarrow AG)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=X = BD}}&lt;br /&gt;
&lt;br /&gt;
Надо построить {{Формула|f=X^+}}:&lt;br /&gt;
&lt;br /&gt;
1) {{Формула|f=i = 0}}, {{Формула|f=X _0 ^+ = BD}}&lt;br /&gt;
&lt;br /&gt;
2) &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! {{Формула|f=i}} !! {{Формула|f=Y\rightarrow Z}}, для которых {{Формула|f=Y \subseteq X_i^+}} !! {{Формула|f=V\subseteq Z}} !! {{Формула|f=X_{i+1}^+ = X_i^+\bigcup V}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 0 || {{Формула|f=D\rightarrow EG}} || {{Формула|f=EG}} || {{Формула|f=BDEG}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || {{Формула|f=BE\rightarrow C}} || {{Формула|f=C}} || {{Формула|f=BDEGC}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 2 || {{Формула|f=C\rightarrow A}}&amp;lt;br&amp;gt;{{Формула|f=BC\rightarrow D}}&amp;lt;br&amp;gt;{{Формула|f=CG\rightarrow BD}}&amp;lt;br&amp;gt;{{Формула|f=CE\rightarrow AG}} || {{Формула|f=A}} || {{Формула|f=BDEGCA}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || {{Формула|f=AB\rightarrow C}}&amp;lt;br&amp;gt;{{Формула|f=ACD\rightarrow B}} || - || {{Формула|f=BDEGCA}}&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
Получили, что {{Формула|f=X_4^+ = X_3^+}}, а значит {{Формула|f=X^+ = X_3^+ = BDEGCA}}&lt;br /&gt;
&lt;br /&gt;
Это означает, что имеют место следующие ФЗ: $BD\rightarrow B$, {{Формула|f=BD\rightarrow D}}, {{Формула|f=BD\rightarrow E}}, {{Формула|f=BD\rightarrow G}}, {{Формула|f=BD\rightarrow C}}, {{Формула|f=BD\rightarrow A}}, и все они {{Формула|f=\subseteq F^+}}&lt;br /&gt;
&lt;br /&gt;
Короче, чтобы проверить {{Формула|f=X\rightarrow Y \subseteq F^+}}, необходимо построить {{Формула|f=X^+}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Теоретические основы реляционной алгебры (9 семестр)]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>195.38.23.97</name></author>
	</entry>
	<entry>
		<id>https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%962_-_%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8&amp;diff=2550</id>
		<title>ТОРА (9) - Лекция №2 - Функциональные зависимости</title>
		<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%962_-_%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8&amp;diff=2550"/>
		<updated>2013-01-15T10:04:40Z</updated>

		<summary type="html">&lt;p&gt;195.38.23.97: /* Алгоритм построения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Функциональные зависимости, замыкание множества функциональных зависимостей, атрибутов.&lt;br /&gt;
&lt;br /&gt;
== Функциональные зависимости ==&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=R=(A_1 ... A_n)}} является функциональной схемой отношения и {{Формула|f=X}}, {{Формула|f=Y}} - некоторые подмножества атрибутов этой схемы. Говорят, что {{Формула|f=X}} функционально определяет {{Формула|f=Y}} ({{Формула|f=X\rightarrow Y}}), если в любом экземпляре отношения со схемой {{Формула|f=R}} не существует двух кортежей, совпадающих по подмножеству {{Формула|f=X}} и не совпадающих по подмножеству {{Формула|f=Y}}&lt;br /&gt;
&lt;br /&gt;
Иначе говоря, если два кортежа совпадают по {{Формула|f=x}}, то они должны совпадать и по {{Формула|f=y}}&lt;br /&gt;
&lt;br /&gt;
Например, {{Формула|f=R=(A_1, A_2, A_3, A_4)}}, есть зависимости:&lt;br /&gt;
* {{Формула|f=A_1\rightarrow A_2}} (1)&lt;br /&gt;
* {{Формула|f=A_1A_3\rightarrow A_4}} (2)&lt;br /&gt;
&lt;br /&gt;
Предположим, что имеет место один экземпляр отношения со схемой {{Формула|f=R}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} || фирма X || улица Ленина, д.1 || сахар || 40&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | фирма X || улица Ленина, д.1 || карамель || 50&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | фирма X || улица Ленина, д.1 || пастила || 90&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
Вторая ФЗ (2) имеет место быть, так как нет двух кортежей, совпадающих по этой паре. А первая ФЗ (1) не имеет место быть.&lt;br /&gt;
&lt;br /&gt;
== Замыкание множества функциональных зависимостей ==&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=R}} - универсальная схема отношения, а {{Формула|f=F}} - исходное множество функциональной зависимости на этой схеме. Замыканием {{Формула|f=F}} называется всё множество функциональной зависимости, которое логически следует из {{Формула|f=F}} - обозначается как {{Формула|f=F^+}}&lt;br /&gt;
&lt;br /&gt;
Функциональная зависимость логически следует из {{Формула|f=F}}, если её можно вывести (получить) с помощью аксиом Армстронга.&lt;br /&gt;
&lt;br /&gt;
=== Аксиомы Армстронга ===&lt;br /&gt;
&lt;br /&gt;
Или правила вывода функциональной зависимости. Существуют различные интерпретации аксиом, но все эквивалентны. Потому приведём только один вариант.&lt;br /&gt;
&lt;br /&gt;
Аксиомы Армстронга являются надёжными и полными.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Надёжность&#039;&#039;&#039; - если ФЗ выводится с помощью аксиом Армстронга, то она справедлива во всех экземплярах отношения, где справедливы исходные ФЗ {{Формула|f=F}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Полнота&#039;&#039;&#039; - если имеет место какая-либо ФЗ, то она обязательно может быть выведена с помощью аксиом Армстронга.&lt;br /&gt;
&lt;br /&gt;
==== Рефлексивность ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=Y \subseteq X \subseteq R}}&lt;br /&gt;
&lt;br /&gt;
то {{Формула|f=X\rightarrow Y}}. Тривиальная аксиома.&lt;br /&gt;
&lt;br /&gt;
==== Дополнение ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=X\rightarrow Y}},&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=Z \subseteq R}} ({{Формула|f=Z}} может быть пустым),&lt;br /&gt;
&lt;br /&gt;
тогда {{Формула|f=X\bigcup Y\rightarrow Y\bigcup Z}} или {{Формула|f=XZ\rightarrow YZ}}&lt;br /&gt;
&lt;br /&gt;
==== Транзитивность ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=X\rightarrow Y}}&lt;br /&gt;
&lt;br /&gt;
а {{Формула|f=Y\rightarrow Z}}&lt;br /&gt;
&lt;br /&gt;
то {{Формула|f=X\rightarrow Z}}&lt;br /&gt;
&lt;br /&gt;
=== Пример построения множества ФЗ ===&lt;br /&gt;
&lt;br /&gt;
Пусть задана УСО (универсальная схема отношения) {{Формула|f=R=(A, B, C)}} и зависимости {{Формула|f=F=(A\rightarrow B, B\rightarrow C)}}&lt;br /&gt;
&lt;br /&gt;
# {{Формула|f=A\rightarrow A}}, {{Формула|f=B\rightarrow B}}, {{Формула|f=C\rightarrow C}}, {{Формула|f=AB\rightarrow A}}, {{Формула|f=AB\rightarrow B}}, {{Формула|f=AC\rightarrow A}}, {{Формула|f=AC\rightarrow C}}, {{Формула|f=BC\rightarrow B}}, {{Формула|f=BC\rightarrow C}}, {{Формула|f=ABC\rightarrow A}}, {{Формула|f=ABC\rightarrow C}}, {{Формула|f=AB\rightarrow AB}}, {{Формула|f=AC\rightarrow AC}}, {{Формула|f=BC\rightarrow BC}}, {{Формула|f=ABC\rightarrow AB}}, {{Формула|f=ABC\rightarrow AC}}, {{Формула|f=ABC\rightarrow BC}}, {{Формула|f=ABC\rightarrow ABC}}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# {{Формула|f=A\rightarrow AB}} (1ФЗ и пополняем A), {{Формула|f=AC\rightarrow BC}}, {{Формула|f=B\rightarrow BC}} (2 ФЗ и пополняем B), {{Формула|f=AB\rightarrow AC}}, {{Формула|f=AC\rightarrow ABC}}, {{Формула|f=AB\rightarrow ABC}}, {{Формула|f=AB\rightarrow BC}}, {{Формула|f=A\rightarrow AC}}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# {{Формула|f=A\rightarrow C}} (1 и 2 ФЗ), {{Формула|f=A\rightarrow ABC}}&lt;br /&gt;
&lt;br /&gt;
Всё, замыкание ({{Формула|f=F^+}}) построено. Все перечисленные зависимости образуют замыкание.&lt;br /&gt;
&lt;br /&gt;
=== Лемма ===&lt;br /&gt;
&lt;br /&gt;
Справедливы следующие правила. Для их доказательства необходимо пополнить ФЗ так, чтобы можно было использовать аксиомы.&lt;br /&gt;
&lt;br /&gt;
==== Правило объединения ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=X\rightarrow Y}} и {{Формула|f=X\rightarrow Z}}, то {{Формула|f=X\rightarrow YZ}}&lt;br /&gt;
&lt;br /&gt;
Доказательство:&lt;br /&gt;
# {{Формула|f=X\rightarrow XY}} (1 ФЗ и пополняем X);&lt;br /&gt;
# {{Формула|f=XY\rightarrow YZ}} (2 ФЗ и пополняем Y);&lt;br /&gt;
# {{Формула|f=X\rightarrow YZ}} (по аксиоме транзитивности).&lt;br /&gt;
&lt;br /&gt;
==== Правило декомпозиции ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=X\rightarrow Y}}, а {{Формула|f=Z \subseteq Y}}, то {{Формула|f=X\rightarrow Z}}&lt;br /&gt;
&lt;br /&gt;
Доказательство:&lt;br /&gt;
# {{Формула|f=X\rightarrow Y}} (по условию);&lt;br /&gt;
# {{Формула|f=Y\rightarrow Z}} (по аксиоме рефлексивности);&lt;br /&gt;
# {{Формула|f=X\rightarrow Z}} (по аксиоме транзитивности).&lt;br /&gt;
&lt;br /&gt;
==== Правило псевдотранзитивности ====&lt;br /&gt;
&lt;br /&gt;
Если {{Формула|f=X\rightarrow Y}} и {{Формула|f=WY\rightarrow Z}}, то {{Формула|f=WX\rightarrow Z}}&lt;br /&gt;
&lt;br /&gt;
Доказательство:&lt;br /&gt;
# {{Формула|f=WX\rightarrow WY}} (1 ФЗ и пополняем W);&lt;br /&gt;
# {{Формула|f=WY\rightarrow Z}} (по условию);&lt;br /&gt;
# {{Формула|f=WX\rightarrow Z}} (по аксиоме транзитивности).&lt;br /&gt;
&lt;br /&gt;
== Замыкание множества атрибутов ==&lt;br /&gt;
&lt;br /&gt;
Замыкание {{Формула|f=F^+}} может включать в себя очень большое количество ФЗ. Например:&lt;br /&gt;
&lt;br /&gt;
$F=(X\rightarrow A_1, X\rightarrow A_2 ... X\rightarrow A_n)$&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=X\rightarrow Y \subseteq F^+}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=Y \subseteq (A_1, A_2 ... A_n)}} и таких подмножеств может быть {{Формула|f=2^n}}&lt;br /&gt;
&lt;br /&gt;
Поэтому &amp;quot;в лоб&amp;quot; замыкание {{Формула|f=F^+}} никто не строит. Но необходимо найти какой-то метод, который достаточно просто позволял бы выяснять, принадлежит ли произвольная ФЗ {{Формула|f=X\rightarrow Y}} к {{Формула|f=F^+}}&lt;br /&gt;
&lt;br /&gt;
Для этого применяется &#039;&#039;замыкание множества атрибутов&#039;&#039;. Пусть {{Формула|f=R}} - универсальная схема отношения, а {{Формула|f=X}} - некоторое подмножество атрибутов. Тогда замыканием множества атрибутов {{Формула|f=X^+}} называется совокупность атрибутов {{Формула|f=A_{i1}, A_{i2} ... A_{ik} }} таких, что {{Формула|f=X\rightarrow A_{i1}, X\rightarrow A_{i2} ... X\rightarrow A_{ik} }}&lt;br /&gt;
&lt;br /&gt;
=== Алгоритм построения ===&lt;br /&gt;
&lt;br /&gt;
Алгоритм является итерационной процедурой.&lt;br /&gt;
&lt;br /&gt;
# полагаем {{Формула|f=i = 0}} и {{Формула|f=X_0^+=X}}, а {{Формула|f=X_i^+}} - замыкание множества атрибутов на i-том шаге;&lt;br /&gt;
# {{Формула|f=X _{i+1} ^+ = X _i ^+ \bigcup V}}, где V - такое множество атрибутов в F, что существует ФЗ {{Формула|f=Y\rightarrow Z}}, {{Формула|f=Y \subseteq X _i ^+}}, {{Формула|f=V \subseteq Z}};&lt;br /&gt;
# если {{Формула|f=X_{i+1}^+ = X_i^+}}, то {{Формула|f=X^+ = X_i^+}}, иначе {{Формула|f=i = i + 1}} и возвращаемся в пункт 2.&lt;br /&gt;
&lt;br /&gt;
==== Пример построения ====&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=R=(A, B, C, D, E, G)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=F=(AB\rightarrow C, C\rightarrow A, BC\rightarrow D, ACD\rightarrow B, D\rightarrow EG, BE\rightarrow C, CG\rightarrow BD, CE\rightarrow AG)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=X = BD}}&lt;br /&gt;
&lt;br /&gt;
Надо построить {{Формула|f=X^+}}:&lt;br /&gt;
&lt;br /&gt;
1) {{Формула|f=i = 0}}, {{Формула|f=X _0 ^+ = BD}}&lt;br /&gt;
&lt;br /&gt;
2) &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! {{Формула|f=i}} !! {{Формула|f=Y\rightarrow Z}}, для которых {{Формула|f=Y \subseteq X_i^+}} !! {{Формула|f=V\subseteq Z}} !! {{Формула|f=X_{i+1}^+ = X_i^+\bigcup V}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 0 || {{Формула|f=D\rightarrow EG}} || {{Формула|f=EG}} || {{Формула|f=BDEG}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || {{Формула|f=BE\rightarrow C}} || {{Формула|f=C}} || {{Формула|f=BDEGC}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 2 || {{Формула|f=C\rightarrow A}}&amp;lt;br&amp;gt;{{Формула|f=BC\rightarrow D}}&amp;lt;br&amp;gt;{{Формула|f=CG\rightarrow BD}}&amp;lt;br&amp;gt;{{Формула|f=CE\rightarrow AG}} || {{Формула|f=A}} || {{Формула|f=BDEGCA}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || {{Формула|f=AB\rightarrow C}}&amp;lt;br&amp;gt;{{Формула|f=ACD\rightarrow B}} || - || {{Формула|f=BDEGCA}}&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
Получили, что {{Формула|f=X_4^+ = X_3^+}}, а значит {{Формула|f=X^+ = X_3^+ = BDEGCA}}&lt;br /&gt;
&lt;br /&gt;
Это означает, что имеют место следующие ФЗ: $BD\rightarrow B$, {{Формула|f=BD\rightarrow D}}, {{Формула|f=BD\rightarrow E}}, {{Формула|f=BD\rightarrow G}}, {{Формула|f=BD\rightarrow C}}, {{Формула|f=BD\rightarrow A}}, и все они {{Формула|f=\subseteq F^+}}&lt;br /&gt;
&lt;br /&gt;
Короче, чтобы проверить {{Формула|f=X\rightarrow Y \subseteq F^+}}, необходимо построить {{Формула|f=X^+}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Теоретические основы реляционной алгебры (9 семестр)]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>195.38.23.97</name></author>
	</entry>
	<entry>
		<id>https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%961_-_%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B&amp;diff=2549</id>
		<title>ТОРА (9) - Лекция №1 - Операции реляционной алгебры</title>
		<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%961_-_%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B&amp;diff=2549"/>
		<updated>2013-01-15T08:32:42Z</updated>

		<summary type="html">&lt;p&gt;195.38.23.97: /* Естественное соединение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
&lt;br /&gt;
=== Схема отношения ===&lt;br /&gt;
&lt;br /&gt;
Это поименованная совокупность атрибутов.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (A_1, ..., A_n)}}, где {{Формула|f=A_i}} - некоторый атрибут из домена отношения.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)=(A_1, A_2, A_3, A_4)}}.&lt;br /&gt;
&lt;br /&gt;
Здесь {{Формула|f=(A_1, A_3)}} - ключ, определяющий запись.&lt;br /&gt;
&lt;br /&gt;
=== Степень схемы отношения ===&lt;br /&gt;
&lt;br /&gt;
Это количество атрибутов в схеме.&lt;br /&gt;
&lt;br /&gt;
Для {{Формула|f=R = (A_1, A_2, A_3, A_4)}} степень равна 4.&lt;br /&gt;
&lt;br /&gt;
=== Экземпляр отношения ===&lt;br /&gt;
&lt;br /&gt;
Это конкретная таблица с данной схемой отношения.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Идентификатор !! Адрес !! Товар !! Цена&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | ОАО &amp;quot;Х&amp;quot; || Ленина, 2 || сахар || 40&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | ОАО &amp;quot;У&amp;quot; || Комсомола, 25 || соль || 5&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Кортеж ===&lt;br /&gt;
&lt;br /&gt;
Любая одна строка в таблице экземпляра отношения.&lt;br /&gt;
&lt;br /&gt;
=== Схема БД ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=A}} - множество всех атрибутов некоторой предметной области (универсальная схема отношения).&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_1, ..., R_n}} - совокупность атрибутов.&lt;br /&gt;
&lt;br /&gt;
Тогда {{Формула|f=\rho=(R_1, ..., R_n)}} называется схемой БД.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=A = (A_1, A_2, A_3, A_4)}}&lt;br /&gt;
&lt;br /&gt;
и две схемы: {{Формула|f=R_1 = (A_1, A_2)$ и $R_2 = (A_1, A_3, A_4)}}&lt;br /&gt;
&lt;br /&gt;
Так как {{Формула|f=R_1\bigcup R_2 = A}}, то {{Формула|f=\rho = (R_1, R_2)}}.&lt;br /&gt;
&lt;br /&gt;
== Примеры схем БД ==&lt;br /&gt;
&lt;br /&gt;
=== Пример &amp;quot;плохой&amp;quot; схемы БД ===&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=A = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
и есть одна схема {{Формула|f=\rho = R_1 = A}}&lt;br /&gt;
&lt;br /&gt;
Данная схема БД обладает следующими недостатками (аномалиями):&lt;br /&gt;
* избыточность. Адрес поставщика повторяется для каждого поставляемого им товара;&lt;br /&gt;
* потенциальная противоречивость. Если у поставщика меняется адрес, то его необходимо изменить во всех кортежах, в которые он входит;&lt;br /&gt;
* аномалия включения кортежа. В выбранном отношении {{Формула|f=R_1}} пара атрибутов идентификатор-товар является ключом. При включении новой записи, атрибуты ключа не должны быть пустыми, поэтому в БД нельзя включить поставщика, если он в данный момент не поставляет товар;&lt;br /&gt;
* аномалия удаления. При удалении всех товаров, поставляемых поставщиком, теряется информация о самом поставщике.&lt;br /&gt;
Первопричиной этих недостатков является то, что {{Формула|f=R_1}} не находится в {{Википедия|Третья_нормальная_форма|3НФ}}&lt;br /&gt;
&lt;br /&gt;
=== Пример &amp;quot;хорошей&amp;quot; схемы БД ===&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=A = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_1 = (}}идентификатор, адрес{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_2 = (}}товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
Схема {{Формула|f=\rho = (R_1, R_2)}} находится в 3НФ и не обладает перечисленными выше недостатками.&lt;br /&gt;
&lt;br /&gt;
== Основные операции реляционной алгебры ==&lt;br /&gt;
&lt;br /&gt;
=== Объединение отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R=R_1\bigcup R_2}}&lt;br /&gt;
&lt;br /&gt;
Объединение отношений - это отношение, каждый кортеж которого принадлежит либо {{Формула|f=R_1}}, либо {{Формула|f=R_2}}.&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 5 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Дублирование кортежей не допускается.&lt;br /&gt;
&lt;br /&gt;
=== Пересечение отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = R_1\bigcap R_2}}&lt;br /&gt;
&lt;br /&gt;
Пересечение отношений - это отношение, каждый кортеж которого принадлежит и {{Формула|f=R_1}}, и {{Формула|f=R_2}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Разность отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = R_1 - R_2}}&lt;br /&gt;
&lt;br /&gt;
Разность отношений - это отношение, кортежи которого принадлежат {{Формула|f=R_1}} и не принадлежат {{Формула|f=R_2}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R}} &lt;br /&gt;
 | 3 || 4&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Декартово произведение ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R, S}} - две схемы отношения со степенями {{Формула|f=k_1}} и {{Формула|f=k_2}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = R \times S}}&lt;br /&gt;
&lt;br /&gt;
Декартово произведение - это отношение {{Формула|f=t}} со степенью {{Формула|f=k_1 + k_2}}, кортежи которого получаются {{Википедия|Конкатенация|конкатенацией}} кортежей из отношений {{Формула|f=R}} и {{Формула|f=S}}.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_3}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=S}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 7 || 8&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=R.A_2}} !! {{Формула|f=A_2}} !! {{Формула|f=S.A_1}} !! {{Формула|f=A_3}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;4&amp;quot; | {{Формула|f=t}} &lt;br /&gt;
 | 1 || 2 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 7 || 8&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Проекция ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t=\Pi_{A_{i1} ... A_{ik} }(R) }}&lt;br /&gt;
&lt;br /&gt;
Проекция - это отношение, каждый кортеж которого состоит из значений атрибутов {{Формула|f=A_{i1} ... A_{ik} }} исходного отношения {{Формула|f=R}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;4&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2 || 3 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 7 || 8 || 9 || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 7 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=t = \Pi_{A_1, A_4}(R)}} &lt;br /&gt;
 | 1 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 7 || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Селекция ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = \sigma_F(R)}}&lt;br /&gt;
&lt;br /&gt;
Селекция - это отношение, каждый кортеж которого принадлежит исходному отношению {{Формула|f=R}} и удовлетворяет логическому условию {{Формула|f=F}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 9 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 3&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t = \sigma_{A_1\leq A_2}(R)}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 3&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Естественное соединение ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = R\bowtie S}}&lt;br /&gt;
&lt;br /&gt;
Определение этой операции следует из способа построения естественного соединения.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
  | 1 || 2 || 3&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 4 || 6 || 7&lt;br /&gt;
  |}&lt;br /&gt;
  | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
  ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=S}} &lt;br /&gt;
  | 1 || 2 || 7 || 8&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 8 || 9 || 10 || 11&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 5 || 6 || 9 || 16&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Построение естественного соединения:&lt;br /&gt;
&lt;br /&gt;
:1) построить декартово произведение {{Формула|f=R\times S}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=S.A_1}} !! {{Формула|f=S.A_2}}!! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;6&amp;quot; | {{Формула|f=t_1}} &lt;br /&gt;
 | 1 || 2 || 3 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 3 || 8 || 9 || 10 || 11&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 3 || 4 || 6 || 9 || 16&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 8 || 9 || 10 || 11&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 4 || 6 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
:2) выбрать из этого произведения кортежи по условию {{Формула|f=R.A_{i1} = S.A_{i1} ... R.A_{ik} = S.A_{ik} }}, где {{Формула|f=A_i ... A_k}} - общие атрибуты в схемах отношений {{Формула|f=R}} и {{Формула|f=S}} (предполагается, что эти атрибуты занимают одинаковое положение в отношениях. Хотя не обязательно)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=S.A_1}} !! {{Формула|f=S.A_2}}!! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_2}} &lt;br /&gt;
 | 1 || 2 || 3 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 4 || 6 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
:3) удалить из полученного отношения {{Формула|f=S.A_{i1} ... S.A_{ik} }}, потому что они будут дублирующими.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_3}} &lt;br /&gt;
 | 1 || 2 || 3 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Теоретические основы реляционной алгебры (9 семестр)]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>195.38.23.97</name></author>
	</entry>
	<entry>
		<id>https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%961_-_%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B&amp;diff=2548</id>
		<title>ТОРА (9) - Лекция №1 - Операции реляционной алгебры</title>
		<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%961_-_%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B&amp;diff=2548"/>
		<updated>2013-01-15T08:32:12Z</updated>

		<summary type="html">&lt;p&gt;195.38.23.97: /* Естественное соединение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
&lt;br /&gt;
=== Схема отношения ===&lt;br /&gt;
&lt;br /&gt;
Это поименованная совокупность атрибутов.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (A_1, ..., A_n)}}, где {{Формула|f=A_i}} - некоторый атрибут из домена отношения.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)=(A_1, A_2, A_3, A_4)}}.&lt;br /&gt;
&lt;br /&gt;
Здесь {{Формула|f=(A_1, A_3)}} - ключ, определяющий запись.&lt;br /&gt;
&lt;br /&gt;
=== Степень схемы отношения ===&lt;br /&gt;
&lt;br /&gt;
Это количество атрибутов в схеме.&lt;br /&gt;
&lt;br /&gt;
Для {{Формула|f=R = (A_1, A_2, A_3, A_4)}} степень равна 4.&lt;br /&gt;
&lt;br /&gt;
=== Экземпляр отношения ===&lt;br /&gt;
&lt;br /&gt;
Это конкретная таблица с данной схемой отношения.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Идентификатор !! Адрес !! Товар !! Цена&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | ОАО &amp;quot;Х&amp;quot; || Ленина, 2 || сахар || 40&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | ОАО &amp;quot;У&amp;quot; || Комсомола, 25 || соль || 5&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Кортеж ===&lt;br /&gt;
&lt;br /&gt;
Любая одна строка в таблице экземпляра отношения.&lt;br /&gt;
&lt;br /&gt;
=== Схема БД ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=A}} - множество всех атрибутов некоторой предметной области (универсальная схема отношения).&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_1, ..., R_n}} - совокупность атрибутов.&lt;br /&gt;
&lt;br /&gt;
Тогда {{Формула|f=\rho=(R_1, ..., R_n)}} называется схемой БД.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=A = (A_1, A_2, A_3, A_4)}}&lt;br /&gt;
&lt;br /&gt;
и две схемы: {{Формула|f=R_1 = (A_1, A_2)$ и $R_2 = (A_1, A_3, A_4)}}&lt;br /&gt;
&lt;br /&gt;
Так как {{Формула|f=R_1\bigcup R_2 = A}}, то {{Формула|f=\rho = (R_1, R_2)}}.&lt;br /&gt;
&lt;br /&gt;
== Примеры схем БД ==&lt;br /&gt;
&lt;br /&gt;
=== Пример &amp;quot;плохой&amp;quot; схемы БД ===&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=A = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
и есть одна схема {{Формула|f=\rho = R_1 = A}}&lt;br /&gt;
&lt;br /&gt;
Данная схема БД обладает следующими недостатками (аномалиями):&lt;br /&gt;
* избыточность. Адрес поставщика повторяется для каждого поставляемого им товара;&lt;br /&gt;
* потенциальная противоречивость. Если у поставщика меняется адрес, то его необходимо изменить во всех кортежах, в которые он входит;&lt;br /&gt;
* аномалия включения кортежа. В выбранном отношении {{Формула|f=R_1}} пара атрибутов идентификатор-товар является ключом. При включении новой записи, атрибуты ключа не должны быть пустыми, поэтому в БД нельзя включить поставщика, если он в данный момент не поставляет товар;&lt;br /&gt;
* аномалия удаления. При удалении всех товаров, поставляемых поставщиком, теряется информация о самом поставщике.&lt;br /&gt;
Первопричиной этих недостатков является то, что {{Формула|f=R_1}} не находится в {{Википедия|Третья_нормальная_форма|3НФ}}&lt;br /&gt;
&lt;br /&gt;
=== Пример &amp;quot;хорошей&amp;quot; схемы БД ===&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=A = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_1 = (}}идентификатор, адрес{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_2 = (}}товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
Схема {{Формула|f=\rho = (R_1, R_2)}} находится в 3НФ и не обладает перечисленными выше недостатками.&lt;br /&gt;
&lt;br /&gt;
== Основные операции реляционной алгебры ==&lt;br /&gt;
&lt;br /&gt;
=== Объединение отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R=R_1\bigcup R_2}}&lt;br /&gt;
&lt;br /&gt;
Объединение отношений - это отношение, каждый кортеж которого принадлежит либо {{Формула|f=R_1}}, либо {{Формула|f=R_2}}.&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 5 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Дублирование кортежей не допускается.&lt;br /&gt;
&lt;br /&gt;
=== Пересечение отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = R_1\bigcap R_2}}&lt;br /&gt;
&lt;br /&gt;
Пересечение отношений - это отношение, каждый кортеж которого принадлежит и {{Формула|f=R_1}}, и {{Формула|f=R_2}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Разность отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = R_1 - R_2}}&lt;br /&gt;
&lt;br /&gt;
Разность отношений - это отношение, кортежи которого принадлежат {{Формула|f=R_1}} и не принадлежат {{Формула|f=R_2}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R}} &lt;br /&gt;
 | 3 || 4&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Декартово произведение ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R, S}} - две схемы отношения со степенями {{Формула|f=k_1}} и {{Формула|f=k_2}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = R \times S}}&lt;br /&gt;
&lt;br /&gt;
Декартово произведение - это отношение {{Формула|f=t}} со степенью {{Формула|f=k_1 + k_2}}, кортежи которого получаются {{Википедия|Конкатенация|конкатенацией}} кортежей из отношений {{Формула|f=R}} и {{Формула|f=S}}.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_3}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=S}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 7 || 8&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=R.A_2}} !! {{Формула|f=A_2}} !! {{Формула|f=S.A_1}} !! {{Формула|f=A_3}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;4&amp;quot; | {{Формула|f=t}} &lt;br /&gt;
 | 1 || 2 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 7 || 8&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Проекция ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t=\Pi_{A_{i1} ... A_{ik} }(R) }}&lt;br /&gt;
&lt;br /&gt;
Проекция - это отношение, каждый кортеж которого состоит из значений атрибутов {{Формула|f=A_{i1} ... A_{ik} }} исходного отношения {{Формула|f=R}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;4&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2 || 3 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 7 || 8 || 9 || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 7 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=t = \Pi_{A_1, A_4}(R)}} &lt;br /&gt;
 | 1 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 7 || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Селекция ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = \sigma_F(R)}}&lt;br /&gt;
&lt;br /&gt;
Селекция - это отношение, каждый кортеж которого принадлежит исходному отношению {{Формула|f=R}} и удовлетворяет логическому условию {{Формула|f=F}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 9 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 3&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t = \sigma_{A_1\leq A_2}(R)}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 3&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Естественное соединение ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = R\bowtie S}}&lt;br /&gt;
&lt;br /&gt;
Определение этой операции следует из способа построения естественного соединения.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
  | 1 || 2 || 3&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 4 || 6 || 7&lt;br /&gt;
  |}&lt;br /&gt;
  | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
  ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=S}} &lt;br /&gt;
  | 1 || 2 || 7 || 8&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 8 || 9 || 10 || 11&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 5 || 6 || 9 || 16&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Построение естественного соединения:&lt;br /&gt;
&lt;br /&gt;
:1) построить декартово произведение {{Формула|f=R\times S}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=S.A_1}} !! {{Формула|f=S.A_2}}!! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;6&amp;quot; | {{Формула|f=t_1}} &lt;br /&gt;
 | 1 || 2 || 3 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 3 || 8 || 9 || 10 || 11&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 3 || 4 || 6 || 9 || 16&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 8 || 9 || 10 || 11&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 4 || 6 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
:2) выбрать из этого произведения кортежи по условию {{Формула|f=R.A_{i1} = S.A_{i1} ... R.A_{ik} = S.A_{ik} }}, где {{Формула|f=A_{i1} ... A_{ik}}} - общие атрибуты в схемах отношений {{Формула|f=R}} и {{Формула|f=S}} (предполагается, что эти атрибуты занимают одинаковое положение в отношениях. Хотя не обязательно)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=S.A_1}} !! {{Формула|f=S.A_2}}!! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_2}} &lt;br /&gt;
 | 1 || 2 || 3 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 4 || 6 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
:3) удалить из полученного отношения {{Формула|f=S.A_{i1} ... S.A_{ik} }}, потому что они будут дублирующими.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_3}} &lt;br /&gt;
 | 1 || 2 || 3 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Теоретические основы реляционной алгебры (9 семестр)]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>195.38.23.97</name></author>
	</entry>
	<entry>
		<id>https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%961_-_%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B&amp;diff=2547</id>
		<title>ТОРА (9) - Лекция №1 - Операции реляционной алгебры</title>
		<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%961_-_%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B&amp;diff=2547"/>
		<updated>2013-01-15T08:31:28Z</updated>

		<summary type="html">&lt;p&gt;195.38.23.97: /* Естественное соединение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
&lt;br /&gt;
=== Схема отношения ===&lt;br /&gt;
&lt;br /&gt;
Это поименованная совокупность атрибутов.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (A_1, ..., A_n)}}, где {{Формула|f=A_i}} - некоторый атрибут из домена отношения.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)=(A_1, A_2, A_3, A_4)}}.&lt;br /&gt;
&lt;br /&gt;
Здесь {{Формула|f=(A_1, A_3)}} - ключ, определяющий запись.&lt;br /&gt;
&lt;br /&gt;
=== Степень схемы отношения ===&lt;br /&gt;
&lt;br /&gt;
Это количество атрибутов в схеме.&lt;br /&gt;
&lt;br /&gt;
Для {{Формула|f=R = (A_1, A_2, A_3, A_4)}} степень равна 4.&lt;br /&gt;
&lt;br /&gt;
=== Экземпляр отношения ===&lt;br /&gt;
&lt;br /&gt;
Это конкретная таблица с данной схемой отношения.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Идентификатор !! Адрес !! Товар !! Цена&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | ОАО &amp;quot;Х&amp;quot; || Ленина, 2 || сахар || 40&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | ОАО &amp;quot;У&amp;quot; || Комсомола, 25 || соль || 5&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Кортеж ===&lt;br /&gt;
&lt;br /&gt;
Любая одна строка в таблице экземпляра отношения.&lt;br /&gt;
&lt;br /&gt;
=== Схема БД ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=A}} - множество всех атрибутов некоторой предметной области (универсальная схема отношения).&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_1, ..., R_n}} - совокупность атрибутов.&lt;br /&gt;
&lt;br /&gt;
Тогда {{Формула|f=\rho=(R_1, ..., R_n)}} называется схемой БД.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=A = (A_1, A_2, A_3, A_4)}}&lt;br /&gt;
&lt;br /&gt;
и две схемы: {{Формула|f=R_1 = (A_1, A_2)$ и $R_2 = (A_1, A_3, A_4)}}&lt;br /&gt;
&lt;br /&gt;
Так как {{Формула|f=R_1\bigcup R_2 = A}}, то {{Формула|f=\rho = (R_1, R_2)}}.&lt;br /&gt;
&lt;br /&gt;
== Примеры схем БД ==&lt;br /&gt;
&lt;br /&gt;
=== Пример &amp;quot;плохой&amp;quot; схемы БД ===&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=A = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
и есть одна схема {{Формула|f=\rho = R_1 = A}}&lt;br /&gt;
&lt;br /&gt;
Данная схема БД обладает следующими недостатками (аномалиями):&lt;br /&gt;
* избыточность. Адрес поставщика повторяется для каждого поставляемого им товара;&lt;br /&gt;
* потенциальная противоречивость. Если у поставщика меняется адрес, то его необходимо изменить во всех кортежах, в которые он входит;&lt;br /&gt;
* аномалия включения кортежа. В выбранном отношении {{Формула|f=R_1}} пара атрибутов идентификатор-товар является ключом. При включении новой записи, атрибуты ключа не должны быть пустыми, поэтому в БД нельзя включить поставщика, если он в данный момент не поставляет товар;&lt;br /&gt;
* аномалия удаления. При удалении всех товаров, поставляемых поставщиком, теряется информация о самом поставщике.&lt;br /&gt;
Первопричиной этих недостатков является то, что {{Формула|f=R_1}} не находится в {{Википедия|Третья_нормальная_форма|3НФ}}&lt;br /&gt;
&lt;br /&gt;
=== Пример &amp;quot;хорошей&amp;quot; схемы БД ===&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=A = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_1 = (}}идентификатор, адрес{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_2 = (}}товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
Схема {{Формула|f=\rho = (R_1, R_2)}} находится в 3НФ и не обладает перечисленными выше недостатками.&lt;br /&gt;
&lt;br /&gt;
== Основные операции реляционной алгебры ==&lt;br /&gt;
&lt;br /&gt;
=== Объединение отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R=R_1\bigcup R_2}}&lt;br /&gt;
&lt;br /&gt;
Объединение отношений - это отношение, каждый кортеж которого принадлежит либо {{Формула|f=R_1}}, либо {{Формула|f=R_2}}.&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 5 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Дублирование кортежей не допускается.&lt;br /&gt;
&lt;br /&gt;
=== Пересечение отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = R_1\bigcap R_2}}&lt;br /&gt;
&lt;br /&gt;
Пересечение отношений - это отношение, каждый кортеж которого принадлежит и {{Формула|f=R_1}}, и {{Формула|f=R_2}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Разность отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = R_1 - R_2}}&lt;br /&gt;
&lt;br /&gt;
Разность отношений - это отношение, кортежи которого принадлежат {{Формула|f=R_1}} и не принадлежат {{Формула|f=R_2}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R}} &lt;br /&gt;
 | 3 || 4&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Декартово произведение ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R, S}} - две схемы отношения со степенями {{Формула|f=k_1}} и {{Формула|f=k_2}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = R \times S}}&lt;br /&gt;
&lt;br /&gt;
Декартово произведение - это отношение {{Формула|f=t}} со степенью {{Формула|f=k_1 + k_2}}, кортежи которого получаются {{Википедия|Конкатенация|конкатенацией}} кортежей из отношений {{Формула|f=R}} и {{Формула|f=S}}.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_3}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=S}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 7 || 8&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=R.A_2}} !! {{Формула|f=A_2}} !! {{Формула|f=S.A_1}} !! {{Формула|f=A_3}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;4&amp;quot; | {{Формула|f=t}} &lt;br /&gt;
 | 1 || 2 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 7 || 8&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Проекция ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t=\Pi_{A_{i1} ... A_{ik} }(R) }}&lt;br /&gt;
&lt;br /&gt;
Проекция - это отношение, каждый кортеж которого состоит из значений атрибутов {{Формула|f=A_{i1} ... A_{ik} }} исходного отношения {{Формула|f=R}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;4&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2 || 3 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 7 || 8 || 9 || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 7 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=t = \Pi_{A_1, A_4}(R)}} &lt;br /&gt;
 | 1 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 7 || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Селекция ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = \sigma_F(R)}}&lt;br /&gt;
&lt;br /&gt;
Селекция - это отношение, каждый кортеж которого принадлежит исходному отношению {{Формула|f=R}} и удовлетворяет логическому условию {{Формула|f=F}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 9 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 3&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t = \sigma_{A_1\leq A_2}(R)}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 3&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Естественное соединение ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = R\bowtie S}}&lt;br /&gt;
&lt;br /&gt;
Определение этой операции следует из способа построения естественного соединения.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
  | 1 || 2 || 3&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 4 || 6 || 7&lt;br /&gt;
  |}&lt;br /&gt;
  | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
  ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=S}} &lt;br /&gt;
  | 1 || 2 || 7 || 8&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 8 || 9 || 10 || 11&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 5 || 6 || 9 || 16&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Построение естественного соединения:&lt;br /&gt;
&lt;br /&gt;
:1) построить декартово произведение {{Формула|f=R\times S}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=S.A_1}} !! {{Формула|f=S.A_2}}!! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;6&amp;quot; | {{Формула|f=t_1}} &lt;br /&gt;
 | 1 || 2 || 3 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 3 || 8 || 9 || 10 || 11&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 3 || 4 || 6 || 9 || 16&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 8 || 9 || 10 || 11&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 4 || 6 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
:2) выбрать из этого произведения кортежи по условию {{Формула|f=R.A_{i1} = S.A_{i1} ... R.A_{ik} = S.A_{ik} }}, где {{Формула|f=A_i = A_i}} - общие атрибуты в схемах отношений {{Формула|f=R}} и {{Формула|f=S}} (предполагается, что эти атрибуты занимают одинаковое положение в отношениях. Хотя не обязательно)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=S.A_1}} !! {{Формула|f=S.A_2}}!! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_2}} &lt;br /&gt;
 | 1 || 2 || 3 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 4 || 6 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
:3) удалить из полученного отношения {{Формула|f=S.A_{i1} ... S.A_{ik} }}, потому что они будут дублирующими.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_3}} &lt;br /&gt;
 | 1 || 2 || 3 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Теоретические основы реляционной алгебры (9 семестр)]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>195.38.23.97</name></author>
	</entry>
	<entry>
		<id>https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%961_-_%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B&amp;diff=2546</id>
		<title>ТОРА (9) - Лекция №1 - Операции реляционной алгебры</title>
		<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%961_-_%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B&amp;diff=2546"/>
		<updated>2013-01-15T08:29:33Z</updated>

		<summary type="html">&lt;p&gt;195.38.23.97: /* Естественное соединение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
&lt;br /&gt;
=== Схема отношения ===&lt;br /&gt;
&lt;br /&gt;
Это поименованная совокупность атрибутов.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (A_1, ..., A_n)}}, где {{Формула|f=A_i}} - некоторый атрибут из домена отношения.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)=(A_1, A_2, A_3, A_4)}}.&lt;br /&gt;
&lt;br /&gt;
Здесь {{Формула|f=(A_1, A_3)}} - ключ, определяющий запись.&lt;br /&gt;
&lt;br /&gt;
=== Степень схемы отношения ===&lt;br /&gt;
&lt;br /&gt;
Это количество атрибутов в схеме.&lt;br /&gt;
&lt;br /&gt;
Для {{Формула|f=R = (A_1, A_2, A_3, A_4)}} степень равна 4.&lt;br /&gt;
&lt;br /&gt;
=== Экземпляр отношения ===&lt;br /&gt;
&lt;br /&gt;
Это конкретная таблица с данной схемой отношения.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Идентификатор !! Адрес !! Товар !! Цена&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | ОАО &amp;quot;Х&amp;quot; || Ленина, 2 || сахар || 40&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | ОАО &amp;quot;У&amp;quot; || Комсомола, 25 || соль || 5&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Кортеж ===&lt;br /&gt;
&lt;br /&gt;
Любая одна строка в таблице экземпляра отношения.&lt;br /&gt;
&lt;br /&gt;
=== Схема БД ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=A}} - множество всех атрибутов некоторой предметной области (универсальная схема отношения).&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_1, ..., R_n}} - совокупность атрибутов.&lt;br /&gt;
&lt;br /&gt;
Тогда {{Формула|f=\rho=(R_1, ..., R_n)}} называется схемой БД.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=A = (A_1, A_2, A_3, A_4)}}&lt;br /&gt;
&lt;br /&gt;
и две схемы: {{Формула|f=R_1 = (A_1, A_2)$ и $R_2 = (A_1, A_3, A_4)}}&lt;br /&gt;
&lt;br /&gt;
Так как {{Формула|f=R_1\bigcup R_2 = A}}, то {{Формула|f=\rho = (R_1, R_2)}}.&lt;br /&gt;
&lt;br /&gt;
== Примеры схем БД ==&lt;br /&gt;
&lt;br /&gt;
=== Пример &amp;quot;плохой&amp;quot; схемы БД ===&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=A = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
и есть одна схема {{Формула|f=\rho = R_1 = A}}&lt;br /&gt;
&lt;br /&gt;
Данная схема БД обладает следующими недостатками (аномалиями):&lt;br /&gt;
* избыточность. Адрес поставщика повторяется для каждого поставляемого им товара;&lt;br /&gt;
* потенциальная противоречивость. Если у поставщика меняется адрес, то его необходимо изменить во всех кортежах, в которые он входит;&lt;br /&gt;
* аномалия включения кортежа. В выбранном отношении {{Формула|f=R_1}} пара атрибутов идентификатор-товар является ключом. При включении новой записи, атрибуты ключа не должны быть пустыми, поэтому в БД нельзя включить поставщика, если он в данный момент не поставляет товар;&lt;br /&gt;
* аномалия удаления. При удалении всех товаров, поставляемых поставщиком, теряется информация о самом поставщике.&lt;br /&gt;
Первопричиной этих недостатков является то, что {{Формула|f=R_1}} не находится в {{Википедия|Третья_нормальная_форма|3НФ}}&lt;br /&gt;
&lt;br /&gt;
=== Пример &amp;quot;хорошей&amp;quot; схемы БД ===&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=A = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_1 = (}}идентификатор, адрес{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_2 = (}}товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
Схема {{Формула|f=\rho = (R_1, R_2)}} находится в 3НФ и не обладает перечисленными выше недостатками.&lt;br /&gt;
&lt;br /&gt;
== Основные операции реляционной алгебры ==&lt;br /&gt;
&lt;br /&gt;
=== Объединение отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R=R_1\bigcup R_2}}&lt;br /&gt;
&lt;br /&gt;
Объединение отношений - это отношение, каждый кортеж которого принадлежит либо {{Формула|f=R_1}}, либо {{Формула|f=R_2}}.&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 5 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Дублирование кортежей не допускается.&lt;br /&gt;
&lt;br /&gt;
=== Пересечение отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = R_1\bigcap R_2}}&lt;br /&gt;
&lt;br /&gt;
Пересечение отношений - это отношение, каждый кортеж которого принадлежит и {{Формула|f=R_1}}, и {{Формула|f=R_2}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Разность отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = R_1 - R_2}}&lt;br /&gt;
&lt;br /&gt;
Разность отношений - это отношение, кортежи которого принадлежат {{Формула|f=R_1}} и не принадлежат {{Формула|f=R_2}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R}} &lt;br /&gt;
 | 3 || 4&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Декартово произведение ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R, S}} - две схемы отношения со степенями {{Формула|f=k_1}} и {{Формула|f=k_2}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = R \times S}}&lt;br /&gt;
&lt;br /&gt;
Декартово произведение - это отношение {{Формула|f=t}} со степенью {{Формула|f=k_1 + k_2}}, кортежи которого получаются {{Википедия|Конкатенация|конкатенацией}} кортежей из отношений {{Формула|f=R}} и {{Формула|f=S}}.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_3}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=S}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 7 || 8&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=R.A_2}} !! {{Формула|f=A_2}} !! {{Формула|f=S.A_1}} !! {{Формула|f=A_3}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;4&amp;quot; | {{Формула|f=t}} &lt;br /&gt;
 | 1 || 2 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 7 || 8&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Проекция ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t=\Pi_{A_{i1} ... A_{ik} }(R) }}&lt;br /&gt;
&lt;br /&gt;
Проекция - это отношение, каждый кортеж которого состоит из значений атрибутов {{Формула|f=A_{i1} ... A_{ik} }} исходного отношения {{Формула|f=R}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;4&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2 || 3 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 7 || 8 || 9 || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 7 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=t = \Pi_{A_1, A_4}(R)}} &lt;br /&gt;
 | 1 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 7 || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Селекция ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = \sigma_F(R)}}&lt;br /&gt;
&lt;br /&gt;
Селекция - это отношение, каждый кортеж которого принадлежит исходному отношению {{Формула|f=R}} и удовлетворяет логическому условию {{Формула|f=F}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 9 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 3&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t = \sigma_{A_1\leq A_2}(R)}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 3&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Естественное соединение ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = R\bowtie S}}&lt;br /&gt;
&lt;br /&gt;
Определение этой операции следует из способа построения естественного соединения.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
  | 1 || 2 || 3&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 4 || 6 || 7&lt;br /&gt;
  |}&lt;br /&gt;
  | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
  ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=S}} &lt;br /&gt;
  | 1 || 2 || 7 || 8&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 8 || 9 || 10 || 11&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 5 || 6 || 9 || 16&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Построение естественного соединения:&lt;br /&gt;
&lt;br /&gt;
:1) построить декартово произведение {{Формула|f=R\times S}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=S.A_1}} !! {{Формула|f=S.A_2}}!! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;6&amp;quot; | {{Формула|f=t_1}} &lt;br /&gt;
 | 1 || 2 || 3 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 3 || 8 || 9 || 10 || 11&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 3 || 4 || 6 || 9 || 16&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 8 || 9 || 10 || 11&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 4 || 6 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
:2) выбрать из этого произведения кортежи по условию {{Формула|f=R.A_{i1} = S.A_{i1} ... R.A_{ik} = S.A_{ik} }}, где {{Формула|f=A_{i1} = A_{ik}}} - общие атрибуты в схемах отношений {{Формула|f=R}} и {{Формула|f=S}} (предполагается, что эти атрибуты занимают одинаковое положение в отношениях. Хотя не обязательно)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=S.A_1}} !! {{Формула|f=S.A_2}}!! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_2}} &lt;br /&gt;
 | 1 || 2 || 3 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 4 || 6 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
:3) удалить из полученного отношения {{Формула|f=S.A_{i1} ... S.A_{ik} }}, потому что они будут дублирующими.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_3}} &lt;br /&gt;
 | 1 || 2 || 3 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Теоретические основы реляционной алгебры (9 семестр)]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>195.38.23.97</name></author>
	</entry>
	<entry>
		<id>https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%961_-_%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B&amp;diff=2545</id>
		<title>ТОРА (9) - Лекция №1 - Операции реляционной алгебры</title>
		<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%961_-_%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B&amp;diff=2545"/>
		<updated>2013-01-15T08:29:04Z</updated>

		<summary type="html">&lt;p&gt;195.38.23.97: /* Естественное соединение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
&lt;br /&gt;
=== Схема отношения ===&lt;br /&gt;
&lt;br /&gt;
Это поименованная совокупность атрибутов.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (A_1, ..., A_n)}}, где {{Формула|f=A_i}} - некоторый атрибут из домена отношения.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)=(A_1, A_2, A_3, A_4)}}.&lt;br /&gt;
&lt;br /&gt;
Здесь {{Формула|f=(A_1, A_3)}} - ключ, определяющий запись.&lt;br /&gt;
&lt;br /&gt;
=== Степень схемы отношения ===&lt;br /&gt;
&lt;br /&gt;
Это количество атрибутов в схеме.&lt;br /&gt;
&lt;br /&gt;
Для {{Формула|f=R = (A_1, A_2, A_3, A_4)}} степень равна 4.&lt;br /&gt;
&lt;br /&gt;
=== Экземпляр отношения ===&lt;br /&gt;
&lt;br /&gt;
Это конкретная таблица с данной схемой отношения.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Идентификатор !! Адрес !! Товар !! Цена&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | ОАО &amp;quot;Х&amp;quot; || Ленина, 2 || сахар || 40&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | ОАО &amp;quot;У&amp;quot; || Комсомола, 25 || соль || 5&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Кортеж ===&lt;br /&gt;
&lt;br /&gt;
Любая одна строка в таблице экземпляра отношения.&lt;br /&gt;
&lt;br /&gt;
=== Схема БД ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=A}} - множество всех атрибутов некоторой предметной области (универсальная схема отношения).&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_1, ..., R_n}} - совокупность атрибутов.&lt;br /&gt;
&lt;br /&gt;
Тогда {{Формула|f=\rho=(R_1, ..., R_n)}} называется схемой БД.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=A = (A_1, A_2, A_3, A_4)}}&lt;br /&gt;
&lt;br /&gt;
и две схемы: {{Формула|f=R_1 = (A_1, A_2)$ и $R_2 = (A_1, A_3, A_4)}}&lt;br /&gt;
&lt;br /&gt;
Так как {{Формула|f=R_1\bigcup R_2 = A}}, то {{Формула|f=\rho = (R_1, R_2)}}.&lt;br /&gt;
&lt;br /&gt;
== Примеры схем БД ==&lt;br /&gt;
&lt;br /&gt;
=== Пример &amp;quot;плохой&amp;quot; схемы БД ===&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=A = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
и есть одна схема {{Формула|f=\rho = R_1 = A}}&lt;br /&gt;
&lt;br /&gt;
Данная схема БД обладает следующими недостатками (аномалиями):&lt;br /&gt;
* избыточность. Адрес поставщика повторяется для каждого поставляемого им товара;&lt;br /&gt;
* потенциальная противоречивость. Если у поставщика меняется адрес, то его необходимо изменить во всех кортежах, в которые он входит;&lt;br /&gt;
* аномалия включения кортежа. В выбранном отношении {{Формула|f=R_1}} пара атрибутов идентификатор-товар является ключом. При включении новой записи, атрибуты ключа не должны быть пустыми, поэтому в БД нельзя включить поставщика, если он в данный момент не поставляет товар;&lt;br /&gt;
* аномалия удаления. При удалении всех товаров, поставляемых поставщиком, теряется информация о самом поставщике.&lt;br /&gt;
Первопричиной этих недостатков является то, что {{Формула|f=R_1}} не находится в {{Википедия|Третья_нормальная_форма|3НФ}}&lt;br /&gt;
&lt;br /&gt;
=== Пример &amp;quot;хорошей&amp;quot; схемы БД ===&lt;br /&gt;
&lt;br /&gt;
Пусть {{Формула|f=A = (}}идентификатор поставщика, адрес, товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_1 = (}}идентификатор, адрес{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R_2 = (}}товар, цена{{Формула|f=)}}&lt;br /&gt;
&lt;br /&gt;
Схема {{Формула|f=\rho = (R_1, R_2)}} находится в 3НФ и не обладает перечисленными выше недостатками.&lt;br /&gt;
&lt;br /&gt;
== Основные операции реляционной алгебры ==&lt;br /&gt;
&lt;br /&gt;
=== Объединение отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R=R_1\bigcup R_2}}&lt;br /&gt;
&lt;br /&gt;
Объединение отношений - это отношение, каждый кортеж которого принадлежит либо {{Формула|f=R_1}}, либо {{Формула|f=R_2}}.&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 5 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Дублирование кортежей не допускается.&lt;br /&gt;
&lt;br /&gt;
=== Пересечение отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = R_1\bigcap R_2}}&lt;br /&gt;
&lt;br /&gt;
Пересечение отношений - это отношение, каждый кортеж которого принадлежит и {{Формула|f=R_1}}, и {{Формула|f=R_2}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Разность отношений ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = R_1 - R_2}}&lt;br /&gt;
&lt;br /&gt;
Разность отношений - это отношение, кортежи которого принадлежат {{Формула|f=R_1}} и не принадлежат {{Формула|f=R_2}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_1}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R_2}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R}} &lt;br /&gt;
 | 3 || 4&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Декартово произведение ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R, S}} - две схемы отношения со степенями {{Формула|f=k_1}} и {{Формула|f=k_2}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = R \times S}}&lt;br /&gt;
&lt;br /&gt;
Декартово произведение - это отношение {{Формула|f=t}} со степенью {{Формула|f=k_1 + k_2}}, кортежи которого получаются {{Википедия|Конкатенация|конкатенацией}} кортежей из отношений {{Формула|f=R}} и {{Формула|f=S}}.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
  | 1 || 2&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 3 || 4&lt;br /&gt;
  |}&lt;br /&gt;
  | &lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_3}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=S}} &lt;br /&gt;
  | 5 || 6&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 7 || 8&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=R.A_2}} !! {{Формула|f=A_2}} !! {{Формула|f=S.A_1}} !! {{Формула|f=A_3}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;4&amp;quot; | {{Формула|f=t}} &lt;br /&gt;
 | 1 || 2 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 7 || 8&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Проекция ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t=\Pi_{A_{i1} ... A_{ik} }(R) }}&lt;br /&gt;
&lt;br /&gt;
Проекция - это отношение, каждый кортеж которого состоит из значений атрибутов {{Формула|f=A_{i1} ... A_{ik} }} исходного отношения {{Формула|f=R}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;4&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2 || 3 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 7 || 8 || 9 || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 5 || 6&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 4 || 7 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_4}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=t = \Pi_{A_1, A_4}(R)}} &lt;br /&gt;
 | 1 || 4&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 7 || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 6&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Селекция ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = \sigma_F(R)}}&lt;br /&gt;
&lt;br /&gt;
Селекция - это отношение, каждый кортеж которого принадлежит исходному отношению {{Формула|f=R}} и удовлетворяет логическому условию {{Формула|f=F}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 9 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 3&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t = \sigma_{A_1\leq A_2}(R)}} &lt;br /&gt;
 | 1 || 2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 3 || 3&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Естественное соединение ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = R\bowtie S}}&lt;br /&gt;
&lt;br /&gt;
Определение этой операции следует из способа построения естественного соединения.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! !!{{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_3}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=R}} &lt;br /&gt;
  | 1 || 2 || 3&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 4 || 6 || 7&lt;br /&gt;
  |}&lt;br /&gt;
  | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
  ! !! {{Формула|f=A_1}} !! {{Формула|f=A_2}} !! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  ! rowspan=&amp;quot;3&amp;quot; | {{Формула|f=S}} &lt;br /&gt;
  | 1 || 2 || 7 || 8&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 8 || 9 || 10 || 11&lt;br /&gt;
  |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
  | 5 || 6 || 9 || 16&lt;br /&gt;
  |}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Построение естественного соединения:&lt;br /&gt;
&lt;br /&gt;
:1) построить декартово произведение {{Формула|f=R\times S}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=S.A_1}} !! {{Формула|f=S.A_2}}!! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;6&amp;quot; | {{Формула|f=t_1}} &lt;br /&gt;
 | 1 || 2 || 3 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 3 || 8 || 9 || 10 || 11&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 1 || 2 || 3 || 4 || 6 || 9 || 16&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 8 || 9 || 10 || 11&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 4 || 6 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
:2) выбрать из этого произведения кортежи по условию {{Формула|f=R.A_{i1} = S.A_{i1} ... R.A_{ik} = S.A_{ik} }}, где {{Формула|f=A_i1 = A_ik}} - общие атрибуты в схемах отношений {{Формула|f=R}} и {{Формула|f=S}} (предполагается, что эти атрибуты занимают одинаковое положение в отношениях. Хотя не обязательно)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=S.A_1}} !! {{Формула|f=S.A_2}}!! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_2}} &lt;br /&gt;
 | 1 || 2 || 3 || 1 || 2 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 4 || 6 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
:3) удалить из полученного отношения {{Формула|f=S.A_{i1} ... S.A_{ik} }}, потому что они будут дублирующими.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=R.A_1}} !! {{Формула|f=R.A_2}} !! {{Формула|f=A_3}} !! {{Формула|f=A_4}} !! {{Формула|f=A_5}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_3}} &lt;br /&gt;
 | 1 || 2 || 3 || 7 || 8&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | 4 || 6 || 7 || 9 || 16&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Теоретические основы реляционной алгебры (9 семестр)]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>195.38.23.97</name></author>
	</entry>
</feed>