<?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=213.87.153.58</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=213.87.153.58"/>
	<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/213.87.153.58"/>
	<updated>2026-05-01T03:17:06Z</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%A1%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80_%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=5418</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%A1%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80_%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=5418"/>
		<updated>2016-09-26T17:02:25Z</updated>

		<summary type="html">&lt;p&gt;213.87.153.58: /* Задача №7 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Операции реляционной алгебры и их связь с SQL.&lt;br /&gt;
&lt;br /&gt;
== Операторы SQL ==&lt;br /&gt;
&lt;br /&gt;
=== SELECT ===&lt;br /&gt;
&lt;br /&gt;
SELECT - выборка, DISTINCT - исключая.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT [DISTINCT] * | атрибуты&lt;br /&gt;
FROM таблицы&lt;br /&gt;
WHERE условие&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UPDATE ===&lt;br /&gt;
&lt;br /&gt;
UPDATE - обновление, изменение.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;UPDATE таблица&lt;br /&gt;
SET атрибут = выражение&lt;br /&gt;
WHERE условие&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== INSERT ===&lt;br /&gt;
&lt;br /&gt;
INSERT - вставка, добавление новых записей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;INSERT&lt;br /&gt;
INTO таблица&lt;br /&gt;
записи&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DELETE ===&lt;br /&gt;
&lt;br /&gt;
DELETE - удаление записей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;DELETE&lt;br /&gt;
FROM таблица&lt;br /&gt;
WHERE условие&amp;lt;/syntaxhighlight&amp;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=\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;
=== Примеры экземпляров отношений ===&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=S}}&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || Петров || 40 || Самара&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Москва&lt;br /&gt;
 |}&lt;br /&gt;
 |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 |&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+ {{Формула|f=P}}&lt;br /&gt;
 ! PN || PF || PC&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P1 || болт || 20&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P2 || гайка || 25&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P3 || шайба || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P4 || гайка || 30&lt;br /&gt;
 |}&lt;br /&gt;
 |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 |&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+ {{Формула|f=SP}}&lt;br /&gt;
 ! SN || PN || kol&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || P1 || 100&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || P3 || 200&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || P3 || 150&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || P3 || 50&lt;br /&gt;
 |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Задачи ==&lt;br /&gt;
&lt;br /&gt;
=== Задача №1 ===&lt;br /&gt;
&lt;br /&gt;
Проекция. Найти города, где проживают поставщики.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t=\Pi_{SG}(S)}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | Самара&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT DISTINCT SG FROM S&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №2 ===&lt;br /&gt;
&lt;br /&gt;
Селекция. Найти поставщиков со статусом больше 70.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t=\sigma_{SS&amp;gt;70}(S)}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Москва&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT * FROM S WHERE SS &amp;gt; 70&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №3 ===&lt;br /&gt;
&lt;br /&gt;
Найти номера и фамилии поставщиков со статусом меньше 80.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t=\Pi_{SN,SF}(\sigma_{SS&amp;lt;80}(S))}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || Петров&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT SN, SF&lt;br /&gt;
FROM S&lt;br /&gt;
WHERE SS &amp;lt; 80&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №4 ===&lt;br /&gt;
 &lt;br /&gt;
Удалить все поставки поставщика с номером S1.&lt;br /&gt;
 &lt;br /&gt;
{{Формула|f=SP = SP - \sigma_{SN=S1}(SP)}}&lt;br /&gt;
 &lt;br /&gt;
Получится:&lt;br /&gt;
 &lt;br /&gt;
{|+SP | class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || PN || kol&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || P3 || 150&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || P3 || 50&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;DELETE&lt;br /&gt;
FROM SP&lt;br /&gt;
WHERE SN = S1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №5 ===&lt;br /&gt;
 &lt;br /&gt;
Добавить в таблицу S новых поставщиков из таблицы SNEW.&lt;br /&gt;
 &lt;br /&gt;
{|+SNEW | class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S4 || Петров || 30 || Тверь&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S5 || Сидоров || 50 || Тверь&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
{{Формула|f=S = SP\bigcup S}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{|+ таблица SNEW | class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || Петров || 40 || Самара&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S4 || Петров || 30 || Тверь&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S5 || Сидоров || 50 || Тверь&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;INSERT&lt;br /&gt;
INTO S&lt;br /&gt;
SELECT * FROM SNEW&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №6 ===&lt;br /&gt;
&lt;br /&gt;
Найти номера поставщиков, поставляющих детали по цене меньше 30.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r = \sigma_{PC&amp;lt;30}(P)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = SP \bowtie_{PN} r }}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! PN !! PF !! PC !! SN !! kol&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P1 || болт || 20 || S1 || 100&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P3 || шайба || 10 || S1 || 200&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P3 || шайба || 10 || S2 || 150&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P3 || шайба || 10 || S3 || 50&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=z = \Pi_{SN}(t)}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT DISTINCT SN&lt;br /&gt;
FROM SP, P&lt;br /&gt;
WHERE PC &amp;lt; 30 AND SP.PN = P.PN&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №7 ===&lt;br /&gt;
&lt;br /&gt;
Найти Фамилии поставщиков, поставляющих шайбы в количестве больше 100.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=w = \sigma_{PF=шайба}(P)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = w \bowtie_{PN}SP }}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=z = \sigma_{kol&amp;gt;100}(t)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=q = z \bowtie_{SN} S}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=x = \Pi_{SF}(q)}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SF&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | Иванов&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | Петров&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT SN, SF&lt;br /&gt;
FROM S, P, SP&lt;br /&gt;
WHERE PF = &#039;шайба&#039; AND kol &amp;gt; 100 AND P.PN = SP.PN AND SP.SN = S.SN&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №8 ===&lt;br /&gt;
&lt;br /&gt;
Все поставщики переехали из Москвы в Питер. Модифицировать таблицу S.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = \sigma_{SS=Москва}(S)}}, получится:&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Москва&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
{{Формула|f=\Pi_{SS,SF,SS}(t)}}, получится:&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
Ввели новую таблицу spb:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 !SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | Санкт-Петербург&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{{Формула|f=m = f\times spb}}, получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Санкт-Петербург&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Санкт-Петербург&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=z = S - t}}, получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || Петров || 40 || Самара&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
{{Формула|f=S = m \bigcup z}}, получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Санкт-Петербург&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Санкт-Петербург&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || Петров || 40 || Самара&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;&lt;br /&gt;
UPDATE S&lt;br /&gt;
SET SG=&#039;Санкт Петербург&#039;&lt;br /&gt;
WHERE SG=&#039;Москва&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Теоретические основы реляционной алгебры (9 семестр)|С]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>213.87.153.58</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%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=5417</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%A1%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80_%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=5417"/>
		<updated>2016-09-26T17:01:56Z</updated>

		<summary type="html">&lt;p&gt;213.87.153.58: /* Задача №7 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Операции реляционной алгебры и их связь с SQL.&lt;br /&gt;
&lt;br /&gt;
== Операторы SQL ==&lt;br /&gt;
&lt;br /&gt;
=== SELECT ===&lt;br /&gt;
&lt;br /&gt;
SELECT - выборка, DISTINCT - исключая.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT [DISTINCT] * | атрибуты&lt;br /&gt;
FROM таблицы&lt;br /&gt;
WHERE условие&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UPDATE ===&lt;br /&gt;
&lt;br /&gt;
UPDATE - обновление, изменение.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;UPDATE таблица&lt;br /&gt;
SET атрибут = выражение&lt;br /&gt;
WHERE условие&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== INSERT ===&lt;br /&gt;
&lt;br /&gt;
INSERT - вставка, добавление новых записей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;INSERT&lt;br /&gt;
INTO таблица&lt;br /&gt;
записи&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DELETE ===&lt;br /&gt;
&lt;br /&gt;
DELETE - удаление записей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;DELETE&lt;br /&gt;
FROM таблица&lt;br /&gt;
WHERE условие&amp;lt;/syntaxhighlight&amp;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=\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;
=== Примеры экземпляров отношений ===&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=S}}&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || Петров || 40 || Самара&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Москва&lt;br /&gt;
 |}&lt;br /&gt;
 |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 |&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+ {{Формула|f=P}}&lt;br /&gt;
 ! PN || PF || PC&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P1 || болт || 20&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P2 || гайка || 25&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P3 || шайба || 10&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P4 || гайка || 30&lt;br /&gt;
 |}&lt;br /&gt;
 |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 |&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+ {{Формула|f=SP}}&lt;br /&gt;
 ! SN || PN || kol&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || P1 || 100&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || P3 || 200&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || P3 || 150&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || P3 || 50&lt;br /&gt;
 |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Задачи ==&lt;br /&gt;
&lt;br /&gt;
=== Задача №1 ===&lt;br /&gt;
&lt;br /&gt;
Проекция. Найти города, где проживают поставщики.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t=\Pi_{SG}(S)}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | Самара&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT DISTINCT SG FROM S&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №2 ===&lt;br /&gt;
&lt;br /&gt;
Селекция. Найти поставщиков со статусом больше 70.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t=\sigma_{SS&amp;gt;70}(S)}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Москва&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT * FROM S WHERE SS &amp;gt; 70&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №3 ===&lt;br /&gt;
&lt;br /&gt;
Найти номера и фамилии поставщиков со статусом меньше 80.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t=\Pi_{SN,SF}(\sigma_{SS&amp;lt;80}(S))}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || Петров&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT SN, SF&lt;br /&gt;
FROM S&lt;br /&gt;
WHERE SS &amp;lt; 80&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №4 ===&lt;br /&gt;
 &lt;br /&gt;
Удалить все поставки поставщика с номером S1.&lt;br /&gt;
 &lt;br /&gt;
{{Формула|f=SP = SP - \sigma_{SN=S1}(SP)}}&lt;br /&gt;
 &lt;br /&gt;
Получится:&lt;br /&gt;
 &lt;br /&gt;
{|+SP | class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || PN || kol&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || P3 || 150&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || P3 || 50&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;DELETE&lt;br /&gt;
FROM SP&lt;br /&gt;
WHERE SN = S1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №5 ===&lt;br /&gt;
 &lt;br /&gt;
Добавить в таблицу S новых поставщиков из таблицы SNEW.&lt;br /&gt;
 &lt;br /&gt;
{|+SNEW | class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S4 || Петров || 30 || Тверь&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S5 || Сидоров || 50 || Тверь&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
{{Формула|f=S = SP\bigcup S}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{|+ таблица SNEW | class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || Петров || 40 || Самара&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S4 || Петров || 30 || Тверь&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S5 || Сидоров || 50 || Тверь&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;INSERT&lt;br /&gt;
INTO S&lt;br /&gt;
SELECT * FROM SNEW&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №6 ===&lt;br /&gt;
&lt;br /&gt;
Найти номера поставщиков, поставляющих детали по цене меньше 30.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=r = \sigma_{PC&amp;lt;30}(P)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = SP \bowtie_{PN} r }}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! PN !! PF !! PC !! SN !! kol&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P1 || болт || 20 || S1 || 100&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P3 || шайба || 10 || S1 || 200&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P3 || шайба || 10 || S2 || 150&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | P3 || шайба || 10 || S3 || 50&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=z = \Pi_{SN}(t)}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT DISTINCT SN&lt;br /&gt;
FROM SP, P&lt;br /&gt;
WHERE PC &amp;lt; 30 AND SP.PN = P.PN&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №7 ===&lt;br /&gt;
&lt;br /&gt;
Найти Фамилии поставщиков, поставляющих шайбы в количестве больше 100.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=w = \sigma_{PF=шайба}(P)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = w \bowtie_{PN}SP }}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=z = \sigma_{kol&amp;gt;100}(t)}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=q = z \bowtie_{SN} S}}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=x = \Pi_{SF}(q)}}&lt;br /&gt;
&lt;br /&gt;
Получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || Петров&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;SELECT SN, SF&lt;br /&gt;
FROM S, P, SP&lt;br /&gt;
WHERE PF = &#039;шайба&#039; AND kol &amp;gt; 100 AND P.PN = SP.PN AND SP.SN = S.SN&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Задача №8 ===&lt;br /&gt;
&lt;br /&gt;
Все поставщики переехали из Москвы в Питер. Модифицировать таблицу S.&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=t = \sigma_{SS=Москва}(S)}}, получится:&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Москва&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Москва&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
{{Формула|f=\Pi_{SS,SF,SS}(t)}}, получится:&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
Ввели новую таблицу spb:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 !SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | Санкт-Петербург&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{{Формула|f=m = f\times spb}}, получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Санкт-Петербург&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Санкт-Петербург&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{{Формула|f=z = S - t}}, получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || Петров || 40 || Самара&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
{{Формула|f=S = m \bigcup z}}, получится:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! SN || SF || SS || SG&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S1 || Иванов || 80 || Санкт-Петербург&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S3 || Кротов || 100 || Санкт-Петербург&lt;br /&gt;
 |- align=&amp;quot;center&amp;quot;&lt;br /&gt;
 | S2 || Петров || 40 || Самара&lt;br /&gt;
 |}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql&amp;gt;&lt;br /&gt;
UPDATE S&lt;br /&gt;
SET SG=&#039;Санкт Петербург&#039;&lt;br /&gt;
WHERE SG=&#039;Москва&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Теоретические основы реляционной алгебры (9 семестр)|С]]&lt;br /&gt;
[[Категория:Конспекты лекций и семинаров]]&lt;/div&gt;</summary>
		<author><name>213.87.153.58</name></author>
	</entry>
</feed>