SlideShare a Scribd company logo
Управление данными.
Часть 3.
Реляционная
модель данных
(©) Владислав Лавров, vlavrov.com
Современная технология реализации баз данных основана на реляционной
модели.
Принципы реляционной модели были изначально заложены в 1969 году
доктором Э.Ф.Коддом, в то время исследователем, работавшим в
корпорации IBM.
В конце 1968 года Кодд, математик по образованию, впервые осознал, что
математические дисциплины можно использовать, чтобы привнести в
область управления базами данных строгие принципы и точность.
3.1. Общие понятия реляционного подхода к организации данных
В 1970 году была опубликована статья (Codd E.F. A Relational Model of Data for Large Shared Data Banks //
CACM. – 1970. – 13, №6), где Э.Ф.Кодд впервые сформулировал основные понятия и ограничения
реляционной.
Предложения Кодда были настолько эффективны для систем баз данных, что за эту модель он был удостоен
престижной премии Тьюринга в области теоретических основ вычислительной техники.
Первые реляционные программные продукты начали появляться в конце 70-х –
начале 80-х годов. С тех пор почти все созданные коммерческие СУБД основываются на реляционном
подходе.
(©) Владислав Лавров, vlavrov.com
Принципы организации данных в реляционной модели
1. Данные воспринимаются пользователем как таблицы.
2. В распоряжении пользователя имеются операторы
манипулирования данными (например, для выборки данных),
которые генерируют новые таблицы из старых.
ОТДЕЛ
СОТРУДНИКИ
(©) Владислав Лавров, vlavrov.com
Примеры операторов манипулирования данными
SELECT (RESTRICT): Выборка строк из таблицы «Отделы», где бюджет более 230
Результат:
PROJECT: Извлечение столбцов «Наименование» и «Бюджет» из таблицы «Отделы»
Результат:
JOIN: Соединение таблиц "Отделы" и "Сотрудники" на основе столбца "Номер отдела"
Результат:
(©) Владислав Лавров, vlavrov.com
1. Результат каждой из трех операций – это
еще одна таблица. Это реляционное
свойство замкнутости.
2. Операции применяются сразу ко всему
множеству строк, а не к отдельной строке
за один раз, т.е. операндами и
результатами являются не отдельные
строки, а целые таблицы, которые
содержат множество строк.
Важные следствия
(©) Владислав Лавров, vlavrov.com
3.2. Основные понятия реляционных баз данных
• тип данных;
• домен;
• атрибут;
• кортеж;
• схема отношения, схема базы данных;
• отношение;
• первичный ключ.
Номер
сотрудника
Имя
сотрудника
Номер
отдела
Зарплата Дата
рождения
152 Веселов 2 580 12/05/65
563 Ступин 3 620 04/08/58
245 Кораблев 6 700 27/03/42
255 Нестеров 3 700 25/11/59
Первичный
ключ
Номера
пропусков
Имена
сотрудников
Номера
отделов
Размеры
выплат
Даты
рождения
Целые
Строковые
переменные Деньги Переменные
типа даты
Типы
данных
Атрибуты
Домены
Кортежи
(©) Владислав Лавров, vlavrov.com
Неформальные определения реляционных объектов данных
Формальный
реляционный
термин
Неформальный эквивалент
Отношение Таблица
Кортеж Строка или запись таблицы
Кардинальное число Количество строк
Атрибут Столбец или поле
Степень (арность) Количество столбцов
Первичный ключ Уникальный идентификатор
Домен
Общая совокупность допустимых значений
данных в столбце
(©) Владислав Лавров, vlavrov.com
3.3. Общая характеристика реляционной модели данных
Christopher J. Date (р. 1941) — специалист в области
реляционных баз данных,
автор классического учебника
«An Introduction to Database Systems»
(стандартный учебник по теме баз данных,
используется во многих университетах мира).
Работал над развитием реляционных СУБД
совместно с Эдгаром Коддом.
(©) Владислав Лавров, vlavrov.com
3.3. Общая характеристика реляционной модели данных
Структурная
часть
Манипуляционная
часть
Целостная
часть
Реляционная модель
(©) Владислав Лавров, vlavrov.com
Целостность по ссылкам
ОТДЕЛЫ (ОТД_НОМЕР, ОТД_КОЛ)
СОТРУДНИКИ (СОТР_НОМЕР, СОТР_ИМЯ, СОТР_ЗАРП, СОТР_ОТД_НОМ )
Требование целостности по ссылкам, или требование внешнего ключа,
состоит в том, что для каждого значения внешнего ключа, появляющегося в
ссылающемся отношении, в таблице, на которую ведёт ссылка, должен
найтись кортеж с таким же значением первичного ключа либо значение
внешнего ключа должно быть неопределённым, то есть ни на что не
указывать.
Пример:
(©) Владислав Лавров, vlavrov.com
Целостность по ссылкам
Что происходит при удалении кортежа из отношения,
на которое ведет ссылка?
1. Операция каскадируется – то есть удаление кортежей в
отношении приводит к удалению соответствующих
кортежей в связанном отношении.
2. Операция ограничивается – то есть удаляются лишь те
кортежи, для которых связанной информации в другом
отношении нет. Если такая информация имеется, то
удаление осуществить нельзя. В этом случае сначала
нужно либо удалить ссылающиеся кортежи, либо
соответствующим образом изменить значения их
внешнего ключа.
(©) Владислав Лавров, vlavrov.com
Целостность по ссылкам
Что происходит при попытке обновления первичного
ключа отношения, на которое ссылается некоторый
внешний ключ?
1. Операция каскадируется – то есть при обновлении
первичного ключа происходит обновление внешнего
ключа в связанном отношении.
2. Операция ограничивается – то есть обновляются лишь
те первичные ключи, для которых связанной информации
в другом отношении нет.
Если такая информация имеется, то обновление сделать
нельзя.
(©) Владислав Лавров, vlavrov.com
3.3. Реляционная алгебра
Набор алгебраических операций, предложенных
Э.Ф.Коддом, для манипулирования данными в реляционной
модели
теоретико-множественные операции;
• объединение отношений;
• пересечение отношений;
• разность отношений;
• декартово произведение отношений;
специальные операции.
• выборка отношения;
• проекция отношения;
• соединение отношений;
• деление отношений.
(©) Владислав Лавров, vlavrov.com
Теоретико-множественные операции
R1 - перечень
деталей,
изготавливаемых на
1-м участке цеха
R2 - перечень
деталей,
изготавливаемых
на 2-м участке цеха
Пример: заданы
(©) Владислав Лавров, vlavrov.com
Объединение отношений
R3 - общая
номенклатура цеха
Пример: результат
Операция моделирует некоторую ситуацию, которая
характеризуется словом «общее»
(©) Владислав Лавров, vlavrov.com
Пересечение отношений
R4 - перечень деталей,
которые выпускаются
одновременно на двух
участках цеха.
Пример: результат
Операция моделирует некоторую ситуацию, которая
характеризуется словом «одновременно»
(©) Владислав Лавров, vlavrov.com
Разность отношений
R5 - перечень деталей,
которые изготавливают
только на участке 1 .
Пример: результат
R6 - перечень деталей,
которые изготавливают
только на участке 2 .
Операция моделирует некоторую ситуацию, которая
характеризуется словом «только»
(©) Владислав Лавров, vlavrov.com
Декартово произведение
Операция моделирует некоторую ситуацию, которая
характеризуется словом «все»
(©) Владислав Лавров, vlavrov.com
Декартово произведение
R7 - обязательная
номенклатура выпуска
деталей для всех цехов
Пример: определить какие детали из обязательной
номенклатуры в каком цехе не выпускаются
R8 - перечень
цехов
Дополнительно заданы:
(©) Владислав Лавров, vlavrov.com
Декартово произведение
R9 - ситуация, когда
каждый цех изготавливает
все требуемые детали.
9 7 8R R R 
(©) Владислав Лавров, vlavrov.com
Декартово произведение
R10 - реальный выпуск
деталей в каждом цехе
Дополнительно задано:
(©) Владислав Лавров, vlavrov.com
Декартово произведение
R11 - какие детали в
каких цехах из общей
обязательной
номенклатуры
не выпускаются.
Итоговый результат: .RRR 10911 
(©) Владислав Лавров, vlavrov.com
Специальные операции
Выборка отношений
(©) Владислав Лавров, vlavrov.com
Выборка отношений
R12 = R10 [ Шифр детали = «11003» ]
Пример: выбрать из отношения R10 все детали с шифром «11003»
(©) Владислав Лавров, vlavrov.com
Проекция отношений
(©) Владислав Лавров, vlavrov.com
Проекция отношений
R13 = R10 [ Название детали = «Болт М1» ]
Пример: выбрать из отношения R10 все цеха, которые
изготавливают деталь «Болт М1»
R14 = R13 [ Цех ]
(©) Владислав Лавров, vlavrov.com
Соединение отношений
(©) Владислав Лавров, vlavrov.com
Соединение отношений
Пример: Получить перечень деталей, которые изготавливаются в цехе 1
из материала «Сталь-ст1»
R15 - перечень деталей с
указанием материалов, из
которых эти детали
изготавливаются
R16 = (R15 [ ( R15.Шифр детали = R10.Шифр детали) 
R10.Цех = «Цех 1» 
R15.Материал = «Сталь-ст1»] R10 )
[Название детали]
(©) Владислав Лавров, vlavrov.com
Деление отношений
Пример: Множество образов отношения R15 по материалу «Сталь-ст2»:
R15.Материал = {
<11075, Гайка М2, «Сталь-ст2»>,
< 11077, Гайка М4, «Сталь-ст2»> }
(©) Владислав Лавров, vlavrov.com
Деление отношений
Операция удобна тогда, когда требуется сравнить некоторое множество
характеристик отдельных атрибутов
(©) Владислав Лавров, vlavrov.com
Деление отношений
Пример: Определить перечень цехов R17, в которых выпускается вся
номенклатура деталей.
R7 - обязательная
номенклатура
выпуска деталей
для всех цехов
R10 - реальный выпуск
деталей в каждом цехе
R17 =
R10 [Шифр детали, Название детали :
Шифр детали, Название детали]
R7
(©) Владислав Лавров, vlavrov.com
Пример: Определить перечень цехов R17, в которых выпускается вся
номенклатура деталей.
Другой способ решения:
1. Построить отношение R9, которое моделирует ситуацию, когда в каждом
цехе изготавливается вся номенклатура (декартово произведение R7 и R8).
9 7 8R R R 
2. Найти R11 - перечень того, что из обязательной номенклатуры не выпускается
в некоторых цехах (разность R9 и R10).
11 9 10R R R
3. Найти R18 - те цеха, в которых не все детали выпускаются (отношение R11
спроектировать на столбец «Цех»).
 18 11 "Öåõ"R R
4. Из перечня всех цехов R8 вычесть те, в которых выпускают не все детали R18.
Результат
(©) Владислав Лавров, vlavrov.com

More Related Content

What's hot

О.В. Сухорослов "Распределенные хранилища данных"
О.В. Сухорослов "Распределенные хранилища данных"О.В. Сухорослов "Распределенные хранилища данных"
О.В. Сухорослов "Распределенные хранилища данных"
Yandex
 
Olap и oltp технологии
Olap и oltp технологииOlap и oltp технологии
Olap и oltp технологии
Ilya Ternovoy
 
Основы OLAP. Вебинар Workaround в Softengi
Основы OLAP. Вебинар Workaround в SoftengiОсновы OLAP. Вебинар Workaround в Softengi
Основы OLAP. Вебинар Workaround в Softengi
Softengi
 
Информатика (эффективный поиск в Интернет)
Информатика (эффективный поиск в Интернет)Информатика (эффективный поиск в Интернет)
Информатика (эффективный поиск в Интернет)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Информатика (рекомендуемые информационные ресурсы)
Информатика (рекомендуемые информационные ресурсы)Информатика (рекомендуемые информационные ресурсы)
Информатика (рекомендуемые информационные ресурсы)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Информатика (прикладное ПО)
Информатика (прикладное ПО)Информатика (прикладное ПО)
Информатика (прикладное ПО)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Информатика (СУБД)
Информатика (СУБД)Информатика (СУБД)
Все самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутВсе самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минут
SkillFactory
 
базы данных
базы данныхбазы данных
базы данных
Алексей Орловский
 
Управление Данными. Лекция 6
Управление Данными. Лекция 6Управление Данными. Лекция 6
Управление Данными. Лекция 6
Dmitriy Krukov
 
Управление Данными. Лекция 5
Управление Данными. Лекция 5Управление Данными. Лекция 5
Управление Данными. Лекция 5
Dmitriy Krukov
 
Data Destribution service OMG standart
Data Destribution service OMG standart Data Destribution service OMG standart
Data Destribution service OMG standart
Sergei Seleznev
 
Управление Данными. Лекция 1
Управление Данными. Лекция 1Управление Данными. Лекция 1
Управление Данными. Лекция 1
Dmitriy Krukov
 
DBD lection 4. Big Data, NoSQL. In Russian.
DBD lection 4. Big Data, NoSQL. In Russian.DBD lection 4. Big Data, NoSQL. In Russian.
DBD lection 4. Big Data, NoSQL. In Russian.
mikhaelsmirnov
 
InterSystems Healthshare +DeepSee. Hospitalization queue
InterSystems Healthshare +DeepSee. Hospitalization queueInterSystems Healthshare +DeepSee. Hospitalization queue
InterSystems Healthshare +DeepSee. Hospitalization queue
InterSystems
 
DBD lection 1. Intro in Database Design. In Russian.
DBD lection 1. Intro in Database Design. In Russian.DBD lection 1. Intro in Database Design. In Russian.
DBD lection 1. Intro in Database Design. In Russian.
mikhaelsmirnov
 
Информатика (устройство ПК)
Информатика (устройство ПК)Информатика (устройство ПК)
Информатика (устройство ПК)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Информатика (архитектура ПО)
Информатика (архитектура ПО)Информатика (архитектура ПО)
Информатика (архитектура ПО)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Информатика (архитектура)
Информатика (архитектура)Информатика (архитектура)
Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»
Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»
Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»
Mail.ru Group
 

What's hot (20)

О.В. Сухорослов "Распределенные хранилища данных"
О.В. Сухорослов "Распределенные хранилища данных"О.В. Сухорослов "Распределенные хранилища данных"
О.В. Сухорослов "Распределенные хранилища данных"
 
Olap и oltp технологии
Olap и oltp технологииOlap и oltp технологии
Olap и oltp технологии
 
Основы OLAP. Вебинар Workaround в Softengi
Основы OLAP. Вебинар Workaround в SoftengiОсновы OLAP. Вебинар Workaround в Softengi
Основы OLAP. Вебинар Workaround в Softengi
 
Информатика (эффективный поиск в Интернет)
Информатика (эффективный поиск в Интернет)Информатика (эффективный поиск в Интернет)
Информатика (эффективный поиск в Интернет)
 
Информатика (рекомендуемые информационные ресурсы)
Информатика (рекомендуемые информационные ресурсы)Информатика (рекомендуемые информационные ресурсы)
Информатика (рекомендуемые информационные ресурсы)
 
Информатика (прикладное ПО)
Информатика (прикладное ПО)Информатика (прикладное ПО)
Информатика (прикладное ПО)
 
Информатика (СУБД)
Информатика (СУБД)Информатика (СУБД)
Информатика (СУБД)
 
Все самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутВсе самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минут
 
базы данных
базы данныхбазы данных
базы данных
 
Управление Данными. Лекция 6
Управление Данными. Лекция 6Управление Данными. Лекция 6
Управление Данными. Лекция 6
 
Управление Данными. Лекция 5
Управление Данными. Лекция 5Управление Данными. Лекция 5
Управление Данными. Лекция 5
 
Data Destribution service OMG standart
Data Destribution service OMG standart Data Destribution service OMG standart
Data Destribution service OMG standart
 
Управление Данными. Лекция 1
Управление Данными. Лекция 1Управление Данными. Лекция 1
Управление Данными. Лекция 1
 
DBD lection 4. Big Data, NoSQL. In Russian.
DBD lection 4. Big Data, NoSQL. In Russian.DBD lection 4. Big Data, NoSQL. In Russian.
DBD lection 4. Big Data, NoSQL. In Russian.
 
InterSystems Healthshare +DeepSee. Hospitalization queue
InterSystems Healthshare +DeepSee. Hospitalization queueInterSystems Healthshare +DeepSee. Hospitalization queue
InterSystems Healthshare +DeepSee. Hospitalization queue
 
DBD lection 1. Intro in Database Design. In Russian.
DBD lection 1. Intro in Database Design. In Russian.DBD lection 1. Intro in Database Design. In Russian.
DBD lection 1. Intro in Database Design. In Russian.
 
Информатика (устройство ПК)
Информатика (устройство ПК)Информатика (устройство ПК)
Информатика (устройство ПК)
 
Информатика (архитектура ПО)
Информатика (архитектура ПО)Информатика (архитектура ПО)
Информатика (архитектура ПО)
 
Информатика (архитектура)
Информатика (архитектура)Информатика (архитектура)
Информатика (архитектура)
 
Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»
Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»
Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»
 

Viewers also liked

МиСПИСиТ (источники ошибок)
МиСПИСиТ (источники ошибок)МиСПИСиТ (источники ошибок)
МиСПИСиТ (источники ошибок)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
МиСПИСиТ (архитектура)
МиСПИСиТ (архитектура)МиСПИСиТ (архитектура)
МиСПИСиТ (общие принципы разработки)
МиСПИСиТ (общие принципы разработки)МиСПИСиТ (общие принципы разработки)
МиСПИСиТ (общие принципы разработки)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
МиСПИСиТ (введение)
МиСПИСиТ (введение)МиСПИСиТ (введение)
МиСПИСиТ (структура)
МиСПИСиТ (структура)МиСПИСиТ (структура)
МиСПИСиТ (тестирование и отладка)
МиСПИСиТ (тестирование и отладка)МиСПИСиТ (тестирование и отладка)
МиСПИСиТ (тестирование и отладка)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
МиСПИСиТ (IDEF)
МиСПИСиТ (IDEF)МиСПИСиТ (IDEF)
МиСПИСиТ (разработка программного модуля)
МиСПИСиТ (разработка программного модуля)МиСПИСиТ (разработка программного модуля)
МиСПИСиТ (разработка программного модуля)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
1. Кафедра ТИМ УрФУ
1. Кафедра ТИМ УрФУ1. Кафедра ТИМ УрФУ
Образовательная программа ИСТ на кафедре ТИМ УрФУ
Образовательная программа ИСТ на кафедре ТИМ УрФУОбразовательная программа ИСТ на кафедре ТИМ УрФУ
Образовательная программа ИСТ на кафедре ТИМ УрФУ
Ural Federal University named after First President of Russia B.N. Yeltsin
 
МиСПИСиТ (литература по курсу)
МиСПИСиТ (литература по курсу)МиСПИСиТ (литература по курсу)
МиСПИСиТ (литература по курсу)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
МиСПИСиТ (жизненный цикл)
МиСПИСиТ (жизненный цикл)МиСПИСиТ (жизненный цикл)
МиСПИСиТ (внешнее описание)
МиСПИСиТ (внешнее описание)МиСПИСиТ (внешнее описание)
МиСПИСиТ (внешнее описание)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
3. Общая характеристика АСУ
3. Общая характеристика АСУ3. Общая характеристика АСУ
3. Общая характеристика АСУ
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Управление данными (транзакции)
Управление данными (транзакции)Управление данными (транзакции)
Управление данными (транзакции)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
Iosif Itkin
 
2016 ВКР Черемискина Н.А.
2016 ВКР Черемискина Н.А.2016 ВКР Черемискина Н.А.

Viewers also liked (19)

МиСПИСиТ (источники ошибок)
МиСПИСиТ (источники ошибок)МиСПИСиТ (источники ошибок)
МиСПИСиТ (источники ошибок)
 
МиСПИСиТ (архитектура)
МиСПИСиТ (архитектура)МиСПИСиТ (архитектура)
МиСПИСиТ (архитектура)
 
МиСПИСиТ (общие принципы разработки)
МиСПИСиТ (общие принципы разработки)МиСПИСиТ (общие принципы разработки)
МиСПИСиТ (общие принципы разработки)
 
МиСПИСиТ (введение)
МиСПИСиТ (введение)МиСПИСиТ (введение)
МиСПИСиТ (введение)
 
МиСПИСиТ (структура)
МиСПИСиТ (структура)МиСПИСиТ (структура)
МиСПИСиТ (структура)
 
МиСПИСиТ (тестирование и отладка)
МиСПИСиТ (тестирование и отладка)МиСПИСиТ (тестирование и отладка)
МиСПИСиТ (тестирование и отладка)
 
МиСПИСиТ (IDEF)
МиСПИСиТ (IDEF)МиСПИСиТ (IDEF)
МиСПИСиТ (IDEF)
 
МиСПИСиТ (разработка программного модуля)
МиСПИСиТ (разработка программного модуля)МиСПИСиТ (разработка программного модуля)
МиСПИСиТ (разработка программного модуля)
 
1. Кафедра ТИМ УрФУ
1. Кафедра ТИМ УрФУ1. Кафедра ТИМ УрФУ
1. Кафедра ТИМ УрФУ
 
Образовательная программа ИСТ на кафедре ТИМ УрФУ
Образовательная программа ИСТ на кафедре ТИМ УрФУОбразовательная программа ИСТ на кафедре ТИМ УрФУ
Образовательная программа ИСТ на кафедре ТИМ УрФУ
 
МиСПИСиТ (литература по курсу)
МиСПИСиТ (литература по курсу)МиСПИСиТ (литература по курсу)
МиСПИСиТ (литература по курсу)
 
МиСПИСиТ (жизненный цикл)
МиСПИСиТ (жизненный цикл)МиСПИСиТ (жизненный цикл)
МиСПИСиТ (жизненный цикл)
 
МиСПИСиТ (внешнее описание)
МиСПИСиТ (внешнее описание)МиСПИСиТ (внешнее описание)
МиСПИСиТ (внешнее описание)
 
3. Общая характеристика АСУ
3. Общая характеристика АСУ3. Общая характеристика АСУ
3. Общая характеристика АСУ
 
Управление данными (транзакции)
Управление данными (транзакции)Управление данными (транзакции)
Управление данными (транзакции)
 
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
 
User Aggs In As
User Aggs In AsUser Aggs In As
User Aggs In As
 
BI для ИТ-директоров
BI для ИТ-директоровBI для ИТ-директоров
BI для ИТ-директоров
 
2016 ВКР Черемискина Н.А.
2016 ВКР Черемискина Н.А.2016 ВКР Черемискина Н.А.
2016 ВКР Черемискина Н.А.
 

Similar to Управление данными (реляционная модель)

Уровни проектирования информационной системы (обзор материалов портала wiki....
Уровни проектирования информационной системы  (обзор материалов портала wiki....Уровни проектирования информационной системы  (обзор материалов портала wiki....
Уровни проектирования информационной системы (обзор материалов портала wiki....Media Gorod
 
Технология Semantic web как инструмент интеграции данных
Технология Semantic web как инструмент интеграции данныхТехнология Semantic web как инструмент интеграции данных
Технология Semantic web как инструмент интеграции данных
Дмитрий Филатов
 
Реляционные базы данных
Реляционные базы данныхРеляционные базы данных
Реляционные базы данных
Levon Avakyan
 
Есть ли жизнь с ORM или типовая архитектура CRUD приложения
Есть ли жизнь с ORM или типовая архитектура CRUD приложенияЕсть ли жизнь с ORM или типовая архитектура CRUD приложения
Есть ли жизнь с ORM или типовая архитектура CRUD приложения
Nicolay Velizhanin
 
Zyabrev -
Zyabrev - Zyabrev -
Zyabrev - Anna
 
Моделирование для NoSQL БД
Моделирование для NoSQL БДМоделирование для NoSQL БД
Моделирование для NoSQL БД
Andrew Sovtsov
 
DFD моделирование - диаграммы потоков данных
DFD моделирование - диаграммы потоков данныхDFD моделирование - диаграммы потоков данных
DFD моделирование - диаграммы потоков данных
Timofei Tatarinov
 
Вебклуб Perlgolf.ru
Вебклуб Perlgolf.ruВебклуб Perlgolf.ru
Вебклуб Perlgolf.ru
mayperl
 
лекция типовые ошибки
лекция типовые ошибкилекция типовые ошибки
лекция типовые ошибки
Yury Zelensky
 
Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3
Timur Shemsedinov
 
NoSQL - взрыв возможностей
NoSQL - взрыв возможностейNoSQL - взрыв возможностей
NoSQL - взрыв возможностей
Aleksey Solntsev
 
Презентация Neo4j на ADD-3
Презентация Neo4j на ADD-3Презентация Neo4j на ADD-3
Презентация Neo4j на ADD-3Evgeny Gazdovsky
 
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API: SyntaxTree vs CodeDom, SemanticModel vs ReflectionRoslyn API: SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
Denis Tsvettsih
 
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDkranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDKrivoy Rog IT Community
 
Индексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизацииИндексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизации
Alexander Byndyu
 
Excel in Javascript
Excel in JavascriptExcel in Javascript
Excel in Javascript
Viktor Turskyi
 
Hpc Day
Hpc DayHpc Day
20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле
Andrew Sovtsov
 
Базы данных лекция №7
Базы данных лекция №7Базы данных лекция №7
Базы данных лекция №7
Vitaliy Pak
 

Similar to Управление данными (реляционная модель) (20)

Уровни проектирования информационной системы (обзор материалов портала wiki....
Уровни проектирования информационной системы  (обзор материалов портала wiki....Уровни проектирования информационной системы  (обзор материалов портала wiki....
Уровни проектирования информационной системы (обзор материалов портала wiki....
 
Технология Semantic web как инструмент интеграции данных
Технология Semantic web как инструмент интеграции данныхТехнология Semantic web как инструмент интеграции данных
Технология Semantic web как инструмент интеграции данных
 
Sql
SqlSql
Sql
 
Реляционные базы данных
Реляционные базы данныхРеляционные базы данных
Реляционные базы данных
 
Есть ли жизнь с ORM или типовая архитектура CRUD приложения
Есть ли жизнь с ORM или типовая архитектура CRUD приложенияЕсть ли жизнь с ORM или типовая архитектура CRUD приложения
Есть ли жизнь с ORM или типовая архитектура CRUD приложения
 
Zyabrev -
Zyabrev - Zyabrev -
Zyabrev -
 
Моделирование для NoSQL БД
Моделирование для NoSQL БДМоделирование для NoSQL БД
Моделирование для NoSQL БД
 
DFD моделирование - диаграммы потоков данных
DFD моделирование - диаграммы потоков данныхDFD моделирование - диаграммы потоков данных
DFD моделирование - диаграммы потоков данных
 
Вебклуб Perlgolf.ru
Вебклуб Perlgolf.ruВебклуб Perlgolf.ru
Вебклуб Perlgolf.ru
 
лекция типовые ошибки
лекция типовые ошибкилекция типовые ошибки
лекция типовые ошибки
 
Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3
 
NoSQL - взрыв возможностей
NoSQL - взрыв возможностейNoSQL - взрыв возможностей
NoSQL - взрыв возможностей
 
Презентация Neo4j на ADD-3
Презентация Neo4j на ADD-3Презентация Neo4j на ADD-3
Презентация Neo4j на ADD-3
 
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API: SyntaxTree vs CodeDom, SemanticModel vs ReflectionRoslyn API: SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
 
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDkranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
 
Индексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизацииИндексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизации
 
Excel in Javascript
Excel in JavascriptExcel in Javascript
Excel in Javascript
 
Hpc Day
Hpc DayHpc Day
Hpc Day
 
20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле
 
Базы данных лекция №7
Базы данных лекция №7Базы данных лекция №7
Базы данных лекция №7
 

More from Ural Federal University named after First President of Russia B.N. Yeltsin

2016 ВКР Гребнева Н.В.
2016 ВКР Гребнева Н.В.2016 ВКР Гребнева Н.В.
2016 ВКР Имашева А.А.
2016 ВКР Имашева А.А.2016 ВКР Имашева А.А.
Введение в методы agile
Введение в методы agileВведение в методы agile
ООП. Рекомендуемые информационные ресурсы
ООП. Рекомендуемые информационные ресурсыООП. Рекомендуемые информационные ресурсы
ООП. Рекомендуемые информационные ресурсы
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Методоллогии Agile
Методоллогии AgileМетодоллогии Agile
3. Информация и ее роль
3. Информация и ее роль3. Информация и ее роль
Наследование и полиморфизм
Наследование и полиморфизмНаследование и полиморфизм
Наследование и полиморфизм
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Классы и объекты С#
Классы и объекты С#Классы и объекты С#
Составные части объектного подхода
Составные части объектного подходаСоставные части объектного подхода
Составные части объектного подхода
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Интерфейсы
ИнтерфейсыИнтерфейсы
магистратура 09.04.02 ист на кафедре тим урфу+
магистратура 09.04.02 ист на кафедре тим урфу+магистратура 09.04.02 ист на кафедре тим урфу+
магистратура 09.04.02 ист на кафедре тим урфу+
Ural Federal University named after First President of Russia B.N. Yeltsin
 
магистратура 22.04.02 металлургия на кафедре тим+
магистратура 22.04.02 металлургия на кафедре тим+магистратура 22.04.02 металлургия на кафедре тим+
магистратура 22.04.02 металлургия на кафедре тим+
Ural Federal University named after First President of Russia B.N. Yeltsin
 
1.5 тп (технологические подходы)+
1.5 тп (технологические подходы)+1.5 тп (технологические подходы)+
1.5 тп (технологические подходы)+
Ural Federal University named after First President of Russia B.N. Yeltsin
 
1.4 тп (общие принципы разработки)+
1.4 тп (общие принципы разработки)+1.4 тп (общие принципы разработки)+
1.4 тп (общие принципы разработки)+
Ural Federal University named after First President of Russia B.N. Yeltsin
 
1.3 тп (источники ошибок)+
1.3 тп (источники ошибок)+1.3 тп (источники ошибок)+
2014 Сабиров Е.Р. презентация КП по ПБД
2014 Сабиров Е.Р. презентация КП по ПБД2014 Сабиров Е.Р. презентация КП по ПБД
2014 Сабиров Е.Р. презентация КП по ПБД
Ural Federal University named after First President of Russia B.N. Yeltsin
 
2014 Мищенко К.В. презентация КП по ПБД
2014 Мищенко К.В. презентация КП по ПБД2014 Мищенко К.В. презентация КП по ПБД
2014 Мищенко К.В. презентация КП по ПБД
Ural Federal University named after First President of Russia B.N. Yeltsin
 
2014 Пильщиков С.Н. презентация КП по ПБД
2014 Пильщиков С.Н. презентация КП по ПБД2014 Пильщиков С.Н. презентация КП по ПБД
2014 Пильщиков С.Н. презентация КП по ПБД
Ural Federal University named after First President of Russia B.N. Yeltsin
 
2014 диплом Терехова А.Ю
2014 диплом Терехова А.Ю2014 диплом Терехова А.Ю
2014 диплом Мухаметшин Р.Р
2014 диплом Мухаметшин Р.Р2014 диплом Мухаметшин Р.Р

More from Ural Federal University named after First President of Russia B.N. Yeltsin (20)

2016 ВКР Гребнева Н.В.
2016 ВКР Гребнева Н.В.2016 ВКР Гребнева Н.В.
2016 ВКР Гребнева Н.В.
 
2016 ВКР Имашева А.А.
2016 ВКР Имашева А.А.2016 ВКР Имашева А.А.
2016 ВКР Имашева А.А.
 
Введение в методы agile
Введение в методы agileВведение в методы agile
Введение в методы agile
 
ООП. Рекомендуемые информационные ресурсы
ООП. Рекомендуемые информационные ресурсыООП. Рекомендуемые информационные ресурсы
ООП. Рекомендуемые информационные ресурсы
 
Методоллогии Agile
Методоллогии AgileМетодоллогии Agile
Методоллогии Agile
 
3. Информация и ее роль
3. Информация и ее роль3. Информация и ее роль
3. Информация и ее роль
 
Наследование и полиморфизм
Наследование и полиморфизмНаследование и полиморфизм
Наследование и полиморфизм
 
Классы и объекты С#
Классы и объекты С#Классы и объекты С#
Классы и объекты С#
 
Составные части объектного подхода
Составные части объектного подходаСоставные части объектного подхода
Составные части объектного подхода
 
Интерфейсы
ИнтерфейсыИнтерфейсы
Интерфейсы
 
магистратура 09.04.02 ист на кафедре тим урфу+
магистратура 09.04.02 ист на кафедре тим урфу+магистратура 09.04.02 ист на кафедре тим урфу+
магистратура 09.04.02 ист на кафедре тим урфу+
 
магистратура 22.04.02 металлургия на кафедре тим+
магистратура 22.04.02 металлургия на кафедре тим+магистратура 22.04.02 металлургия на кафедре тим+
магистратура 22.04.02 металлургия на кафедре тим+
 
1.5 тп (технологические подходы)+
1.5 тп (технологические подходы)+1.5 тп (технологические подходы)+
1.5 тп (технологические подходы)+
 
1.4 тп (общие принципы разработки)+
1.4 тп (общие принципы разработки)+1.4 тп (общие принципы разработки)+
1.4 тп (общие принципы разработки)+
 
1.3 тп (источники ошибок)+
1.3 тп (источники ошибок)+1.3 тп (источники ошибок)+
1.3 тп (источники ошибок)+
 
2014 Сабиров Е.Р. презентация КП по ПБД
2014 Сабиров Е.Р. презентация КП по ПБД2014 Сабиров Е.Р. презентация КП по ПБД
2014 Сабиров Е.Р. презентация КП по ПБД
 
2014 Мищенко К.В. презентация КП по ПБД
2014 Мищенко К.В. презентация КП по ПБД2014 Мищенко К.В. презентация КП по ПБД
2014 Мищенко К.В. презентация КП по ПБД
 
2014 Пильщиков С.Н. презентация КП по ПБД
2014 Пильщиков С.Н. презентация КП по ПБД2014 Пильщиков С.Н. презентация КП по ПБД
2014 Пильщиков С.Н. презентация КП по ПБД
 
2014 диплом Терехова А.Ю
2014 диплом Терехова А.Ю2014 диплом Терехова А.Ю
2014 диплом Терехова А.Ю
 
2014 диплом Мухаметшин Р.Р
2014 диплом Мухаметшин Р.Р2014 диплом Мухаметшин Р.Р
2014 диплом Мухаметшин Р.Р
 

Управление данными (реляционная модель)

  • 1. Управление данными. Часть 3. Реляционная модель данных (©) Владислав Лавров, vlavrov.com
  • 2. Современная технология реализации баз данных основана на реляционной модели. Принципы реляционной модели были изначально заложены в 1969 году доктором Э.Ф.Коддом, в то время исследователем, работавшим в корпорации IBM. В конце 1968 года Кодд, математик по образованию, впервые осознал, что математические дисциплины можно использовать, чтобы привнести в область управления базами данных строгие принципы и точность. 3.1. Общие понятия реляционного подхода к организации данных В 1970 году была опубликована статья (Codd E.F. A Relational Model of Data for Large Shared Data Banks // CACM. – 1970. – 13, №6), где Э.Ф.Кодд впервые сформулировал основные понятия и ограничения реляционной. Предложения Кодда были настолько эффективны для систем баз данных, что за эту модель он был удостоен престижной премии Тьюринга в области теоретических основ вычислительной техники. Первые реляционные программные продукты начали появляться в конце 70-х – начале 80-х годов. С тех пор почти все созданные коммерческие СУБД основываются на реляционном подходе. (©) Владислав Лавров, vlavrov.com
  • 3. Принципы организации данных в реляционной модели 1. Данные воспринимаются пользователем как таблицы. 2. В распоряжении пользователя имеются операторы манипулирования данными (например, для выборки данных), которые генерируют новые таблицы из старых. ОТДЕЛ СОТРУДНИКИ (©) Владислав Лавров, vlavrov.com
  • 4. Примеры операторов манипулирования данными SELECT (RESTRICT): Выборка строк из таблицы «Отделы», где бюджет более 230 Результат: PROJECT: Извлечение столбцов «Наименование» и «Бюджет» из таблицы «Отделы» Результат: JOIN: Соединение таблиц "Отделы" и "Сотрудники" на основе столбца "Номер отдела" Результат: (©) Владислав Лавров, vlavrov.com
  • 5. 1. Результат каждой из трех операций – это еще одна таблица. Это реляционное свойство замкнутости. 2. Операции применяются сразу ко всему множеству строк, а не к отдельной строке за один раз, т.е. операндами и результатами являются не отдельные строки, а целые таблицы, которые содержат множество строк. Важные следствия (©) Владислав Лавров, vlavrov.com
  • 6. 3.2. Основные понятия реляционных баз данных • тип данных; • домен; • атрибут; • кортеж; • схема отношения, схема базы данных; • отношение; • первичный ключ. Номер сотрудника Имя сотрудника Номер отдела Зарплата Дата рождения 152 Веселов 2 580 12/05/65 563 Ступин 3 620 04/08/58 245 Кораблев 6 700 27/03/42 255 Нестеров 3 700 25/11/59 Первичный ключ Номера пропусков Имена сотрудников Номера отделов Размеры выплат Даты рождения Целые Строковые переменные Деньги Переменные типа даты Типы данных Атрибуты Домены Кортежи (©) Владислав Лавров, vlavrov.com
  • 7. Неформальные определения реляционных объектов данных Формальный реляционный термин Неформальный эквивалент Отношение Таблица Кортеж Строка или запись таблицы Кардинальное число Количество строк Атрибут Столбец или поле Степень (арность) Количество столбцов Первичный ключ Уникальный идентификатор Домен Общая совокупность допустимых значений данных в столбце (©) Владислав Лавров, vlavrov.com
  • 8. 3.3. Общая характеристика реляционной модели данных Christopher J. Date (р. 1941) — специалист в области реляционных баз данных, автор классического учебника «An Introduction to Database Systems» (стандартный учебник по теме баз данных, используется во многих университетах мира). Работал над развитием реляционных СУБД совместно с Эдгаром Коддом. (©) Владислав Лавров, vlavrov.com
  • 9. 3.3. Общая характеристика реляционной модели данных Структурная часть Манипуляционная часть Целостная часть Реляционная модель (©) Владислав Лавров, vlavrov.com
  • 10. Целостность по ссылкам ОТДЕЛЫ (ОТД_НОМЕР, ОТД_КОЛ) СОТРУДНИКИ (СОТР_НОМЕР, СОТР_ИМЯ, СОТР_ЗАРП, СОТР_ОТД_НОМ ) Требование целостности по ссылкам, или требование внешнего ключа, состоит в том, что для каждого значения внешнего ключа, появляющегося в ссылающемся отношении, в таблице, на которую ведёт ссылка, должен найтись кортеж с таким же значением первичного ключа либо значение внешнего ключа должно быть неопределённым, то есть ни на что не указывать. Пример: (©) Владислав Лавров, vlavrov.com
  • 11. Целостность по ссылкам Что происходит при удалении кортежа из отношения, на которое ведет ссылка? 1. Операция каскадируется – то есть удаление кортежей в отношении приводит к удалению соответствующих кортежей в связанном отношении. 2. Операция ограничивается – то есть удаляются лишь те кортежи, для которых связанной информации в другом отношении нет. Если такая информация имеется, то удаление осуществить нельзя. В этом случае сначала нужно либо удалить ссылающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа. (©) Владислав Лавров, vlavrov.com
  • 12. Целостность по ссылкам Что происходит при попытке обновления первичного ключа отношения, на которое ссылается некоторый внешний ключ? 1. Операция каскадируется – то есть при обновлении первичного ключа происходит обновление внешнего ключа в связанном отношении. 2. Операция ограничивается – то есть обновляются лишь те первичные ключи, для которых связанной информации в другом отношении нет. Если такая информация имеется, то обновление сделать нельзя. (©) Владислав Лавров, vlavrov.com
  • 13. 3.3. Реляционная алгебра Набор алгебраических операций, предложенных Э.Ф.Коддом, для манипулирования данными в реляционной модели теоретико-множественные операции; • объединение отношений; • пересечение отношений; • разность отношений; • декартово произведение отношений; специальные операции. • выборка отношения; • проекция отношения; • соединение отношений; • деление отношений. (©) Владислав Лавров, vlavrov.com
  • 14. Теоретико-множественные операции R1 - перечень деталей, изготавливаемых на 1-м участке цеха R2 - перечень деталей, изготавливаемых на 2-м участке цеха Пример: заданы (©) Владислав Лавров, vlavrov.com
  • 15. Объединение отношений R3 - общая номенклатура цеха Пример: результат Операция моделирует некоторую ситуацию, которая характеризуется словом «общее» (©) Владислав Лавров, vlavrov.com
  • 16. Пересечение отношений R4 - перечень деталей, которые выпускаются одновременно на двух участках цеха. Пример: результат Операция моделирует некоторую ситуацию, которая характеризуется словом «одновременно» (©) Владислав Лавров, vlavrov.com
  • 17. Разность отношений R5 - перечень деталей, которые изготавливают только на участке 1 . Пример: результат R6 - перечень деталей, которые изготавливают только на участке 2 . Операция моделирует некоторую ситуацию, которая характеризуется словом «только» (©) Владислав Лавров, vlavrov.com
  • 18. Декартово произведение Операция моделирует некоторую ситуацию, которая характеризуется словом «все» (©) Владислав Лавров, vlavrov.com
  • 19. Декартово произведение R7 - обязательная номенклатура выпуска деталей для всех цехов Пример: определить какие детали из обязательной номенклатуры в каком цехе не выпускаются R8 - перечень цехов Дополнительно заданы: (©) Владислав Лавров, vlavrov.com
  • 20. Декартово произведение R9 - ситуация, когда каждый цех изготавливает все требуемые детали. 9 7 8R R R  (©) Владислав Лавров, vlavrov.com
  • 21. Декартово произведение R10 - реальный выпуск деталей в каждом цехе Дополнительно задано: (©) Владислав Лавров, vlavrov.com
  • 22. Декартово произведение R11 - какие детали в каких цехах из общей обязательной номенклатуры не выпускаются. Итоговый результат: .RRR 10911  (©) Владислав Лавров, vlavrov.com
  • 24. Выборка отношений R12 = R10 [ Шифр детали = «11003» ] Пример: выбрать из отношения R10 все детали с шифром «11003» (©) Владислав Лавров, vlavrov.com
  • 26. Проекция отношений R13 = R10 [ Название детали = «Болт М1» ] Пример: выбрать из отношения R10 все цеха, которые изготавливают деталь «Болт М1» R14 = R13 [ Цех ] (©) Владислав Лавров, vlavrov.com
  • 28. Соединение отношений Пример: Получить перечень деталей, которые изготавливаются в цехе 1 из материала «Сталь-ст1» R15 - перечень деталей с указанием материалов, из которых эти детали изготавливаются R16 = (R15 [ ( R15.Шифр детали = R10.Шифр детали)  R10.Цех = «Цех 1»  R15.Материал = «Сталь-ст1»] R10 ) [Название детали] (©) Владислав Лавров, vlavrov.com
  • 29. Деление отношений Пример: Множество образов отношения R15 по материалу «Сталь-ст2»: R15.Материал = { <11075, Гайка М2, «Сталь-ст2»>, < 11077, Гайка М4, «Сталь-ст2»> } (©) Владислав Лавров, vlavrov.com
  • 30. Деление отношений Операция удобна тогда, когда требуется сравнить некоторое множество характеристик отдельных атрибутов (©) Владислав Лавров, vlavrov.com
  • 31. Деление отношений Пример: Определить перечень цехов R17, в которых выпускается вся номенклатура деталей. R7 - обязательная номенклатура выпуска деталей для всех цехов R10 - реальный выпуск деталей в каждом цехе R17 = R10 [Шифр детали, Название детали : Шифр детали, Название детали] R7 (©) Владислав Лавров, vlavrov.com
  • 32. Пример: Определить перечень цехов R17, в которых выпускается вся номенклатура деталей. Другой способ решения: 1. Построить отношение R9, которое моделирует ситуацию, когда в каждом цехе изготавливается вся номенклатура (декартово произведение R7 и R8). 9 7 8R R R  2. Найти R11 - перечень того, что из обязательной номенклатуры не выпускается в некоторых цехах (разность R9 и R10). 11 9 10R R R 3. Найти R18 - те цеха, в которых не все детали выпускаются (отношение R11 спроектировать на столбец «Цех»).  18 11 "Öåõ"R R 4. Из перечня всех цехов R8 вычесть те, в которых выпускают не все детали R18. Результат (©) Владислав Лавров, vlavrov.com