<?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.19.35.129</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.19.35.129"/>
	<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.19.35.129"/>
	<updated>2026-04-30T05:35:08Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://iu5bmstu.ru/index.php?title=%D0%A1%D0%AD%D0%92%D0%9C_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%966_-_%D0%94%D0%BE%D0%BC%D0%B5%D0%BD%D1%8B&amp;diff=1739</id>
		<title>СЭВМ (9) - Лекция №6 - Домены</title>
		<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%A1%D0%AD%D0%92%D0%9C_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%966_-_%D0%94%D0%BE%D0%BC%D0%B5%D0%BD%D1%8B&amp;diff=1739"/>
		<updated>2012-10-17T13:13:33Z</updated>

		<summary type="html">&lt;p&gt;195.19.35.129: Новая страница: «== Домены ==  В домене находится несколько серверов, каждый для своего предназначения. Сер...»&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;
[[Файл:9sSEVMl6pic1.png|link=9sSEVMl6pic1.svg]]&lt;br /&gt;
&lt;br /&gt;
Служба каталогов Active Directory обеспечивает работу сложной корпоративной среды, предоставляя следующие возможности:&lt;br /&gt;
* единая регистрация в сети;&lt;br /&gt;
* безопасность информации;&lt;br /&gt;
* централизованное управление;&lt;br /&gt;
* администрирование с использованием групповых политик;&lt;br /&gt;
* интеграция с DNS;&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;
Использование кластера сервером позволяет сосредоточить на нём выполнение наиболее объёмных операций. При выполнении наиболее сложных запросов приложение на стороне пользователя получает только запрошенные данные, а вся выборка будет оставаться на сервере.&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;
* высокой надёжностью - за счёт избыточности (дублирования всех важных компонентов);&lt;br /&gt;
* производительностью, гибким масштабированием - за счёт распределения нагрузки между узлами;&lt;br /&gt;
* лёгкостью в управлении.&lt;br /&gt;
&lt;br /&gt;
Кластеры высокой готовности используются в тех случаях, когда отказы недопустимы и доступ к приложениям должен быть непрерывным. Как правило, они используются в системах управления предприятием, БД и других.&lt;br /&gt;
&lt;br /&gt;
Высокая доступность ресурсов кластера в случае сбоя одного из серверов (или при проведении профилактических работ) обеспечивается за счёт перемещения служб или приложений между узлами.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Супер ЭВМ (9 семестр)]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>195.19.35.129</name></author>
	</entry>
	<entry>
		<id>https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%A1%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80_%E2%84%963_-_%D0%A1%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%B7_%D0%BF%D0%BE%D1%82%D0%B5%D1%80%D1%8C&amp;diff=1738</id>
		<title>ТОРА (9) - Семинар №3 - Соединение без потерь</title>
		<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%A2%D0%9E%D0%A0%D0%90_(9)_-_%D0%A1%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80_%E2%84%963_-_%D0%A1%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%B7_%D0%BF%D0%BE%D1%82%D0%B5%D1%80%D1%8C&amp;diff=1738"/>
		<updated>2012-10-17T11:48:49Z</updated>

		<summary type="html">&lt;p&gt;195.19.35.129: /* Задача №3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Свойства хорошей БД:&lt;br /&gt;
* соединение без потерь;&lt;br /&gt;
* сохранение ФЗ;&lt;br /&gt;
* нормализация схемы отношений (3НФ).&lt;br /&gt;
&lt;br /&gt;
По этому семинару надо выполнить [[#ДЗ | домашнее задание]]. В письменном виде в тетради.&lt;br /&gt;
&lt;br /&gt;
== Пример 1 ==&lt;br /&gt;
&lt;br /&gt;
Таблицы {{Формула|f=\rho=(S,P,SP)}}&lt;br /&gt;
&lt;br /&gt;
*{{Формула|f=S}} - поставщики.&lt;br /&gt;
**SN - номер поставщика;&lt;br /&gt;
**SF - фамилия;&lt;br /&gt;
**SS - статус;&lt;br /&gt;
**SG - город.&lt;br /&gt;
&lt;br /&gt;
*{{Формула|f=P}} - деталь.&lt;br /&gt;
** PN - номер детали, ключ;&lt;br /&gt;
** PF - название детали;&lt;br /&gt;
** PC - цена за единицу.&lt;br /&gt;
&lt;br /&gt;
*{{Формула|f=SP}} - поставка.&lt;br /&gt;
** SN - номер поставщика;&lt;br /&gt;
** PN - номер детали;&lt;br /&gt;
** kol - количество поставляемых деталей.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=\rho = (S, P, SP)}}&lt;br /&gt;
&lt;br /&gt;
Задачи:&lt;br /&gt;
# выписать ФЗ на основе знания предметной области;&lt;br /&gt;
# проверить, обладает ли {{Формула|f=\rho}} соединением без потерь;&lt;br /&gt;
# проверить, обладает ли {{Формула|f=\rho}} сохранением ФЗ;&lt;br /&gt;
# проверить, находится ли {{Формула|f=\rho}} в 3НФ.&lt;br /&gt;
&lt;br /&gt;
=== Задача 1 ===&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=SN\rightarrow SF}}, {{Формула|f=SN\rightarrow SS}}, {{Формула|f=SN\rightarrow SG}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=PN\rightarrow PF}}, {{Формула|f=PN\rightarrow PC}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=SNPN\rightarrow kol}}&lt;br /&gt;
&lt;br /&gt;
=== Задача 2 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! SN !! SF !! SS !! SG !! PN !! PF !! PC !! kol&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=S}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || {{Формула|f=b_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=P}}&lt;br /&gt;
 | {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=SP}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=b_3}} || {{Формула|f=b_3}} || {{Формула|f=b_3}} || {{Формула|f=a}} || {{Формула|f=b_3}} || {{Формула|f=b_3}} || {{Формула|f=a}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! SN !! SF !! SS !! SG !! PN !! PF !! PC !! kol&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=S}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || {{Формула|f=b_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=P}}&lt;br /&gt;
 | {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=SP}}&lt;br /&gt;
 | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || {{Формула|f=a}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Получили строку, сплошь состоящую из {{Формула|f=a}}, значит {{Формула|f=\rho}} обладает соединением без потерь - если мы соединим все три исходные таблицы, то получим правильный результат.&lt;br /&gt;
&lt;br /&gt;
=== Задача 3 ===&lt;br /&gt;
&lt;br /&gt;
1-4)&lt;br /&gt;
&lt;br /&gt;
:{{Формула|f=H=\varnothing}}&lt;br /&gt;
&lt;br /&gt;
:{{Формула|f=УНП = (SN\rightarrow SFSSSG, PN\rightarrow PFPC, SNPN\rightarrow kolSFSSSGPFPC)}}&lt;br /&gt;
&lt;br /&gt;
:смотрим, кто принадлежит, получается:&lt;br /&gt;
&lt;br /&gt;
:{{Формула|f=УНП = (SN\rightarrow SFSSSG, PN\rightarrow PFPC, SNPN\rightarrow kol)}}&lt;br /&gt;
&lt;br /&gt;
:{{Формула|f=H = (SNPN\rightarrow SFSSSGPFPC)}}&lt;br /&gt;
&lt;br /&gt;
5)&lt;br /&gt;
&lt;br /&gt;
:{{Формула|f=H\neq\varnothing}}&lt;br /&gt;
&lt;br /&gt;
6)&lt;br /&gt;
&lt;br /&gt;
:выполняется ли {{Формула|f=SNPN\rightarrow SFSSSGPFPC\in (SN\rightarrow SFSSSG, PN\rightarrow PFPC, SNPN\rightarrow kol)^+}}?&lt;br /&gt;
&lt;br /&gt;
:{{Формула|f=(SNPN)^+ = SNPNSFSSSGPFPCkol}}, значит выполняется, значит {{Формула|f=\rho}} обладает сохранением ФЗ.&lt;br /&gt;
&lt;br /&gt;
=== Задача 4 ===&lt;br /&gt;
&lt;br /&gt;
По каждой таблице.&lt;br /&gt;
&lt;br /&gt;
==== Таблица S ====&lt;br /&gt;
&lt;br /&gt;
Смотрим таблицу {{Формула|f=S}}:&lt;br /&gt;
&lt;br /&gt;
1)&lt;br /&gt;
&lt;br /&gt;
:{{Формула|f=X = SN}} - ключ.&lt;br /&gt;
&lt;br /&gt;
2)&lt;br /&gt;
&lt;br /&gt;
:{{Формула|f=Y(Y\nrightarrow X)}}: {{Формула|f=SF, SS, SG, SFSS, SFSG, SSSG, SFSSSG}}&lt;br /&gt;
&lt;br /&gt;
3)&lt;br /&gt;
&lt;br /&gt;
:рассматриваем {{Формула|f=Y = SF}}, ищем такие {{Формула|f=H}}, которые не принадлежат {{Формула|f=Y}}: {{Формула|f=SS, SG}}&lt;br /&gt;
&lt;br /&gt;
:а)&lt;br /&gt;
:: {{Формула|f=SF\rightarrow SS}}?&lt;br /&gt;
:: {{Формула|f=SF^+=SF}}, значит {{Формула|f=SS\notin SF^+}}&lt;br /&gt;
&lt;br /&gt;
:б)&lt;br /&gt;
:: {{Формула|f=SF\rightarrow SG}}?&lt;br /&gt;
:: {{Формула|f=SF^+=SF}}, значит {{Формула|f=SG\notin SF^+}}&lt;br /&gt;
&lt;br /&gt;
:и так далее, &amp;quot;рутинная тупая работа&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
:А можно было, оказывается, так: {{Формула|f=Y^+ = Y}}, а по условию {{Формула|f=H\notin Y}}, значит {{Формула|f=Y\nrightarrow H}}, так что таблица {{Формула|f=S}} находится в 3НФ.&lt;br /&gt;
&lt;br /&gt;
==== Таблица P ====&lt;br /&gt;
&lt;br /&gt;
В [[#ДЗ | домашнем задании]].&lt;br /&gt;
&lt;br /&gt;
==== Таблица SP ====&lt;br /&gt;
&lt;br /&gt;
В [[#ДЗ | домашнем задании]].&lt;br /&gt;
&lt;br /&gt;
== Пример 2 ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:9sTORAs3pic1.png|link=Файл:9sTORAs3pic1.svg]]&lt;br /&gt;
&lt;br /&gt;
Выписать все ФЗ.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=\rho = (R_1, R_2, R_3, R_4, R_5)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=F = (A\rightarrow C, B\rightarrow E, C\rightarrow F, D\rightarrow C)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! D !! E !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_1}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || {{Формула|f=b_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_2}}&lt;br /&gt;
 | {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_3}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_3}} || {{Формула|f=b_3}} || {{Формула|f=b_3}} || {{Формула|f=b_3}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_4}}&lt;br /&gt;
 | {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}} || {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_5}}&lt;br /&gt;
 | {{Формула|f=b_5}} || {{Формула|f=b_5}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_5}} || {{Формула|f=b_5}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! D !! E !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_1}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_2}}&lt;br /&gt;
 | {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_3}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || {{Формула|f=b_3}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_4}}&lt;br /&gt;
 | {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}} || {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_5}}&lt;br /&gt;
 | {{Формула|f=b_5}} || {{Формула|f=b_5}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_5}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Нет строчки, сплошь состоящей из {{Формула|f=a}}, значит {{Формула|f=\rho}} не обладает соединением из потерь - запрос на соединение пяти таблицы может выполняться неправильно.&lt;br /&gt;
&lt;br /&gt;
Смотрим:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT *&lt;br /&gt;
FROM R1, R2, R3, R4, R5&lt;br /&gt;
WHERE R1.A = R3.A&lt;br /&gt;
  AND R3.B = R2.B&lt;br /&gt;
  AND R1.C = R4.C&lt;br /&gt;
  AND R4.C = R5.C&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и предположим, что задан следуюшие экземпляр универсальной схемы отношения:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! D !! E !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=b_1}} || {{Формула|f=c_1}} || {{Формула|f=d_1}} || {{Формула|f=e_1}} || {{Формула|f=f_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=b_2}} || {{Формула|f=c_1}} || {{Формула|f=d_2}} || {{Формула|f=e_2}} || {{Формула|f=f_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Найти проекции и выполнить их соединение по запросу выше.&lt;br /&gt;
&lt;br /&gt;
Строим проекции:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r_1 = \Pi_{R_1}(r)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! C&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r_1}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=c_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=c_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r_2 = \Pi_{R_2}(r)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! B !! E&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r_2}}&lt;br /&gt;
 | {{Формула|f=b_1}} || {{Формула|f=e_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=b_2}} || {{Формула|f=e_2}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r_3 = \Pi_{R_3}(r)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r_3}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=b_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=b_2}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r_4 = \Pi_{R_4}(r)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! C !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r_4}}&lt;br /&gt;
 | {{Формула|f=c_1}} || {{Формула|f=f_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r_5 = \Pi_{R_5}(r)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! D !! C&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r_5}}&lt;br /&gt;
 | {{Формула|f=d_1}} || {{Формула|f=c_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=d_2}} || {{Формула|f=c_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Теперь соединения:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t_1 = r_1 \bowtie_A r_3}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_1}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=b_1}} || {{Формула|f=c_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=b_2}} || {{Формула|f=c_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t_2 = t_1 \bowtie_B r_2}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! E&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_2}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=b_1}} || {{Формула|f=c_1}} || {{Формула|f=e_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=b_2}} || {{Формула|f=c_1}} || {{Формула|f=e_2}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t_3 = t_2 \bowtie_C r_4}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! E !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_3}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=b_1}} || {{Формула|f=c_1}} || {{Формула|f=e_1}} || {{Формула|f=f_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=b_2}} || {{Формула|f=c_1}} || {{Формула|f=e_2}} || {{Формула|f=f_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t_4 = t_3 \bowtie_C r_5}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! D !! E !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;4&amp;quot; | {{Формула|f=t_4}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=b_1}} || {{Формула|f=c_1}} || {{Формула|f=d_1}} || {{Формула|f=e_1}} || {{Формула|f=f_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=b_2}} || {{Формула|f=c_1}} || {{Формула|f=d_1}} || {{Формула|f=e_2}} || {{Формула|f=f_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=b_1}} || {{Формула|f=c_1}} || {{Формула|f=d_2}} || {{Формула|f=e_1}} || {{Формула|f=f_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=b_2}} || {{Формула|f=c_1}} || {{Формула|f=d_2}} || {{Формула|f=e_2}} || {{Формула|f=f_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Получившееся не совпадает с исходной. Вот и проявилось отсутствие сохранения без потерь.&lt;br /&gt;
&lt;br /&gt;
Но подсхемы {{Формула|f=(R_1, R_2, R_3, R_4)}} и {{Формула|f=(R_4, R_5)}}, при этом, обладают соединением без потерь.&lt;br /&gt;
&lt;br /&gt;
== ДЗ ==&lt;br /&gt;
&lt;br /&gt;
=== Задача №1 ===&lt;br /&gt;
&lt;br /&gt;
[[#Пример 1 | Находятся ли]] {{Формула|f=P}} и {{Формула|f=SP}} в 3НФ?&lt;br /&gt;
&lt;br /&gt;
==== Таблица P ====&lt;br /&gt;
&lt;br /&gt;
Ищем тройку:&lt;br /&gt;
: 1) {{Формула|f=X = PN}}, {{Формула|f=PN}} - ключ.&lt;br /&gt;
: 2) {{Формула|f=Y(Y\nrightarrow X)}}: {{Формула|f=PF, PC, PFPC}}&lt;br /&gt;
: 3) рассматриваем:&lt;br /&gt;
:: а) {{Формула|f=Y = PF}}, {{Формула|f=H\notin Y}}: {{Формула|f=PC}}&lt;br /&gt;
::: {{Формула|f=PF\rightarrow^? PC}} &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;нет&amp;lt;/span&amp;gt;&lt;br /&gt;
::: {{Формула|f=(PF)^+ = PF}}, {{Формула|f=PC\notin (PF)^+}}&lt;br /&gt;
:: б) {{Формула|f=Y = PC}}, {{Формула|f=H\notin Y}}: {{Формула|f=PF}}&lt;br /&gt;
::: {{Формула|f=PC\rightarrow^? PF}} &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;нет&amp;lt;/span&amp;gt;&lt;br /&gt;
::: {{Формула|f=(PC)^+ = PC}}, {{Формула|f=PF\notin (PC)^+}}&lt;br /&gt;
Таким образом, не удалось подобрать необходимую тройку, значит таблица находится в 3НФ.&lt;br /&gt;
&lt;br /&gt;
==== Таблица SP ====&lt;br /&gt;
&lt;br /&gt;
Ищем тройку:&lt;br /&gt;
: 1) {{Формула|f=X = PN SN}}, так как {{Формула|f=SN PN\rightarrow kol}}&lt;br /&gt;
: 2) подберём {{Формула|f=Y}}, для которого {{Формула|f=X\rightarrow Y}}, {{Формула|f=Y\rightarrow X}}, {{Формула|f=Y(Y\nrightarrow X)}}: {{Формула|f=kol}}&lt;br /&gt;
:: {{Формула|f=(kol)^+ = kol}}, {{Формула|f=PNSN\nsubseteq kol}}, {{Формула|f=kol\nrightarrow SN}}&lt;br /&gt;
: 3) {{Формула|f=Y = kol}} - нельзя подобрать непервичный атрибут {{Формула|f=H}}: {{Формула|f=H\notin Y}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, не удалось подобрать необходимую тройку, значит таблица находится в 3НФ.&lt;br /&gt;
&lt;br /&gt;
=== Задача №2 ===&lt;br /&gt;
&lt;br /&gt;
Доказать, что эти две подсхемы {{Формула|f=(R_1, R_2, R_3, R_4)}} и {{Формула|f=(R_4, R_5)}} обадают  соединением без потерь, и запрос на соединение выполнится правильно.&lt;br /&gt;
&lt;br /&gt;
Ещё раз ФЗ: {{Формула|f=F = (A\rightarrow C, B\rightarrow E, C\rightarrow F, D\rightarrow C)}}&lt;br /&gt;
&lt;br /&gt;
==== Первая подсхема ====&lt;br /&gt;
&lt;br /&gt;
Подсхема {{Формула|f=(R_1, R_2, R_3, R_4)}}:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! E !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_1}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=b_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_2}}&lt;br /&gt;
 | {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_3}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_3}} || {{Формула|f=b_3}} || {{Формула|f=b_3}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_4}}&lt;br /&gt;
 | {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}} || {{Формула|f=b_4}} || {{Формула|f=a}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! E !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_1}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=a}} || {{Формула|f=b_1}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_2}}&lt;br /&gt;
 | {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_3}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}|| bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_4}}&lt;br /&gt;
 | {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}} || {{Формула|f=b_4}} || {{Формула|f=a}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Получили строку, сплошь состоящую из {{Формула|f=a}}, значит подсхема {{Формула|f=(R_1, R_2, R_3, R_4)}} обладает свойством соединения без потерь.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT *&lt;br /&gt;
FROM R1, R2, R3, R4&lt;br /&gt;
WHERE R1.A = R2.A&lt;br /&gt;
  AND R3.B = R2.B&lt;br /&gt;
  AND R1.C = R4.C&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Строим проекции:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r_1 = \Pi_{R_1}(r)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! C&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r_1}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=c_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=c_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r_2 = \Pi_{R_2}(r)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! B !! E&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r_2}}&lt;br /&gt;
 | {{Формула|f=b_1}} || {{Формула|f=e_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=b_2}} || {{Формула|f=e_2}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r_3 = \Pi_{R_3}(r)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r_3}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=b_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=b_2}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r_4 = \Pi_{R_4}(r)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! C !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r_4}}&lt;br /&gt;
 | {{Формула|f=c_1}} || {{Формула|f=f_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Теперь соединения:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t_1 = r_1 \bowtie_A r_3}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_1}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=b_1}} || {{Формула|f=c_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=b_2}} || {{Формула|f=c_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t_2 = t_1 \bowtie_B r_2}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! E&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_2}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=b_1}} || {{Формула|f=c_1}} || {{Формула|f=e_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=b_2}} || {{Формула|f=c_1}} || {{Формула|f=e_2}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t_3 = t_2 \bowtie_C r_4}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! E !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_3}}&lt;br /&gt;
 | {{Формула|f=a_1}} || {{Формула|f=b_1}} || {{Формула|f=c_1}} || {{Формула|f=e_1}} || {{Формула|f=f_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=a_2}} || {{Формула|f=b_2}} || {{Формула|f=c_1}} || {{Формула|f=e_2}} || {{Формула|f=f_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Соединение выполнилось верно.&lt;br /&gt;
&lt;br /&gt;
==== Вторая подсхема ====&lt;br /&gt;
&lt;br /&gt;
Подсхема {{Формула|f=(R_4, R_5)}}:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! C !! D !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_1}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_2}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_2}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! C !! D !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_1}}&lt;br /&gt;
 | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_2}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Получили строку, сплошь состоящую из {{Формула|f=a}}, значит подсхема {{Формула|f=(R_4, R_5)}} обладает свойством соединения без потерь.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT *&lt;br /&gt;
FROM R4, R5&lt;br /&gt;
WHERE R4.C = R5.C&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Строим проекции:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r_4 = \Pi_{R_4}(r)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! C !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r_1}}&lt;br /&gt;
 | {{Формула|f=c_1}} || {{Формула|f=f_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r_5 = \Pi_{R_5}(r)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! D !! C&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=r_2}}&lt;br /&gt;
 | {{Формула|f=d_1}} || {{Формула|f=c_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=d_2}} || {{Формула|f=c_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Теперь соединение:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t_1 = r_4 \bowtie_C r_5}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! C !! D !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! rowspan=&amp;quot;2&amp;quot; | {{Формула|f=t_2}}&lt;br /&gt;
 | {{Формула|f=c_1}} || {{Формула|f=d_1}} || {{Формула|f=f_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | {{Формула|f=c_1}} || {{Формула|f=d_2}} || {{Формула|f=f_1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Соединение выполнилось верно.&lt;br /&gt;
&lt;br /&gt;
=== Задача №3 ===&lt;br /&gt;
&lt;br /&gt;
Как минимальным образом изменить схему БД из [[#Пример 2 | примера 2]], чтобы она обладала свойством соединения без потерь (чтобы запрос на соединение 5 таблиц выполнялся правильно).&lt;br /&gt;
&lt;br /&gt;
Изменяем схему:&lt;br /&gt;
&lt;br /&gt;
[[Файл:9sTORAs3pic2.png|link=Файл:9sTORAs3pic2.svg]]&lt;br /&gt;
&lt;br /&gt;
Теперь:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! D !! E !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_1}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || {{Формула|f=b_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_2}}&lt;br /&gt;
 | {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_3}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_3}} || {{Формула|f=a}} || {{Формула|f=b_3}} || {{Формула|f=b_3}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_4}}&lt;br /&gt;
 | {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}} || {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_5}}&lt;br /&gt;
 | {{Формула|f=b_5}} || {{Формула|f=b_5}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_5}} || {{Формула|f=b_5}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! A !! B !! C !! D !! E !! F&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_1}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_2}}&lt;br /&gt;
 | {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_3}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_4}}&lt;br /&gt;
 | {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}} || {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=R_5}}&lt;br /&gt;
 | {{Формула|f=b_5}} || {{Формула|f=b_5}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_5}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Получили строку, сплошь состоящую из {{Формула|f=a}}, значит схема обладает свойством соединения без потерь.&lt;br /&gt;
&lt;br /&gt;
=== Задача №4 ===&lt;br /&gt;
&lt;br /&gt;
Задана универсальная схема отношений:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=R = (A, B, C, D, E, K, V, S, X, G)}}&lt;br /&gt;
&lt;br /&gt;
Задано множество ФЗ:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=F = (A\rightarrow BCDV, K\rightarrow D, V\rightarrow SX, V\rightarrow G, XG\rightarrow KEV, VX\rightarrow D)}}&lt;br /&gt;
&lt;br /&gt;
Задана схема БД:&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=\rho = (AKE, ABCX, AVGX, VSDG)}}&lt;br /&gt;
&lt;br /&gt;
Обладает ли эта схема БД свойством соединения без потерь и свойством сохранения ФЗ.&lt;br /&gt;
&lt;br /&gt;
==== Соединение без потерь ====&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=\rho = (AKE, ABCX, AVGX, VSDG)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=F = (A\rightarrow BCDV, K\rightarrow D, V\rightarrow SX, V\rightarrow G, XG\rightarrow KEV, VX\rightarrow D)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=A}} !! {{Формула|f=B}} !! {{Формула|f=C}} !! {{Формула|f=D}} !! {{Формула|f=E}} !! {{Формула|f=K}} !! {{Формула|f=V}} !! {{Формула|f=S}} !! {{Формула|f=X}} !! {{Формула|f=G}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=AKE}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || {{Формула|f=b_1}} || {{Формула|f=b_1}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=ABCX}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || {{Формула|f=a}} || {{Формула|f=b_2}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=AVGX}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=b_3}} || {{Формула|f=b_3}} || {{Формула|f=b_3}} || {{Формула|f=b_3}} || {{Формула|f=b_3}} || {{Формула|f=a}} || {{Формула|f=b_3}} || {{Формула|f=a}} || {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=VSDG}}&lt;br /&gt;
 | {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}} || {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=b_4}} || {{Формула|f=a}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! !! {{Формула|f=A}} !! {{Формула|f=B}} !! {{Формула|f=C}} !! {{Формула|f=D}} !! {{Формула|f=E}} !! {{Формула|f=K}} !! {{Формула|f=V}} !! {{Формула|f=S}} !! {{Формула|f=X}} !! {{Формула|f=G}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=AKE}}&lt;br /&gt;
 | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=ABCX}}&lt;br /&gt;
 | {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || {{Формула|f=b_2}} || {{Формула|f=b_2}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=AVGX}}&lt;br /&gt;
 | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || {{Формула|f=b_3}} || {{Формула|f=b_3}} || {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || {{Формула|f=a}} || {{Формула|f=a}}&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! {{Формула|f=VSDG}}&lt;br /&gt;
 | {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}} || {{Формула|f=b_4}} || {{Формула|f=b_4}} || {{Формула|f=a}} || {{Формула|f=a}} || bgcolor=&amp;quot;lime&amp;quot; | {{Формула|f=a}} || {{Формула|f=a}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Получили строку, сплошь состоящую из {{Формула|f=a}}, значит {{Формула|f=\rho}} обладает соединением без потерь.&lt;br /&gt;
&lt;br /&gt;
==== Сохранение ФЗ ====&lt;br /&gt;
&lt;br /&gt;
1-4)&lt;br /&gt;
&lt;br /&gt;
: {{Формула|f=H = \varnothing}}&lt;br /&gt;
: {{Формула|f=УНП = A\rightarrow ABCDVSXGKE, K\rightarrow KD, V\rightarrow VSXGKKED, XG\rightarrow XGKEVDS, VX\rightarrow VXDSGEK)}}&lt;br /&gt;
: {{Формула|f=H = (A\rightarrow DS, K\rightarrow D, v\rightarrow KE, XG\rightarrow KEDS, VX\rightarrow DSEK)}}&lt;br /&gt;
&lt;br /&gt;
5)&lt;br /&gt;
&lt;br /&gt;
: {{Формула|f=H\neq\varnothing}}&lt;br /&gt;
&lt;br /&gt;
6)&lt;br /&gt;
&lt;br /&gt;
: {{Формула|f=H\in^? (A\rightarrow BCV, V\rightarrow SXG)}} &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;нет&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=A\rightarrow DS}}, {{Формула|f=A^+ = ABCVSXG}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=DS\notin ABCVSXG}}, значит {{Формула|f=\rho}} не обладает сохранением ФЗ.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Теоретические основы реляционной алгебры (9 семестр)|С]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>195.19.35.129</name></author>
	</entry>
	<entry>
		<id>https://iu5bmstu.ru/index.php?title=%D0%9F%D0%91%D0%94_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%965_-_SQL&amp;diff=1737</id>
		<title>ПБД (9) - Лекция №5 - SQL</title>
		<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%9F%D0%91%D0%94_(9)_-_%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%965_-_SQL&amp;diff=1737"/>
		<updated>2012-10-17T11:39:37Z</updated>

		<summary type="html">&lt;p&gt;195.19.35.129: Новая страница: «== Языки запросов ==  * SQL; * объектное расширение SQL; * OQL; * Datalog; * XQuery.  === SQL ===  Умеет: * создание ...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Языки запросов ==&lt;br /&gt;
&lt;br /&gt;
* SQL;&lt;br /&gt;
* объектное расширение SQL;&lt;br /&gt;
* OQL;&lt;br /&gt;
* Datalog;&lt;br /&gt;
* XQuery.&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&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;
* определение физических структур для хранения данных.&lt;br /&gt;
&lt;br /&gt;
Типы данных:&lt;br /&gt;
* integer;&lt;br /&gt;
* float;&lt;br /&gt;
* boolean;&lt;br /&gt;
* char(10);&lt;br /&gt;
* varchar(255);&lt;br /&gt;
* clob;&lt;br /&gt;
* blob;&lt;br /&gt;
* domain.&lt;br /&gt;
&lt;br /&gt;
==== Синтаксис ====&lt;br /&gt;
&lt;br /&gt;
===== Создание таблицы =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE TABLE таблица&lt;br /&gt;
(&lt;br /&gt;
    поле1 тип ограничение,&lt;br /&gt;
    поле2 тип ограничение,&lt;br /&gt;
    поле3 тип ограничение&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Ограничения =====&lt;br /&gt;
&lt;br /&gt;
Могут иметь имена:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CONSTRAINT имя;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
ALTER TABLE таблица&lt;br /&gt;
ADD CONSTRAINT имя CHECK(условие);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Виды ограничений:&lt;br /&gt;
* уровня атрибутов:&lt;br /&gt;
** NOT NULL;&lt;br /&gt;
** DEFAULT;&lt;br /&gt;
** UNIQUE;&lt;br /&gt;
** CHECK();&lt;br /&gt;
* уровня кортежей:&lt;br /&gt;
** PRIMARY KEY();&lt;br /&gt;
** FOREIGN KEY() REFERENCES table();&lt;br /&gt;
** DEFERRABLE INITIALLY DEFERRED;&lt;br /&gt;
** CHECK();&lt;br /&gt;
* общего вида - проверяется &#039;&#039;при любом&#039;&#039; изменении БД:&lt;br /&gt;
** ASSERTION;&lt;br /&gt;
** триггеры.&lt;br /&gt;
&lt;br /&gt;
Например:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE ASSERTION имя&lt;br /&gt;
CHECK((SELECT COUNT(*) FROM таблица1) &amp;gt; (SELECT COUNT(*) FROM таблица2);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример триггера:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
AFTER UPDATE [of поле] ON таблица REFERENCING&lt;br /&gt;
    OLD ROW AS имя1&lt;br /&gt;
    NEW ROW AS имя2&lt;br /&gt;
FOR EACH ROW [WHEN(условие)] {тело SQL};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Удаление таблицы =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
DROP TABLE таблица;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Создание индекса =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE [UNIQUE] INDEX имя&lt;br /&gt;
ON таблица();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Соединение таблиц =====&lt;br /&gt;
&lt;br /&gt;
* таблица1 {{Формула|f=\times}} таблица2;&lt;br /&gt;
* join;&lt;br /&gt;
* natural join;&lt;br /&gt;
* cross join;&lt;br /&gt;
* outer join:&lt;br /&gt;
** left outer join;&lt;br /&gt;
** right outer join;&lt;br /&gt;
** full outer join.&lt;br /&gt;
&lt;br /&gt;
==== Опять наш пример ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Film(&amp;lt;u&amp;gt;name, year&amp;lt;/u&amp;gt;, len, type, stud);&lt;br /&gt;
&lt;br /&gt;
Actor(&amp;lt;u&amp;gt;inn&amp;lt;/u&amp;gt;, fio, edu);&lt;br /&gt;
&lt;br /&gt;
Stud(&amp;lt;u&amp;gt;sname&amp;lt;/u&amp;gt;, addr);&lt;br /&gt;
&lt;br /&gt;
FA(&amp;lt;u&amp;gt;inn, name, year&amp;lt;/u&amp;gt;);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Создание таблиц:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE TABLE Film&lt;br /&gt;
(&lt;br /&gt;
     name varchar(50),&lt;br /&gt;
     year integer CHECK(year&amp;gt;1850 AND year &amp;lt;=2012), -- потому что конец света&lt;br /&gt;
     len integer NOT NULL DEFAULT 120,&lt;br /&gt;
     type char(2),&lt;br /&gt;
     stud integer REFERENCES Stud(sid) ON UPDATE CASCADE ON DELETE SET NULL,&lt;br /&gt;
     &lt;br /&gt;
     PRIMARY KEY(name, year)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE Stud&lt;br /&gt;
(&lt;br /&gt;
     sid integer PRIMARY KEY UNIQUE,&lt;br /&gt;
     sname varchar(50) NOT NULL,&lt;br /&gt;
     addr varchar(300)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE Actor&lt;br /&gt;
(&lt;br /&gt;
    inn char(10) PRIMARY KEY,&lt;br /&gt;
    fio varchar(200),&lt;br /&gt;
    edu varchar(50),&lt;br /&gt;
    CHECK(edu IN(&#039;среднее&#039;, &#039;высшее&#039;, &#039;Щукинское&#039;))&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE FA&lt;br /&gt;
(&lt;br /&gt;
    act char(10) NOT NULL REFERENCES Actor(inn),&lt;br /&gt;
    fname varchar(50) NOT NULL,&lt;br /&gt;
    fyear integer NOT NULL,&lt;br /&gt;
    &lt;br /&gt;
    FOREIGN KEY(fname, fyear) REFERENCES Film(name, year),&lt;br /&gt;
    PRIMARY KEY(act, fname, fyear)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Извлечение данных:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT * | поля | выражения | агрегация&lt;br /&gt;
FROM таблица | вложенный запрос&lt;br /&gt;
WHERE условие [AND | OR | NOT условие];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Примеры:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
-- выбрать фильмы, снятые в 60-е года&lt;br /&gt;
SELECT *&lt;br /&gt;
FROM Film&lt;br /&gt;
WHERE year &amp;gt; 1950 AND year &amp;lt; 1960;&lt;br /&gt;
&lt;br /&gt;
-- выбрать что-то ещё&lt;br /&gt;
SELECT name, year, len/60 AS hour&lt;br /&gt;
FROM Film&lt;br /&gt;
WHERE (name like &#039;%s&#039; or name like &#039;_a&#039;)&lt;br /&gt;
  AND EXISTS(SELECT * FA WHERE fname = name)&lt;br /&gt;
ORDER BY name, year DESC;&lt;br /&gt;
&lt;br /&gt;
-- фильмы студий Лос-Анджелеса&lt;br /&gt;
SELECT name, year, sname&lt;br /&gt;
FROM Film join Stud ON stud = sid&lt;br /&gt;
WHERE addr = &#039;Los Angeles&#039;;&lt;br /&gt;
&lt;br /&gt;
-- актёры фильма &amp;quot;The Matrix&amp;quot;&lt;br /&gt;
SELECT fio&lt;br /&gt;
FROM Actors join FA ON inn = act&lt;br /&gt;
WHERE fname = &#039;The Matrix&#039;;&lt;br /&gt;
&lt;br /&gt;
-- актёры, которые не снимались ни в одном фильме&lt;br /&gt;
SELECT fio&lt;br /&gt;
FROM Actor&lt;br /&gt;
WHERE inn NOT IN(SELECT act FROM FA);&lt;br /&gt;
&lt;br /&gt;
-- актёры, которые снялись хотя бы в одном фильме&lt;br /&gt;
SELECT fio&lt;br /&gt;
FROM Actor&lt;br /&gt;
WHERE inn IN(SELECT act FROM FA);&lt;br /&gt;
&lt;br /&gt;
-- актёры, которые снимались во всех фильмах&lt;br /&gt;
SELECT fio&lt;br /&gt;
FROM Actor&lt;br /&gt;
WHERE NOT продолжение следует&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Постреляционные базы данных (9 семестр)]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>195.19.35.129</name></author>
	</entry>
</feed>