Вы находитесь на странице: 1из 136

А. С.

Шилин

Перспективные методы
проектирования
реляционных баз данных

Учебное пособие

Москва
Берлин
2021
УДК 004.415.2.043(075)
ББК 16.351я723
Ш57
Рецензенты:
Курганов В. Ю., канд. техн. наук, руководитель проектов
(ООО «ЭПАМ Системз», филиал в г. Рязани);
Богданова Н. В., канд. техн. наук, доц.
(РГУ имени С. А. Есенина)

Шилин, А. С.
Ш57 Перспективные методы проектирования реляцион-
ных баз данных : учебное пособие / А. С. Шилин. —
Москва ; Берлин : Директ-Медиа, 2021. — 136 с.
ISBN 978-5-4499-1890-1
В пособии рассматриваются основные понятия баз дан-
ных, модели данных, этапы жизненного цикла баз данных,
чаще всего используемые модели данных. Особое внимание
уделено реляционным базам данных и методам их проекти-
рования, в частности, впервые рассмотрены ряд правил ER-
метода в случае многосторонних связей, комбинированный
метод проектирования реляционных баз данных.
Учебное пособие адресовано учащимся среднего профес-
сионального образования в соответствии с ФГОС по специ-
альностям: 10.02.01 Организация и технология защиты
информации, 10.02.02 Информационная безопасность теле-
коммуникационных систем, 10.02.03 Информационная без-
опасность автоматизированных систем, а также учащимся
среднего профессионального образования и бакалаврам, обу-
чающимся по другим направлениям информационных техно-
логий, проектировщикам и разработчикам баз данных.

УДК 004.415.2.043(075)
ББК 16.351я723

ISBN 978-5-4499-1890-1 © Шилин А. С., текст, 2021


© Издательство «Директ-Медиа», оформление, 2021
Введение
В истории вычислительной техники можно выделить два
важнейших направления ее использования для обработки
данных. Первое направление — ее применение для выполне-
ния численных расчетов, которые слишком долго или вообще
невозможно производить вручную. Развитие в этом направле-
нии способствовало интенсификации методов численного
решения сложных математических задач, появлению языков
программирования, ориентированных на удобную запись
алгоритмов. Характерной особенностью данного направления
является разработка и использование сложных алгоритмов
обработки, применимых к простым по структуре данным,
объем которых сравнительно невелик.
Второе направление, которое непосредственно относится
к теме нашего пособия, — это использование средств вычис-
лительной техники в автоматических или автоматизирован-
ных информационных системах обработки данных.
Информационная система обработки данных пред-
ставляет собой программно-аппаратный комплекс и обслужи-
вающий персонал, обеспечивающие выполнение следующих
функций:
1. надежное хранение актуальных данных на электрон-
ных носителях;
2. использование хранимых данных для решения специ-
фических для соответствующей предметной области задач с
целью удовлетворения информационных потребностей поль-
зователей;
3. предоставление пользователям удобного и легко
осваиваемого интерфейса.
Обычно такие системы обрабатывают большие объемы
информации, имеющей достаточно сложную структуру. Клас-
сическими примерами информационных систем обработки
данных являются банковские системы, автоматизированные
системы управления предприятиями, системы резервирования
авиационных или железнодорожных билетов, мест в гостини-
цах и т. д.
Второе направление использования вычислительной тех-
ники возникло несколько позже первого. Это связано с низкой

3
по сегодняшним меркам производительностью компьютеров
первых поколений и их очень ограниченными возможностями
по хранению информации. Запоминающие устройства этих
компьютеров, сохраняющие информацию после выключения
электрического питания, отличались от соответствующих запо-
минающих устройств современных компьютеров относительно
небольшим объемом и невысоким быстродействием. Эти огра-
ничения технического характера не позволяли осуществлять
сбор, хранение, обработку и использование больших по объему
совокупностей взаимосвязанных структурированных данных
информационных систем и, следовательно, не позволяли опера-
тивно удовлетворять информационные потребности пользова-
телей в соответствующей предметной области.
Важным шагом в развитии именно информационных си-
стем явился переход к использованию централизованных
систем управления файлами. Однако системы, построенные на
основе файлов данных, имели существенные недостатки: зави-
симость программ от данных, отсутствие централизованных
методов управления доступом к информации, проблема орга-
низации одновременной модификации данных в файле не-
сколькими пользователями. Эти недостатки послужили тем
толчком, который заставил разработчиков информационных
систем предложить новый подход к управлению данными. Он
был реализован в рамках новых программных систем, назван-
ных впоследствии системами управления базами данных
(СУБД). В настоящее время базы данных (БД) и базы знаний *
являются основными элементами информационных систем.
Технические и программные средства компьютерных си-
стем продолжают развиваться. Появляются новые технологии
управления данными, отвечающие возрастающим информаци-
онным потребностям пользователей.
В данном пособии рассматриваются основные понятия
реляционных БД и перспективные методы их проектирования.
Основное внимание уделяется реляционным базам данных как
наиболее перспективным с точки зрения рынка информаци-
онных технологий.
*
Базы знаний являются основными элементами экспертных систем и
в данном пособии не рассматриваются.
Глава 1
Базы данных и модели баз данных
Правильные решения могут быть приняты только на ос-
нове достоверной информации, которую зачастую приходится
извлекать из неупорядоченных данных. Данными можно более
эффективно управлять, если их разместить в базе данных. Она
помогает создать рабочую среду, в которой конечным пользо-
вателям обеспечивается удобный и хорошо управляемый
доступ к данным. В сочетании с инструментальными сред-
ствами, преобразующими данные в удобную форму представ-
ления, это дает возможность конечным пользователям
получать быстрые и информационно емкие решения, что и
определяет успех предприятий и организаций, использующих
информационные системы.

1.1. Понятие базы данных


База данных (БД) — самодокументированная, структу-
рированная совокупность данных предметной области, пред-
назначенная для решения определенного класса задач.
База данных является основным элементом большинства
информационных систем.
Термины «самодокументированная», «структурирован-
ная» означают, что помимо собственно данных о предметной
области в БД хранятся метаданные: информация о типах дан-
ных, связях между ними. В зависимости от используемого
программного обеспечения метаданные могут содержать
программные модули интерфейса, поиска, обработки, удале-
ния и добавления данных.
Под предметной областью понимают часть реального
мира. Предметная область может включать множество объек-
тов, процессов и связей между ними.
Современный подход к автоматизации предметной обла-
сти состоит в создании и поддержании в актуальном состоянии
единого централизованного хранилища данных, к которому
имеют доступ пользователи этой предметной области в соот-
ветствии с их правами доступа. К основным правам пользова-
телей относятся просмотр, изменение, удаление и добавление

5
данных. Одни и те же данные могут быть представлены в раз-
ной форме в зависимости от потребности пользователя. Права
доступа, способы представления и использования данных
обеспечиваются программной средой в виде системы управле-
ния базой данных (СУБД) и/или приложения базы данных.
База данных с соответствующими приложениями являет-
ся информационной моделью предметной области.

1.2. Модели данных


Модель данных описывает формальную совокупность
способов представления и обработки данных в СУБД.
Рассмотрим основные модели данных в соответствии с
хронологией их появления.
Самая первая коммерческая СУБД была создана при уча-
стии компании IBM в середине 60-х годов прошлого века и
называлась IMS (Information Management System). Она исполь-
зовала иерархическую модель данных. В такой модели данные
и связи между ними представляются в виде совокупности
ориентированных деревьев. Схема структуры данных «дерево»
изображена на рис. 1.1.

Рис. 1.1. Схема структуры данных «дерево»


Дерево представляет собой множество вершин, которые
изображены кругами. Каждая вершина соответствует одному
данному иерархической БД. Связи между данными изобража-
ются дугами. В каждую вершину входит только одна дуга,
а выходит несколько. Исключение составляет так называемый
корень — вершина, у которой нет входящей дуги. Примером
такой структуры является файловая система персонального
компьютера. Подобные СУБД отличаются быстрым поиском
данных, а также простотой построения схемы. К недостаткам
можно отнести негибкость данной системы. Для возможности
обработки каких-либо новых типов запросов приходится пере-

6
страивать всю базу данных, при этом очень трудно использо-
вать такую модель при наличии сложных логических связей.
Вскоре появились системы, использующие сетевую мо-
дель данных, которые были гораздо более гибкими. В сетевых
СУБД схема данных представляется в виде ориентированного
графа (рис. 1.2).

Рис. 1.2. Схема структуры данных


«ориентированный граф»
Он имеет множество вершин, соединенных дугами, при-
чем в каждую вершину может входить и выходить сколько
угодно дуг. Популярность такой архитектуры послужила толч-
ком к появлению некоторого стандарта баз данных —
CODASYL. Системы, разработанные в соответствии с этим стан-
дартом, а также системы, в основе которых лежит иерархиче-
ская структура, образуют СУБД первого поколения.
В 1970 году сотрудник фирмы IBM Э. Ф. Кодд (Е. F. Codd)
опубликовал свою эпохальную статью, в которой он применил
концепции раздела математики, называемого реляционной
алгеброй, к проблеме хранения больших объемов данных.
Статья Кодда положила начало движению в сфере проектиро-
вания баз данных, что несколько лет спустя привело к созда-
нию реляционной модели базы данных (Relational Database
Model). Реляционная модель данных оказалась еще более гиб-
кой, чем сетевые модели, и устраняла многие другие недостат-
ки СУБД первого поколения. На интерфейсном уровне эта
модель представляет собой набор взаимосвязанных плоских
таблиц, которые являются более естественными для восприя-
тия человека. Заметим, что для связывания таблиц использу-
ются элементы иерархической модели. Благодаря гибкости
разработки приложений и легкости восприятия реляционная
модель получила широкое распространение и начала осваи-
ваться бизнес-структурами. Первые коммерческие продукты

7
с такой архитектурой появились в конце 70-х – начале 80-х
годов прошлого века. В настоящее время такие системы на
мировом рынке СУБД занимают доминирующее положение. По
разным оценкам доля реляционных баз данных составляет не
менее 80 % от всего рынка.
В истории реляционных СУБД стоит отметить появление
в конце 70-х годов прошлого века System R — проекта компа-
нии IBM, доказавшего состоятельность и практичность реля-
ционной модели баз данных. В рамках этой модели был
разработан язык SQL (Structured Query Language) — язык
структурированных запросов, на который опираются почти
все сегодняшние реляционные базы данных. Реляционные
системы управления базами данных представляют собой СУБД
второго поколения.
Важным этапом в развитии и популяризации реляцион-
ной модели является разработка технологии транзакций,
которую в начале 80-х годов прошлого века предложила швед-
ская фирма Mimer.
Транзакция — одна или более операций, выполняемых
как единое целое. При неудачном выполнении какой-нибудь
операции, транзакция откатывается, то есть отменяет все
изменения, которые внесла в БД. Эта схема делает невозмож-
ными, например, такие ситуации, когда при переводе и снятии
со счета суммы она не зачисляется на другой счет.
К СУБД третьего поколения относят системы управления
базами данных, которые используют либо многомерную, либо
постреляционную, либо объектно-ориентированную модель
данных.
Многомерный подход к представлению данных появился
практически одновременно с реляционным, но реально рабо-
тающих многомерных СУБД в первое время было очень мало.
С середины 90-х годов интерес к ним стал приобретать массо-
вый характер.
Толчком к этому в 1993 году послужила программная
статья одного из основоположников реляционного подхода
Э. Кодда. В ней сформулированы 12 основных требований к
системам класса OLAP (OnLine Analytical Processing — опера-
тивная аналитическая обработка), важнейшие из которых
связаны с возможностями концептуального представления

8
и обработки многомерных данных. Многомерные системы
позволяют оперативно обрабатывать информацию для прове-
дения анализа и принятия решения.
Постреляционная модель данных представляет собой
расширенную реляционную модель, снимающую ограничение
неделимости данных, хранящихся в записях таблиц. Она до-
пускает многозначные поля, значения которых состоят из
подзначений. Набор значений многозначных полей считается
самостоятельной таблицей, встроенной в основную таблицу.
В связи с большой популярностью технологий объектно-
ориентированного программирования, а также с все возраста-
ющей сложностью приложений и требований заказчика, в базах
данных стала использоваться объектно-ориентированная мо-
дель данных. Она применяется в основном для создания круп-
ных БД со сложными структурами, где отдельная запись может
представлять собой объект с присущими только ему функциями
обработки.
В связи с рыночными перспективами продуктов, ориен-
тированных на реляционную модель данных, вопросам разра-
ботки и проектирования реляционных БД в пособии будет
уделено особое внимание.

1.3. Этапы жизненного цикла базы данных


Жизненный цикл базы данных (ЖЦБД) охватывает мно-
жество процессов, связанных с решением различных задач: от
анализа предметной области и потребностей будущих пользо-
вателей БД до поддержания уже функционирующей БД в адек-
ватном предметной области состоянии. В укрупненном виде
можно выделить следующие этапы ЖЦБД.
1 этап — планирование.
На этом этапе осуществляется анализ предметной обла-
сти с целью выявления всех информационных процессов,
например, структуры управления предприятия или организа-
ции, функций отдельных подразделений и способов информа-
ционного взаимодействия между ними, порядок ведения
документооборота. В результате этого анализа отдельные
разрозненные данные, описывающие характеристики различ-
ных объектов и процессов, должны быть представлены в виде

9
связанных интегрированных данных, отражающих информа-
ционные потребности различных категорий пользователей БД.
Способ интегрирования данных определяется выбранной
моделью данных и, как следствие, типом СУБД, планируемой
для реализации БД.
Результат первого этапа существенно зависит от вы-
бранной модели данных. В случае реляционной модели ре-
зультат может быть получен в виде так называемого
универсального отношения — перечня данных, которые долж-
ны храниться в БД. Для каждого данного — атрибута универ-
сального отношения — могут быть приняты соглашения о
множестве значений, возможности повторения значений и
других свойствах. Связи между различными объектами и про-
цессами могут быть отражены с помощью соответствующих
соглашений, например, с использованием элементов модели
«сущность-связь» (модели Чена).
Для приложений БД результат может быть получен в ви-
де эскизов элементов интерфейса: форм, отчетов, веб-
элементов и т. д.
На этом этапе формулируются требования к программ-
ному и аппаратному обеспечению на всех этапах ЖЦБД, а так-
же может оформляться техническое задание на выполнение
работ, которое является основой взаимоотношений между
заказчиком и исполнителем — разработчиком БД с соответ-
ствующими приложениями.
2 этап — проектирование.
Этот этап чрезвычайно важен, так как последствия оши-
бок, допущенных при проектировании, как правило, невозмож-
но устранить на последующих этапах ЖЦБД. Практика
показывает, что многие, если не все, ошибки в плохо спроекти-
рованных системах баз данных не могут устранить даже лучшие
программисты и менеджеры. При этом даже превосходная си-
стема управления базой данных, вероятнее всего, не поможет
разрешить проблемы, порожденные или усиленные плохим
проектированием. Большинство проблем в системах, основан-
ных на БД, возникает из-за плохого проектирования БД.
В процессе эксплуатации (4 этап ЖЦБД) БД и ее прило-
жения должны оставаться адекватными предметной области,

10
моделью которой они являются. Что касается базы данных, то
это требование удовлетворяется путем ее модификации: до-
бавления, удаления и обновления данных. Если БД спроекти-
рована неправильно, то она имеет одну или несколько
аномалий модификации. Вследствие аномалий добавления,
удаления и обновления данных на этапе эксплуатации в БД
могут появиться противоречивые данные, произойти потеря
данных и/или нарушение целостности данных (потеря связи).
Некоторые примеры аномалий модификации реляционной БД
рассмотрены в разделе 3.6.
Основной целью проектирования БД является устране-
ние потенциальных аномалий модификации.
Наиболее подробно и четко разработана теория и прак-
тика проектирования реляционных БД, что наряду с выше
упомянутыми преимуществами способствует их популярности.
3 этап — реализация.
На этом этапе ранее спроектированная БД вместе со сво-
ими приложениями реализуется в соответствующей компью-
терной системе соответствующими средствами: СУБД, языки
программирования, гипертекстовые системы, системы без-
опасности и др. Этот этап завершается сдачей разработанной
системы заказчику.
4 этап — эксплуатация.
Этот этап может начинаться с заполнения БД реальными
данными, если это по каким-либо причинам не было сделано
на предыдущем этапе. Помимо модификации самой БД на этом
этапе также может осуществляться модификация ее приложе-
ний. Как правило, разработчик осуществляет так называемое
сопровождение БД и ее приложений для удовлетворения из-
менившихся требований заказчика и исправления возможных
ошибок.

1.4. Модели баз данных


На различных этапах ЖЦБД могут быть использованы
различные модели БД. Для их описания могут быть использо-
ваны различные понятия и инструменты. Эти модели также
различаются уровнем абстракции. Мы рассмотрим основные
модели БД, представленные на рис. 1.3.
11
Инфологическая

Внешняя
Уровень
Даталогическая Внешняя
абстракции
Внешняя

Физическая

Рис. 1.3. Модели баз данных


Инфологическая модель (информационно-логическая
модель) ориентирована на человека и определяет совокупно-
сти информационных объектов, их атрибутов и отношений
между объектами, динамику изменений предметной области,
а также характер информационных потребностей пользовате-
лей. Инфологическая модель не зависит от СУБД, в которой
предполагается реализовать или в которой реализована БД.
Для описания инфологической модели часто используется
модель «сущность-связь», в основе которой лежит деление
реального мира на отдельные различимые сущности, находя-
щиеся в определенных связях друг с другом. Инфологическая
модель обычно используется на первом этапе ЖЦБД (планиро-
вание) и в начале второго этапа ЖЦБД (проектирование).
Даталогическая модель БД отражает предметную об-
ласть в виде определенной совокупности данных, связей меж-
ду ними, способов (алгоритмов) их обработки. Даталогическая
модель существенным образом зависит от модели данных,
используемой в СУБД, средствами которой предполагается
реализовать или средствами которой реализована БД. Датало-
гическая модель обычно используется на втором (планирова-
ние) и третьем (реализация) этапах ЖЦБД.
Внешняя модель используется для описания взаимодей-
ствия с БД пользователя определенной категории. Внешних
моделей может быть несколько. Они могут отличаться переч-
нем активных приложений БД, правами доступа и другими
характеристиками. Внешние модели могут быть использованы
на всех этапах ЖЦБД.
12
Физическая модель — модель данных низшего (физиче-
ского) уровня, отражающая представление данных во внешней
памяти и методы доступа к ним. Физическая модель обычно
используется системными администраторами и разработчи-
ками СУБД.
Внешняя, даталогическая и физическая модели форми-
руют так называемую трехуровневую архитектуру ANSI,
предложенную в 1975 году Национальным институтом стан-
дартизации США (American National Standards Institute —
ANSI). Основная цель этой архитектуры состоит в отделении
пользовательского представления о данных от их физическо-
го представления в базе данных. Использование таких пред-
ставлений о данных позволяет обеспечить выполнение
основного требования к БД — независимости программ и
данных. При изменении приложения БД может измениться
соответствующее внешнее представление, но даталогическая
модель данных не изменяется и, соответственно, не будут
изменяться другие приложения БД. При изменении представ-
ления данных во внешней памяти и методов доступа к ним
даталогическая модель не изменяется, соответственно, не
изменяются приложения БД.
Использование соответствующих представлений также
позволяет четко разграничить полномочия различных лиц,
работающих с базой данных.
Соответствующие представления позволяют описать
«видение» базы данных разными лицами, работающими с ней:
1. внешняя модель — представление специалиста пред-
метной области (пользователя);
2. внешняя и даталогическая модели — представление
прикладного программиста, разрабатывающего конкретное
приложение для пользователя;
3. даталогическая и физическая модели — представление
системного программиста, администрирующего базу данных.

Контрольные вопросы
1. Дайте определение понятия «база данных».
2. Что означают термины «самодокументированная»,
«структурированная» в определении понятия базы данных?

13
3. Каково назначение СУБД и/или приложения базы
данных?
4. Назовите основные модели данных.
5. Перечислите этапы жизненного цикла базы данных
(ЖЦБД).
6. Охарактеризуйте этап ЖЦБД «Планирование».
7. Охарактеризуйте этап ЖЦБД «Проектирование».
8. Перечислите основные модели баз данных.
9. Охарактеризуйте инфологическую модель базы данных.
10. Охарактеризуйте даталогическую модель базы данных.
11. Каковы преимущества трехуровневой архитектуры
ANSI базы данных?
Глава 2
Реляционные базы данных и ER-метод
Рассмотрим математическое понятие отношения, кото-
рое является основным в реляционных базах данных. Пусть
заданы множества X1, X2, …, Xn. Подмножество множества кор-
тежей (x1, x2, …, xn), где xi ∈ Xi (i = 1..n) называется отношением
над множествами X1, X2, …, Xn. Множество Xi называется доме-
ном, а xi — атрибутом.
Отношению в реляционной БД соответствует двумерная
таблица, кортежу — строка таблицы, множество всех значений
одного и того же атрибута образуют столбец таблицы. Строку
таблицы также называют записью, а атрибут соответственно
полем. Значение атрибута является значением какого-либо
параметра объекта или процесса предметной области.
С точки зрения математической теории кортежи в отно-
шении не могут повторяться, значения же одного и того же
атрибута в разных кортежах могут совпадать. Заметим, что
кортеж реляционной БД с определенными значениями атри-
бутов может описывать некоторый определенный экземпляр
объекта или процесса предметной области. Если значения всех
параметров двух различных экземпляров объекта или процес-
са совпадают, то на определенном этапе ЖЦБД может суще-
ствовать отношение из соответствующих этим параметрам
атрибутов, содержащее повторяющиеся кортежи. В практике
реляционных баз данных могут возникать и другие несоответ-
ствия строгому математическому понятию отношения. Напри-
мер, на первом этапе ЖЦБД допускается использование
отношения, содержащего кортежи с необязательными для
заполнения атрибутами.
Однако заметим, что наличие незаполненных атрибутов
и/или избыточное дублирование данных являются косвенны-
ми признаками аномалий модификации и, следовательно,
свидетельствуют о необходимости проектирования БД.
Избыточным дублированием данных называют такое
дублирование, при котором удаление дубликатов данных из
БД не ведет к потере информации о предметной области. То
есть удаленные данные могут быть восстановлены в результа-
те анализа данных, оставшихся в БД.

15
Исходное отношение, которое включает в себя атрибуты,
принимающие значения всех параметров объектов и/или
процессов предметной области и содержащее все данные,
которые предполагается хранить в БД, называется универ-
сальным отношением.

2.1. Основные понятия


метода «сущность-связь»
Метод «сущность-связь» является основным методом
проектирования реляционных баз данных. В зарубежных ис-
точниках его еще называют ER-метод. Эта аббревиатура воз-
никла от слов Essence (сущность) и Relationship (связь).
Сущность — какой-либо объект предметной области. Ха-
рактеристики объекта или процесса, значения которых долж-
ны храниться в БД, называются атрибутами сущности.
Определенный набор значений атрибутов характеризует эк-
земпляр сущности.
Названиями сущностей являются, как правило, суще-
ствительные, например: Сотрудник (номер личного дела,
Ф. И. О., образование). В скобках указаны возможные атрибуты
этой сущности. Соответственно, кортеж (1, Иванов Иван Ива-
нович, высшее) характеризует экземпляр этой сущности.
Связь между сущностями обычно представляется глаго-
лом. Например, связь между сущностями Сотрудник и Долж-
ность можно представить глаголом занимает.
Количество сущностей, участвующих в связи, называется
порядком связи. Связь между сущностями Сотрудник и Долж-
ность — связь второго порядка.
Атрибут или набор атрибутов, значения которых одно-
значно идентифицируют каждый экземпляр сущности, называ-
ют возможным ключом. Так как возможных ключей сущности
может быть несколько, то для определенности из них выбира-
ется один, который называется первичным ключом.
Первичный ключ (Primary Key) — один из возмож-
ных ключей. Для данной сущности первичный ключ — един-
ственный. Если значения каждого из атрибутов и любой
совокупности атрибутов некоторой сущности могут повто-
ряться, то отсутствует возможный ключ и, следовательно,

16
отсутствует первичный ключ. В этом случае для сущности в
качестве возможного и, следовательно, первичного ключа
добавляется атрибут, значения которого не могут повто-
ряться. Первичный ключ сущности будем выделять подчер-
киванием, например: Сотрудник (номер личного дела, Ф. И. О.,
образование).

2.2. Характеристики бинарной связи


Рассмотрим основные характеристики связи на примере
связи второго порядка. Такая связь является самой простой
из всех возможных и называется бинарной (двухсторонней).
К основным характеристикам связи относятся класс при-
надлежности и степень связи.
Класс принадлежности сущности является обязатель-
ным, если каждый экземпляр этой сущности связан хотя бы с
одним экземпляром другой сущности. Если допускается суще-
ствование экземпляров сущности, не связанных ни с одним
экземпляром другой сущности, то класс принадлежности этой
сущности является необязательным. Например, если для би-
нарной связи между сущностями Сотрудник и Должность
допускается наличие вакантных (не занятых) должностей, то
класс принадлежности для сущности Должность в этой связи
будет необязательным.
Степень связи сущности равна N, если не более N экзем-
пляров данной сущности могут быть связаны с одним экзем-
пляром другой сущности.
С точки зрения практического проектирования баз дан-
ных целесообразно различать два случая: степень связи равна
1, и степень связи больше 1. Во втором случае для степени
связи употребляют характеристику «много». В случае бинар-
ной связи принципиально различными с точки зрения степе-
ней связи являются случаи «один к одному», «один ко многим»
и «многие ко многим». Случай «многие к одному» с точки зре-
ния практического проектирования принципиально не отли-
чается от случая «один ко многим». Если степень связи для
сущности равна 1, то она называется односвязной. Если сте-
пень связи для сущности больше 1, то она называется много-
связной. Заметим, что класс принадлежности и степень связи

17
как характеристики сущности являются относительными, так
как в другой связи сущность может участвовать с другими
характеристиками.

2.3. Графические способы


представления связей
Для графического представления связей между сущностя-
ми используют диаграммы ER-экземпляров и ER-диаграммы.
В диаграмме ER-экземпляров каждый экземпляр сущно-
сти изображается точкой, рядом с точкой — значение первич-
ного ключа, которое однозначно идентифицирует экземпляр
сущности. Связи между экземплярами разных сущностей изоб-
ражаются в виде отрезков. Пример фрагмента диаграммы ER-
экземпляров для бинарной связи между сущностями Сотруд-
ник и Должность представлен на рис. 2.1.

Рис. 2.1. Фрагмент диаграммы ER-экземпляров


В примере на рис. 2.1 для сущности Сотрудник степень
связи равна 3, для сущности Должность степень связи равна 1.
Для сущности Должность класс принадлежности является не
обязательным, т. к. экземпляр сущности Должность со значе-
нием первичного ключа старший специалист не связан с ка-
ким-либо экземпляром сущности Сотрудник (должность
вакантная). Бинарная связь между сущностями Сотрудник и
Должность 3:1 («многие к одному»).
В ER-диаграмме сущности соответствует прямоугольник,
а связь изображается ромбом. ER-диаграмма для бинарной
связи между сущностями Сотрудник и Должность в зеркаль-
ном отображении в случае обязательного класса принадлежно-
сти для сущности Сотрудник представлена на рис. 2.2. Точкой
рядом с сущностью Сотрудник отмечен обязательный класс
принадлежности.

18
1 М
Должность Занимает Сотрудник

Рис. 2.2. ER-диаграмма связи между сущностями


Сотрудник и Должность

2.4. Правила ER-метода


в случае бинарной связи
Рассмотрим предметную область — учебный процесс.
Универсальное отношение в этом случае может, например,
иметь вид:
Учебный процесс (Ф. И. О., должность, наименование,
направление, семестр).
В результате анализа предметной области можно выде-
лить две сущности: Преподаватель (Ф. И. О., должность), Дис-
циплина (наименование, направление, семестр).
Так как для сущности Преподаватель значения всех ат-
рибутов могут повторяться, то отсутствует простой возмож-
ный ключ. Добавим для сущности Преподаватель атрибут
номер преподавателя, значения которого не могут повторять-
ся. Этот атрибут является возможным ключом.
По аналогичным причинам добавим для сущности Дисци-
плина атрибут код дисциплины, который является для этой
сущности возможным ключом.
Таким образом, получим две сущности:
Преподаватель (номер преподавателя, Ф. И. О., должность),
Дисциплина (код дисциплины, наименование,
направление, семестр).
Подчеркиванием выделен первичный ключ соответству-
ющей сущности. Эти сущности связаны бинарной связью пре-
подает.
Случай 1. Примем следующие соглашения:
1. Каждый преподаватель преподает ровно одну дисци-
плину. Следовательно, не более одного экземпляра сущности

19
Дисциплина связано с одним экземпляром сущности Преподава-
тель и степень связи для сущности Дисциплина равна 1. Так как
каждый экземпляр сущности Преподаватель связан хотя бы с
одним экземпляром сущности Дисциплина, то класс принадлеж-
ности для сущности Преподаватель является обязательным.
2. Каждая дисциплина преподается ровно одним препо-
давателем. Следовательно, не более одного экземпляра сущно-
сти Преподаватель связано с одним экземпляром сущности
Дисциплина и степень связи для сущности Преподаватель
равна 1. Так как каждый экземпляр сущности Дисциплина
связан хотя бы с одним экземпляром сущности Преподаватель,
то класс принадлежности для сущности Дисциплина является
обязательным.
Фрагмент заполненного универсального отношения для
этого случая представлен в табл. 2.1, фрагмент диаграммы ER-
экземпляров — на рис. 2.3, ER-диаграмма — на рис. 2.4. Точками
на линиях обозначены обязательные классы принадлежности
соответствующих сущностей.
Таблица 2.1
Фрагмент универсального отношения
Учебный процесс для случая 1
Номер Ф. И. О. Долж- Код Наимено- Направ- Семестр
препода- ность дисци- вание ление
вателя плины
1 Иванов Доцент П1 Програм- МОАИС 1
мирование
2 Петров Профессор И2 Информа- МОАИС 2
тика
3 Сидоров Доцент П2 Програм- МОАИС 2
мирование

Рис. 2.3. Фрагмент диаграммы ER-экземпляров


для случая 1

20
1 1
Преподаватель Преподает Дисциплина

Рис. 2.4. ER-диаграмма связи между сущностями


Преподаватель и Дисциплина
В этом случае необходимо создать одно отношение (ис-
пользовать универсальное отношение):
Учебный процесс (номер преподавателя, Ф. И. О.,
должность, код дисциплины, наименование,
направление, семестр).
Для этого случая сформулируем следующее правило.
Правило 1. В случае бинарной связи «один к одному» и
обязательных классов принадлежности обеих сущностей необ-
ходимо создать одно отношение из атрибутов обеих сущно-
стей. В качестве первичного ключа отношений можно
использовать первичный ключ любой сущности.
Случай 2. Примем следующие соглашения:
1. Каждый преподаватель преподает не более одной
дисциплины. Следовательно, не более одного экземпляра
сущности Дисциплина связано с одним экземпляром сущности
Преподаватель и степень связи для сущности Дисциплина
равна 1. Так как допускается существование экземпляров
сущности Преподаватель, не связанных хотя бы с одним эк-
земпляром сущности Дисциплина, то класс принадлежности
для сущности Преподаватель является необязательным.
2. Каждая дисциплина преподается ровно одним препо-
давателем. Следовательно, не более одного экземпляра сущно-
сти Преподаватель связано с одним экземпляром сущности
Дисциплина и степень связи для сущности Преподаватель
равна 1. Так как каждый экземпляр сущности Дисциплина
связан хотя бы с одним экземпляром сущности Преподаватель,
то класс принадлежности для сущности Дисциплина является
обязательным.
Фрагмент заполненного универсального отношения для
этого случая представлен в табл. 2.2, фрагмент диаграммы ER-
экземпляров — на рис. 2.5, ER-диаграмма — на рис. 2.6.

21
Таблица 2.2
Фрагмент универсального отношения
Учебный процесс для случая 2
Номер Ф. И. О. Долж- Код Наимено- Направ- Семестр
препода- ность дисци- вание ление
вателя плины
1 Иванов Доцент П1 Програм- МОАИС 1
мирование
2 Петров Профессор И2 Информа- МОАИС 2
тика
3 Сидоров Доцент П2 Програм- МОАИС 2
мирование
4 Малявин Ассистент – – – –

Рис. 2.5. Фрагмент диаграммы ER-экземпляров


для случая 2

1 1
Преподаватель Преподает Дисциплина

Рис. 2.6. ER-диаграмма связи между сущностями


Преподаватель и Дисциплина
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степени связи для обеих сущностей будут
по-прежнему равны 1, а необязательный класс принадлежно-
сти будет у сущности Дисциплина.
В этом случае недостаточно одного отношения, атрибу-
тами которого являются атрибуты всех сущностей, так как оно
будет иметь аномалии модификации, обусловленные наличи-
ем кортежей с пустыми значениями атрибутов. Необходимо

22
создать два отношения: отношение для сущности Преподава-
тель с соответствующими атрибутами и первичным ключом и
отношение, в качестве атрибутов которого необходимо ис-
пользовать атрибуты сущности Дисциплина и первичный ключ
сущности Преподаватель для организации связи. В качестве
первичного ключа второго отношения нужно выбрать первич-
ный ключ сущности Дисциплина.
Преподаватель (номер преподавателя, Ф. И. О., должность),
Дисциплина (код дисциплины, наименование, направление,
семестр, номер преподавателя).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.3 и 2.4.
Таблица 2.3
Фрагмент отношения
Преподаватель для случая 2
Номер Ф. И. О. Должность
преподавателя
1 Иванов Доцент
2 Петров Профессор
3 Сидоров Доцент
4 Малявин Ассистент
Таблица 2.4
Фрагмент отношения
Дисциплина для случая 2
Код дисци- Наименование Направление Семестр Номер
плины преподава-
теля
П1 Программиро- МОАИС 1 1
вание
И2 Информатика МОАИС 2 2

П2 Программиро- МОАИС 2 3
вание

Для этого случая сформулируем следующее правило.


Правило 2. В случае бинарной связи «один к одному» и
необязательного класса принадлежности для одной из сущ-
ностей необходимо создать два отношения: по одному

23
для каждой сущности с соответствующими атрибутами и
первичными ключами. Кроме того, для организации связи
нужно первичный ключ сущности с необязательным классом
принадлежности добавить в качестве атрибута в отношение
для сущности с обязательным классом принадлежности.
Случай 3. Примем следующие соглашения:
1. Каждый преподаватель преподает не более одной
дисциплины. Следовательно, не более одного экземпляра
сущности Дисциплина связано с одним экземпляром сущности
Преподаватель и степень связи для сущности Дисциплина
равна 1. Так как допускается существование экземпляров
сущности Преподаватель, не связанных хотя бы с одним эк-
земпляром сущности Дисциплина, то класс принадлежности
для сущности Преподаватель является необязательным.
2. Каждая дисциплина преподается не более чем одним
преподавателем. Следовательно, не более одного экземпля-
ра сущности Преподаватель связано с одним экземпляром
сущности Дисциплина и степень связи для сущности Препо-
даватель равна 1. Так как допускается существование эк-
земпляров сущности Дисциплина, не связанных хотя бы с
одним экземпляром сущности Преподаватель, то класс при-
надлежности для сущности Дисциплина является необяза-
тельным.
Фрагмент заполненного универсального отношения
для этого случая представлен в табл. 2.5, фрагмент диа-
граммы ER-экземпляров — на рис. 2.7, ER-диаграмма — на
рис. 2.8.
Таблица 2.5
Фрагмент универсального отношения
Учебный процесс для случая 3
Номер Ф. И. О. Долж- Код Наимено- Направ- Семестр
препода- ность дисци- вание ление
вателя плины
1 Иванов Доцент П1 Програм- МОАИС 1
мирование
2 Петров Профессор И2 Информа- МОАИС 2
тика
3 Сидоров Доцент П2 Програм- МОАИС 2
мирование

24
Окончание табл. 2.5
Номер Ф. И. О. Долж- Код Наимено- Направ- Семестр
препода- ность дисци- вание ление
вателя плины
4 Малявин Ассистент – – – –

– – – ФП6 Функцио- МОАИС 6


нальное
программи-
рование

Рис. 2.7. Фрагмент диаграммы ER-экземпляров


для случая 3

1 1
Преподаватель Преподает Дисциплина

Рис. 2.8. ER-диаграмма связи между сущностями


Преподаватель и Дисциплина
В этом случае недостаточно одного отношения, атрибу-
тами которого являются атрибуты всех сущностей, так как оно
будет иметь аномалии модификации, обусловленные наличи-
ем кортежей с пустыми значениями атрибутов. Необходимо
создать три отношения: по одному для каждой сущности с
соответствующими атрибутами и первичными ключами и
третье — для организации связи, атрибутами которого будут
первичные ключи обеих сущностей, а первичным ключом —
первичный ключ любой из сущностей.
Например:
Преподаватель (номер преподавателя, Ф. И. О., должность),

25
Дисциплина (код дисциплины, наименование,
направление, семестр),
П_Д (номер преподавателя, код дисциплины).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.6, 2.7 и 2.8.
Таблица 2.6
Фрагмент отношения
Преподаватель для случая 3
Номер Ф. И. О. Должность
преподавателя
1 Иванов Доцент
2 Петров Профессор
3 Сидоров Доцент
4 Малявин Ассистент

Таблица 2.7
Фрагмент отношения
Дисциплина для случая 3
Код Наименование Направление Семестр
дисциплины
П1 Программиро- МОАИС 1
вание
И2 Информатика МОАИС 2

П2 Программиро- МОАИС 2
вание
ФП6 Функциональ- МОАИС 6
ное программи-
рование

Таблица 2.8
Фрагмент отношения
П_Д для случая 3
Номер Код
преподавателя дисциплины
1 П1
2 И2
3 П2

Для этого случая сформулируем следующее правило.

26
Правило 3. В случае бинарной связи «один к одному» и
необязательных классов принадлежности для обеих сущностей
необходимо создать три отношения: по одному для каждой
сущности с соответствующими атрибутами и первичными
ключами и третье — для организации связи, атрибутами кото-
рого будут первичные ключи обеих сущностей, а первичным
ключом — первичный ключ любой из сущностей.
Случай 4. Примем следующие соглашения:
1. Каждый преподаватель может преподавать несколь-
ко дисциплин. Следовательно, несколько экземпляров сущно-
сти Дисциплина связано с одним экземпляром сущности
Преподаватель и степень связи для сущности Дисциплина
больше 1.
2. Каждая дисциплина преподается ровно одним препо-
давателем. Следовательно, не более одного экземпляра сущно-
сти Преподаватель связано с одним экземпляром сущности
Дисциплина и степень связи для сущности Преподаватель
равна 1. Так как каждый экземпляр сущности Дисциплина
связан хотя бы с одним экземпляром сущности Преподаватель,
то класс принадлежности для сущности Дисциплина является
обязательным.
Класс принадлежности односвязной сущности в этом
случае не важен.
Можно принять одно из следующих соглашений:
а) каждый преподаватель преподает хотя бы одну дисци-
плину. В этом случае каждый экземпляр сущности Преподава-
тель связан хотя бы с одним экземпляром сущности
Дисциплина, и класс принадлежности для сущности Препода-
ватель является обязательным;
б) есть преподаватели, не преподающие никакие дисци-
плины. В этом случае есть экземпляры сущности Преподава-
тель, не связанные хотя бы с одним экземпляром сущности
Дисциплина, и класс принадлежности для сущности Препода-
ватель является необязательным.
Фрагмент заполненного универсального отношения для
этого случая представлен в табл. 2.9, фрагмент диаграммы ER-
экземпляров — на рис. 2.9, ER-диаграмма (случай б) — на
рис. 2.10.

27
Таблица 2.9
Фрагмент универсального отношения
Учебный процесс для случая 4
Номер Ф. И. О. Долж- Код Наимено- Направ- Семестр
препода- ность дисци- вание ление
вателя плины
1 Иванов Доцент П1 Програм- МОАИС 1
мирование
2 Петров Профессор И2 Информа- МОАИС 2
тика
3 Сидоров Доцент П2 Програм- МОАИС 2
мирование
4 Малявин Ассистент – – – –

1 Иванов Доцент И2М Информа- Педобра- 2


тика и зование
математика

Рис. 2.9. Фрагмент диаграммы ER-экземпляров


для случая 4

1 М
Преподаватель Преподает Дисциплина

Рис. 2.10. ER-диаграмма связи между сущностями


Преподаватель и Дисциплина
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степень связи сущности Преподаватель
больше 1, а для сущности Дисциплина равна 1. При этом класс
принадлежности для сущности Преподаватель будет обяза-
тельным.

28
Во всех этих случаях недостаточно одного отношения,
атрибутами которого являются атрибуты всех сущностей, так
как оно будет иметь аномалии, обусловленные пустыми атри-
бутами и избыточным дублированием («Иванов», «доцент» для
преподавателя с номером 1). Необходимо создать два отноше-
ния: отношение для сущности Преподаватель с соответствую-
щими атрибутами и первичным ключом и отношение,
в качестве атрибутов которого необходимо использовать ат-
рибуты сущности Дисциплина и первичный ключ сущности
Преподаватель для организации связи. В качестве первичного
ключа второго отношения нужно выбрать первичный ключ
сущности Дисциплина.
Преподаватель (номер преподавателя, Ф. И. О., должность),
Дисциплина (код дисциплины, наименование, направление,
семестр, номер преподавателя).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.10 и 2.11.
Таблица 2.10
Фрагмент отношения
Преподаватель для случая 4
Номер Ф. И. О. Должность
преподавателя
1 Иванов Доцент
2 Петров Профессор
3 Сидоров Доцент
4 Малявин Ассистент

Таблица 2.11
Фрагмент отношения
Дисциплина для случая 4
Код дисци- Наименование Направление Семестр Номер
плины преподава-
теля
П1 Программиро- МОАИС 1 1
вание
И2 Информатика МОАИС 2 2

29
Окончание табл. 2.11
Код дисци- Наименование Направление Семестр Номер
плины преподава-
теля
П2 Программиро- МОАИС 2 3
вание
И2М Информатика Педобразо- 2 1
и математика вание

Для этого случая сформулируем следующее правило.


Правило 4. В случае бинарной связи «один ко многим» и
обязательного класса принадлежности для многосвязной
сущности необходимо создать два отношения: по одному для
каждой сущности с соответствующими атрибутами и первич-
ными ключами; причем для организации связи первичный
ключ односвязной сущности необходимо добавить в качестве
атрибута в отношение для многосвязной сущности.
Случай 5. Примем следующие соглашения:
1. Каждый преподаватель может преподавать несколь-
ко дисциплин. Следовательно, несколько экземпляров сущ-
ности Дисциплина связано с одним экземпляром сущности
Преподаватель и степень связи для сущности Дисциплина
больше 1.
2. Каждая дисциплина преподается не более чем одним
преподавателем. Следовательно, не более одного экземпля-
ра сущности Преподаватель связано с одним экземпляром
сущности Дисциплина и степень связи для сущности Препо-
даватель равна 1. Так как допускается существование эк-
земпляров сущности Дисциплина, не связанных хотя бы с
одним экземпляром сущности Преподаватель, то класс при-
надлежности для сущности Дисциплина является необяза-
тельным.
Класс принадлежности односвязной сущности в этом
случае не важен.
Фрагмент заполненного универсального отношения для
этого случая представлен в табл. 2.12, фрагмент диаграммы
ER-экземпляров — на рис. 2.11, ER-диаграмма — на рис. 2.12
(необязательный класс принадлежности для односвязной
сущности).

30
Таблица 2.12
Фрагмент универсального отношения
Учебный процесс для случая 5
Номер Ф. И. О. Долж- Код Наимено- Направ- Семестр
препода- ность дисци- вание ление
вателя плины
1 Иванов Доцент П1 Програм- МОАИС 1
мирование
2 Петров Профессор И2 Информа- МОАИС 2
тика
3 Сидоров Доцент П2 Програм- МОАИС 2
мирование
4 Малявин Ассистент – – – –

1 Иванов Доцент И2М Информа- Педобра- 2


тика и зование
математика
– – – ФП6 Функцио- МОАИС 6
нальное
программи-
рование

Рис. 2.11. Фрагмент диаграммы ER-экземпляров


для случая 5

1 М
Преподаватель Преподает Дисциплина

Рис. 2.12. ER-диаграмма связи между сущностями


Преподаватель и Дисциплина

31
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степень связи сущности Преподаватель
больше 1, а для сущности Дисциплина равна 1. При этом класс
принадлежности для сущности Преподаватель будет необяза-
тельным.
Во всех этих случаях недостаточно одного отношения, ат-
рибутами которого являются атрибуты всех сущностей, так как
оно будет иметь аномалии, обусловленные пустыми атрибутами
и избыточным дублированием («Иванов», «доцент» для препо-
давателя с номером 1). Необходимо создать три отношения: по
одному для каждой сущности с соответствующими атрибутами
и первичными ключами и третье — для организации связи,
атрибутами которого будут первичные ключи обеих сущностей,
а первичным ключом — первичный ключ сущности Дисциплина.
Преподаватель (номер преподавателя, Ф. И. О., должность),
Дисциплина (код дисциплины, наименование,
направление, семестр),
П_Д (номер преподавателя, код дисциплины).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.13, 2.14 и 2.15.
Таблица 2.13
Фрагмент отношения
Преподаватель для случая 5
Номер Ф. И. О. Должность
преподавателя
1 Иванов Доцент
2 Петров Профессор
3 Сидоров Доцент
4 Малявин Ассистент
Таблица 2.14
Фрагмент отношения
Дисциплина для случая 5
Код Наименование Направление Семестр
дисциплины
П1 Программиро- МОАИС 1
вание

32
Окончание табл. 2.14
Код Наименование Направление Семестр
дисциплины
И2 Информатика МОАИС 2

П2 Программиро- МОАИС 2
вание
И2М Информатика Педобразо- 2
и математика вание
ФП6 Функциональ- МОАИС 6
ное программи-
рование
Таблица 2.15
Фрагмент отношения
П_Д для случая 5
Номер Код
преподавателя дисциплины
1 П1
2 И2
3 П2
1 И2М

Для этого случая сформулируем следующее правило.


Правило 5. В случае бинарной связи «один ко многим» и
необязательного класса принадлежности для многосвязной
сущности необходимо создать три отношения: по одному для
каждой сущности с соответствующими атрибутами и первич-
ными ключами и третье — для организации связи, атрибутами
которого будут первичные ключи обеих сущностей, а первич-
ным ключом — первичный ключ многосвязной сущности.
Случай 6. Примем следующие соглашения:
1. Каждый преподаватель может преподавать несколько
дисциплин. Следовательно, несколько экземпляров сущности
Дисциплина связано с одним экземпляром сущности Препода-
ватель и степень связи для сущности Дисциплина больше 1.
2. Каждая дисциплина может преподаваться нескольки-
ми преподавателями. Следовательно, несколько экземпляров
сущности Преподаватель связано с одним экземпляром сущно-
сти Дисциплина и степень связи для сущности Преподаватель
больше 1.

33
Классы принадлежностей для обеих сущностей не важны.
Фрагмент заполненного универсального отношения для этого
случая представлен в табл. 2.16, фрагмент диаграммы ER-
экземпляров — на рис. 2.13, ER-диаграмма — на рис. 2.14 (для
случая необязательных классов принадлежности для обеих
сущностей).
Таблица 2.16
Фрагмент универсального отношения
Учебный процесс для случая 6
Номер Ф. И. О. Долж- Код Наимено- Направ- Семестр
препода- ность дисци- вание ление
вателя плины
1 Иванов Доцент П1 Програм- МОАИС 1
мирование
2 Петров Профессор И2 Информа- МОАИС 2
тика
3 Сидоров Доцент П2 Програм- МОАИС 2
мирование
4 Малявин Ассистент – – – –

1 Иванов Доцент И2М Информа- Педобра- 2


тика и зование
математика
3 Сидоров Доцент П1 Програм- МОАИС 1
мирование
– – – ФП6 Функцио- МОАИС 6
нальное
программи-
рование

Рис. 2.13. Фрагмент диаграммы ER-экземпляров


для случая 6

34
М М
Преподаватель Преподает Дисциплина

Рис. 2.14. ER-диаграмма связи между сущностями


Преподаватель и Дисциплина
В этом случае недостаточно одного отношения, атрибу-
тами которого являются атрибуты всех сущностей, так как оно
будет иметь аномалии модификации, обусловленные пустыми
атрибутами и избыточным дублированием («Иванов», «до-
цент» для преподавателя с номером 1; «Сидоров», «доцент» для
преподавателя с номером 3; «программирование», «МОАИС»,
«1» для дисциплины с кодом П1). Необходимо создать три
отношения: по одному для каждой сущности с соответствую-
щими атрибутами и первичными ключами и третье — для
организации связи, атрибутами которого будут первичные
ключи обеих сущностей, а первичным ключом — составной
первичный ключ.
Например:
Преподаватель (номер преподавателя, Ф. И. О.,
должность),
Дисциплина (код дисциплины, наименование,
направление, семестр),
П_Д (номер преподавателя, код дисциплины).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.17, 2.18 и 2.19.
Таблица 2.17
Фрагмент отношения
Преподаватель для случая 6
Номер Ф. И. О. Должность
преподавателя
1 Иванов Доцент
2 Петров Профессор
3 Сидоров Доцент
4 Малявин Ассистент

35
Таблица 2.18
Фрагмент отношения
Дисциплина для случая 6
Код Наименование Направление Семестр
дисциплины
П1 Программиро- МОАИС 1
вание
И2 Информатика МОАИС 2

П2 Программиро- МОАИС 2
вание
И2М Информатика Педобразо- 2
и математика вание
ФП6 Функциональ- МОАИС 6
ное программи-
рование

Таблица 2.19
Фрагмент отношения
П_Д для случая 6
Номер Код
преподавателя дисциплины
1 П1
2 И2
3 П2
1 И2М
3 П1

Для этого случая сформулируем следующее правило.


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

2.5. Правила ER-метода


в случае многосторонней связи
Обобщим понятие «степень связи» на случай связи по-
рядка выше второго — на случай N-сторонней связи.

36
Степень связи сущности равна максимальному количе-
ству экземпляров этой сущности, связанных с одним экзем-
пляром любой другой сущности N-сторонней связи.
Для иллюстрации правил проектирования в случае N-
сторонней связи рассмотрим проектирование базы данных для
решения задач в предметной области, связанной с пожелания-
ми преподавателей о проведении занятий по дисциплинам в
определенных аудиториях.
Универсальное отношение в этом случае может, напри-
мер, иметь вид:
Пожелания (Ф. И. О., должность, кафедра,
наименование, направление, семестры,
номер аудитории, тип, количество мест,
оборудование).
В результате анализа предметной области можно вы-
делить три сущности: Преподаватель (Ф. И. О., должность,
кафедра), Дисциплина (наименование, направление, семест-
ры), Аудитория (номер аудитории, тип, количество мест,
оборудование).
Так как для сущности Преподаватель значения всех ат-
рибутов могут повторяться, то отсутствует простой возмож-
ный ключ. Добавим для сущности Преподаватель атрибут
номер преподавателя, значения которого не могут повторять-
ся. Этот атрибут является возможным ключом.
По аналогичным причинам добавим для сущности Дисци-
плина атрибут код дисциплины, который является для этой
сущности возможным ключом. Так как значения атрибута
номер аудитории не повторяются, то этот атрибут является
возможным ключом для сущности Аудитория.
Таким образом, получим три сущности:
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра),
Дисциплина (код дисциплины, наименование,
направление, семестры),
Аудитория (номер аудитории, тип,
количество мест, оборудование).

37
Подчеркиванием выделен первичный ключ соответству-
ющей сущности. Эти сущности связаны трехсторонней связью
желает преподавать. Заметим, что эту связь нельзя заменить
бинарными связями.
Случай 7. Примем следующие соглашения:
1. Каждый преподаватель желает преподавать одну дис-
циплину в одной аудитории.
2. Каждую дисциплину один преподаватель желает пре-
подавать в одной аудитории.
3. В каждой аудитории один преподаватель желает пре-
подавать одну дисциплину.
Из этих соглашений следует, что:
— не более одного экземпляра сущности Преподаватель
связано с одним экземпляром сущности Дисциплина и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Преподаватель равна 1. Класс принадлежности
сущности Преподаватель является обязательным, так как в
соответствии с первым соглашением каждый экземпляр этой
сущности участвует в трехсторонней связи;
— не более одного экземпляра сущности Дисциплина свя-
зано с одним экземпляром сущности Преподаватель и с од-
ним экземпляром сущности Аудитория. Следовательно,
степень связи сущности Дисциплина равна 1. Класс принад-
лежности сущности Дисциплина является обязательным, так
как в соответствии со вторым соглашением каждый экзем-
пляр этой сущности участвует в трехсторонней связи;
— не более одного экземпляра сущности Аудитория свя-
зано с одним экземпляром сущности Дисциплина и с одним
экземпляром сущности Преподаватель. Следовательно, сте-
пень связи сущности Аудитория равна 1. Класс принадлежно-
сти сущности Аудитория является обязательным, так как в
соответствии с третьим соглашением каждый экземпляр этой
сущности участвует в трехсторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для этого случая представлен в
табл. 2.20, ER-диаграмма — на рис. 2.15. Точками на линиях
обозначены обязательные классы принадлежности соответ-
ствующих сущностей.

38
Таблица 2.20
Фрагмент универсального отношения
для случая 7
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
Ива- До- ИВТ Про- МОАИС 1, 2 41 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
Петров Про- ИВТ Компью- МОАИС 1 36 Лекци- 40 Проек-
фессор терные онная тор
науки

Дисциплина

1 Желает 1
Преподаватель Аудитория
преподавать

Рис. 2.15. ER-диаграмма


для случая 7
В этом случае необходимо создать одно отношение (ис-
пользовать универсальное отношение):
Пожелания (номер преподавателя, Ф. И. О.,
должность, кафедра, код дисциплины,
наименование, направление, семестры,
номер аудитории, тип,
количество мест, оборудование).
В качестве первичного ключа этого отношения можно вы-
брать первичный ключ любой из сущностей.
Для N-сторонней связи в этом случае сформулируем сле-
дующее правило.
Правило 7. В случае N-сторонней связи с единичными
степенями связи и обязательными классами принадлежности

39
для всех сущностей необходимо создать одно отношение,
в качестве атрибутов которого использовать атрибуты всех
сущностей.
В качестве первичного ключа этого отношения можно
выбрать первичный ключ любой из сущностей.
Заметим, что это правило обобщает правило 1.
Случай 8. Примем следующие соглашения:
1. Каждый преподаватель желает преподавать одну дис-
циплину в одной аудитории.
2. Каждую дисциплину один преподаватель желает пре-
подавать в одной аудитории.
3. В одной аудитории один преподаватель желает пре-
подавать одну дисциплину.
Из этих соглашений следует, что:
— не более одного экземпляра сущности Преподаватель
связано с одним экземпляром сущности Дисциплина и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Преподаватель равна 1. Класс принадлежности
сущности Преподаватель является обязательным, так как в
соответствии с первым соглашением каждый экземпляр этой
сущности участвует в трехсторонней связи;
— не более одного экземпляра сущности Дисциплина свя-
зано с одним экземпляром сущности Преподаватель и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Дисциплина равна 1. Класс принадлежности
сущности Дисциплина является обязательным, так как в соот-
ветствии со вторым соглашением каждый экземпляр этой
сущности участвует в трехсторонней связи;
— не более одного экземпляра сущности Аудитория свя-
зано с одним экземпляром сущности Дисциплина и с одним
экземпляром сущности Преподаватель. Следовательно, сте-
пень связи сущности Аудитория равна 1. Класс принадлежно-
сти сущности Аудитория является необязательным, так как в
соответствии с третьим соглашением не каждый экземпляр
этой сущности участвует в трехсторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для этого случая представлен в
табл. 2.21, ER-диаграмма — на рис. 2.16.

40
Таблица 2.21
Фрагмент универсального отношения
для случая 8
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
Ива- До- ИВТ Про- МОАИС 1, 2 41 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
Петров Про- ИВТ Компью- МОАИС 1 36 Лекци- 40 Проек-
фессор терные онная тор
науки
– – – – – – 42 Лабо- 12 Компь-
рато- ютеры
рия

Дисциплина

1 Желает 1
Преподаватель Аудитория
преподавать

Рис. 2.16. ER-диаграмма


для случая 8
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степени связи для всех трех сущностей будут
по-прежнему равны 1, а необязательный класс принадлежно-
сти будет либо у сущности Дисциплина, либо у сущности Пре-
подаватель.
Во всех этих случаях недостаточно одного отношения, ат-
рибутами которого являются атрибуты всех сущностей, так как
оно будет иметь аномалии, обусловленные наличием кортежей
с пустыми значениями атрибутов. Необходимо создать два
отношения: отношение для сущности с необязательным клас-
сом принадлежности с соответствующими атрибутами и пер-
вичным ключом и отношение, в качестве атрибутов которого

41
необходимо использовать атрибуты сущностей с обязательны-
ми классами принадлежности и первичный ключ сущности с
необязательным классом принадлежности для организации
связи. В качестве первичного ключа второго отношения можно
выбрать первичный ключ любой из сущностей с обязательным
классом принадлежности.
Например:
Аудитория (номер аудитории, тип,
количество мест, оборудование),
П_Д (номер преподавателя, Ф. И. О., должность, кафедра,
код дисциплины, наименование, направление,
семестры, номер аудитории).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.22 и 2.23.
Таблица 2.22
Фрагмент отношения
Аудитория для случая 8
Номер Тип Количество Оборудование
аудитории мест
41 Лаборатория 12 Компьютеры
36 Лекционная 40 Проектор
42 Лаборатория 12 Компьютеры

Таблица 2.23
Фрагмент отношения
П_Д для случая 8
Номер Ф. И. О. Долж- Ка- Код Наимено- Направ- Се- Номер
препо- ность фед- дисци- вание ление мест- ауди-
давателя ра плины ры тории
1 Ива- До- ИВТ П12 Про- МОАИС 1, 2 41
нов цент грамми-
рование
2 Петров Про- ИВТ И1 Компью- МОАИС 1 36
фессор терные
науки

Для N-сторонней связи, в том числе для этого случая,


сформулируем следующее правило.
42
Правило 8. В случае N-сторонней связи с единичными
степенями связи и необязательными классами принадлежно-
сти для M (M < N) сущностей необходимо создать M + 1 отно-
шение: M отношений — по одному для каждой из сущностей с
необязательным классом принадлежности с соответствующи-
ми атрибутами и первичным ключом и (M + 1)-е отношение,
в качестве атрибутов которого необходимо использовать ат-
рибуты сущностей с обязательными классами принадлежности
и первичные ключи сущностей с необязательными классами
принадлежности для организации связи. В качестве первично-
го ключа (M + 1)-го отношения можно выбрать первичный
ключ любой из сущностей с обязательным классом принад-
лежности.
Заметим, что это правило обобщает правило 2.
Случай 9. Примем следующие соглашения:
1. Один преподаватель желает преподавать одну дисци-
плину в одной аудитории.
2. Одну дисциплину один преподаватель желает препо-
давать в одной аудитории.
3. В одной аудитории один преподаватель желает пре-
подавать одну дисциплину.
Из этих соглашений следует, что:
— не более одного экземпляра сущности Преподаватель
связано с одним экземпляром сущности Дисциплина и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Преподаватель равна 1. Класс принадлежности
сущности Преподаватель является необязательным, так как в
соответствии с первым соглашением не каждый экземпляр
этой сущности участвует в трехсторонней связи;
— не более одного экземпляра сущности Дисциплина свя-
зано с одним экземпляром сущности Преподаватель и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Дисциплина равна 1. Класс принадлежности
сущности Дисциплина является необязательным, так как в
соответствии со вторым соглашением не каждый экземпляр
этой сущности участвует в трехсторонней связи;
— не более одного экземпляра сущности Аудитория свя-
зано с одним экземпляром сущности Дисциплина и с одним

43
экземпляром сущности Преподаватель. Следовательно, сте-
пень связи сущности Аудитория равна 1. Класс принадлежно-
сти сущности Аудитория является необязательным, так как в
соответствии с третьим соглашением не каждый экземпляр
этой сущности участвует в трехсторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для этого случая представлен в
табл. 2.24, ER-диаграмма — на рис. 2.17.
Таблица 2.24
Фрагмент универсального отношения
для случая 9
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
Ива- До- ИВТ Про- МОАИС 1, 2 41 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
Петров Про- ИВТ Компью- МОАИС 1 36 Лекци- 40 Проек-
фессор терные онная тор
науки
– – – – – – 42 Лабо- 12 Компь-
рато- ютеры
рия
– – – Компью- МОАИС 1 – – – –
терные веч
науки
Сидо- До- ИВТ – – – – – – –
ров цент

Дисциплина

1 Желает 1
Преподаватель Аудитория
преподавать

Рис. 2.17. ER-диаграмма


для случая 9

44
В этом случае недостаточно одного отношения, атрибу-
тами которого являются атрибуты всех сущностей, так как оно
будет иметь аномалии, обусловленные наличием кортежей с
пустыми значениями атрибутов.
Необходимо создать четыре отношения:
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра),
Дисциплина (код дисциплины, наименование,
направление, семестры),
Аудитория (номер аудитории, тип,
количество мест, оборудование),
П_Д_А (номер преподавателя, код дисциплины,
номер аудитории).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.25–2.28.
Таблица 2.25
Фрагмент отношения
Преподаватель для случая 9
Номер Ф. И. О. Должность Кафедра
преподавателя
1 Иванов Доцент ИВТ
2 Петров Профессор ИВТ
3 Сидоров Доцент ИВТ

Таблица 2.26
Фрагмент отношения
Дисциплина для случая 9
Код Наименование Направление Семестры
дисциплины
П12 Программиро- МОАИС 1, 2
вание
И1 Компьютерные МОАИС 1
науки
И1В Компьютерные МОАИС веч 1
науки

45
Таблица 2.27
Фрагмент отношения
Аудитория для случая 9
Номер Тип Количество Оборудование
аудитории мест
41 Лаборатория 12 Компьютеры
36 Лекционная 40 Проектор
42 Лаборатория 12 Компьютеры
Таблица 2.28
Фрагмент отношения
П_Д_А для случая 9
Номер Код Номер
преподавателя дисциплины аудитории
1 П12 41
2 И1 36

Для N-сторонней связи в этом случае сформулируем сле-


дующее правило.
Правило 9. В случае N-сторонней связи с единичными
степенями связи и необязательными классами принадлежно-
сти для всех сущностей необходимо создать N + 1 отношение: N
отношений — по одному для каждой из сущностей с соответ-
ствующими атрибутами и первичным ключом и (N + 1)-е от-
ношение для организации связи, в качестве атрибутов
которого необходимо использовать первичные ключи всех
сущностей. В качестве первичного ключа (N + 1)-го отношения
можно выбрать первичный ключ любой из сущностей.
Заметим, что это правило обобщает правило 3.
Случай 10. Примем следующие соглашения:
1. Каждый преподаватель может желать преподавать
одну дисциплину в нескольких аудиториях.
2. Каждую дисциплину один преподаватель может же-
лать преподавать в нескольких аудиториях.
3. В каждой аудитории один преподаватель желает пре-
подавать одну дисциплину.
Из этих соглашений следует, что:
— не более одного экземпляра сущности Преподаватель
связано с одним экземпляром сущности Дисциплина и с одним

46
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Преподаватель равна 1. Класс принадлежности
сущности Преподаватель является обязательным, так как в
соответствии с первым соглашением каждый экземпляр этой
сущности участвует в трехсторонней связи;
— не более одного экземпляра сущности Дисциплина свя-
зано с одним экземпляром сущности Преподаватель и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Дисциплина равна 1. Класс принадлежности
сущности Дисциплина является обязательным, так как в соот-
ветствии со вторым соглашением каждый экземпляр этой
сущности участвует в трехсторонней связи;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Дисциплина.
Следовательно, степень связи сущности Аудитория боль-
ше 1. Класс принадлежности сущности Аудитория является
обязательным, так как в соответствии с третьим соглашени-
ем каждый экземпляр этой сущности участвует в трехсто-
ронней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для этого случая представлен в
табл. 2.29, ER-диаграмма — на рис. 2.18.
Таблица 2.29
Фрагмент универсального отношения
для случая 10
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
Ива- До- ИВТ Про- МОАИС 1, 2 41 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
Петров Про- ИВТ Компью- МОАИС 1 36 Лекци- 40 Проек-
фессор терные онная тор
науки
Ива- До- ИВТ Про- МОАИС 1, 2 42 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия

47
Дисциплина

1 Желает М
Преподаватель Аудитория
преподавать

Рис. 2.18. ER-диаграмма


для случая 10
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степень связи либо сущности Дисциплина,
либо сущности Преподаватель больше 1, а для двух оставших-
ся сущностей равна 1. При этом класс принадлежности для всех
сущностей будет обязательным.
Во всех этих случаях недостаточно одного отношения,
атрибутами которого являются атрибуты всех сущностей, так
как оно будет иметь аномалии, обусловленные избыточным
дублированием. Необходимо создать два отношения: отноше-
ние, в качестве атрибутов которого необходимо использовать
атрибуты многосвязной сущности и первичный ключ одной из
односвязных сущностей для организации связи, и отношение,
в качестве атрибутов которого необходимо использовать ат-
рибуты односвязных сущностей. В качестве первичного ключа
первого отношения необходимо выбрать первичный ключ
многосвязной сущности, в качестве первичного ключа второго
отношения можно выбрать первичный ключ одной из одно-
связных сущностей.
Например:
Аудитория (номер аудитории, тип, количество мест,
оборудование, номер преподавателя),
П_Д (номер преподавателя, Ф. И. О., должность,
кафедра, код дисциплины, наименование,
направление, семестры).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.30 и 2.31.

48
Таблица 2.30
Фрагмент отношения
Аудитория для случая 10
Номер Тип Количество Оборудование Номер
аудитории мест преподавателя
41 Лаборатория 12 Компьютеры 1
36 Лекционная 40 Проектор 2
42 Лаборатория 12 Компьютеры 1

Таблица 2.31
Фрагмент отношения
П_Д для случая 10
Номер Ф. И. О. Долж- Ка- Код Наимено- Направ- Се-
препо- ность фед- дисци- вание ление мест-
давателя ра плины ры
1 Ива- До- ИВТ П12 Про- МОАИС 1, 2
нов цент грамми-
рование
2 Петров Про- ИВТ И1 Компью- МОАИС 1
фессор терные
науки

Для N-сторонней связи, в том числе для этого случая,


сформулируем следующее правило.
Правило 10. В случае N-сторонней связи с единичными
степенями связи для N – 1 сущности, одной многосвязной
сущности и обязательными классами принадлежности для всех
сущностей необходимо создать два отношения: отношение,
в качестве атрибутов которого необходимо использовать ат-
рибуты многосвязной сущности и первичный ключ одной из
односвязных сущностей для организации связи, и отношение,
в качестве атрибутов которого необходимо использовать ат-
рибуты односвязных сущностей. В качестве первичного ключа
первого отношения необходимо выбрать первичный ключ
многосвязной сущности, в качестве первичного ключа второго
отношения можно выбрать первичный ключ одной из одно-
связных сущностей.
Заметим, что это правило обобщает правило 4 для случая
обязательного класса принадлежности односвязной сущности.

49
Случай 11. Примем следующие соглашения:
1. Каждый преподаватель может желать преподавать
одну дисциплину в нескольких аудиториях.
2. Каждую дисциплину один преподаватель может же-
лать преподавать в нескольких аудиториях.
3. В одной аудитории один преподаватель желает пре-
подавать одну дисциплину.
Из этих соглашений следует, что:
— не более одного экземпляра сущности Преподаватель
связано с одним экземпляром сущности Дисциплина и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Преподаватель равна 1. Класс принадлежности
сущности Преподаватель является обязательным, так как в
соответствии с первым соглашением каждый экземпляр этой
сущности участвует в трехсторонней связи;
— не более одного экземпляра сущности Дисциплина свя-
зано с одним экземпляром сущности Преподаватель и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Дисциплина равна 1. Класс принадлежности
сущности Дисциплина является обязательным, так как в соот-
ветствии со вторым соглашением каждый экземпляр этой
сущности участвует в трехсторонней связи;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Дисциплина.
Следовательно, степень связи сущности Аудитория боль-
ше 1. Класс принадлежности сущности Аудитория является
необязательным, так как в соответствии с третьим соглаше-
нием не каждый экземпляр этой сущности участвует в трех-
сторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для этого случая представлен в
табл. 2.32, ER-диаграмма — на рис. 2.19.
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степень связи либо сущности Дисциплина,
либо сущности Преподаватель больше 1, а для двух оставших-
ся сущностей — равна 1.
При этом классы принадлежности односвязных сущно-
стей будут обязательными, а многосвязной сущности — необя-
зательным.

50
Таблица 2.32
Фрагмент универсального отношения
для случая 11
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
Ива- До- ИВТ Про- МОАИС 1, 2 41 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
Петров Про- ИВТ Компью- МОАИС 1 36 Лекци- 40 Проек-
фессор терные онная тор
науки
Ива- До- ИВТ Про- МОАИС 1, 2 42 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
– – – – – – 62 Универ 30 Компь-
вер- ютеры,
сальная проек-
тор

Дисциплина

1 Желает М
Преподаватель Аудитория
преподавать

Рис. 2.19. ER-диаграмма


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

51
атрибутов которого необходимо использовать первичный
ключ многосвязной сущности и первичный ключ одной из
односвязных сущностей. В качестве первичного ключа второго
отношения можно выбрать первичный ключ одной из одно-
связных сущностей, в качестве первичного ключа третьего
отношения необходимо выбрать первичный ключ многосвяз-
ной сущности.
Например:
Аудитория (номер аудитории, тип,
количество мест, оборудование),
П_Д (номер преподавателя, Ф. И. О., должность, кафедра,
код дисциплины, наименование, направление, семестры),
А_П (номер аудитории, номер преподавателя).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.33, 2.34 и 2.35.
Таблица 2.33
Фрагмент отношения
Аудитория для случая 11
Номер Тип Количество Оборудование
аудитории мест
41 Лаборатория 12 Компьютеры
36 Лекционная 40 Проектор
42 Лаборатория 12 Компьютеры
62 Универсальная 30 Компьютеры,
проектор
Таблица 2.34
Фрагмент отношения
П_Д для случая 11
Номер Ф. И. О. Долж- Ка- Код Наимено- Направ- Се-
препо- ность фед- дисци- вание ление мест-
давателя ра плины ры
1 Ива- До- ИВТ П12 Про- МОАИС 1, 2
нов цент грамми-
рование
2 Петров Про- ИВТ И1 Компью- МОАИС 1
фессор терные
науки

52
Таблица 2.35
Фрагмент отношения
А_П для случая 11
Номер Номер
аудитории преподавателя
41 1
36 2
42 1

Для N-сторонней связи, в том числе для этого случая,


сформулируем следующее правило.
Правило 11. В случае N-сторонней связи с единичными
степенями связи и обязательными классами принадлежности
для N – 1 сущности, одной многосвязной сущности с необяза-
тельным классом принадлежности необходимо создать три
отношения: отношение для многосвязной сущности с соответ-
ствующими атрибутами и первичным ключом, отношение,
в качестве атрибутов которого необходимо использовать ат-
рибуты односвязных сущностей, и третье отношение для орга-
низации связи, в качестве атрибутов которого необходимо
использовать первичный ключ многосвязной сущности и
первичный ключ одной из односвязных сущностей. В качестве
первичного ключа второго отношения можно выбрать первич-
ный ключ одной из односвязных сущностей, в качестве пер-
вичного ключа третьего отношения необходимо выбрать
первичный ключ многосвязной сущности.
Заметим, что это правило обобщает правило 5 для случая
обязательного класса принадлежности односвязной сущности.
Случай 12. Примем следующие соглашения:
1. Один преподаватель может желать преподавать одну
дисциплину в нескольких аудиториях.
2. Одну дисциплину один преподаватель может желать
преподавать в нескольких аудиториях.
3. В каждой аудитории один преподаватель желает пре-
подавать одну дисциплину.
Из этих соглашений следует, что:
— не более одного экземпляра сущности Преподава-
тель связано с одним экземпляром сущности Дисциплина

53
и с одним экземпляром сущности Аудитория. Следовательно,
степень связи сущности Преподаватель равна 1. Класс при-
надлежности сущности Преподаватель является необяза-
тельным, так как в соответствии с первым соглашением не
каждый экземпляр этой сущности участвует в трехсторон-
ней связи;
— не более одного экземпляра сущности Дисциплина
связано с одним экземпляром сущности Преподаватель и с
одним экземпляром сущности Аудитория. Следовательно,
степень связи сущности Дисциплина равна 1. Класс принад-
лежности сущности Дисциплина является необязательным,
так как в соответствии со вторым соглашением не каждый
экземпляр этой сущности участвует в трехсторонней связи;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Дисциплина.
Следовательно, степень связи сущности Аудитория боль-
ше 1. Класс принадлежности сущности Аудитория является
обязательным, так как в соответствии с третьим соглашени-
ем каждый экземпляр этой сущности участвует в трехсто-
ронней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для этого случая представлен в
табл. 2.36, ER-диаграмма — на рис. 2.20.
Таблица 2.36
Фрагмент универсального отношения
для случая 12
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
Ива- До- ИВТ Про- МОАИС 1, 2 41 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
Петров Про- ИВТ Компью- МОАИС 1 36 Лекци- 40 Проек-
фессор терные онная тор
науки
Ива- До- ИВТ Про- МОАИС 1, 2 42 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия

54
Окончание табл. 2.36
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
– – – Компью- МОАИС 1 – – – –
терные веч
науки
Сидо- До- ИВТ – – – – – – –
ров цент

Дисциплина

1 Желает М
Преподаватель Аудитория
преподавать

Рис. 2.20. ER-диаграмма


для случая 12
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степень связи либо сущности Дисциплина,
либо сущности Преподаватель больше 1, а для двух оставших-
ся сущностей равна 1. При этом классы принадлежности одно-
связных сущностей будут необязательными, а многосвязной
сущности — обязательным.
Во всех этих случаях недостаточно одного отношения,
атрибутами которого являются атрибуты всех сущностей,
так как оно будет иметь аномалии, обусловленные наличием
кортежей с пустыми значениями атрибутов и избыточным
дублированием. Необходимо создать четыре отношения: по
одному для каждой из односвязных сущностей с соответ-
ствующими атрибутами и первичными ключами, отношение,
в качестве атрибутов которого необходимо использовать
первичные ключи односвязных сущностей для организации
связи, и отношение, в качестве атрибутов которого необхо-
димо использовать атрибуты многосвязной сущности

55
и первичный ключ одной из односвязных сущностей для
организации связи. В качестве первичного ключа третьего
отношения можно выбрать первичный ключ одной из одно-
связных сущностей, в качестве первичного ключа четвертого
отношения необходимо выбрать первичный ключ много-
связной сущности.
Например:
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра),
Дисциплина (код дисциплины, наименование,
направление, семестры),
П_Д (номер преподавателя, код дисциплины),
Аудитория (номер аудитории, тип, количество мест,
оборудование, номер преподавателя).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.37–2.40.
Таблица 2.37
Фрагмент отношения
Преподаватель для случая 12
Номер Ф. И. О. Должность Кафедра
преподавателя
1 Иванов Доцент ИВТ
2 Петров Профессор ИВТ
3 Сидоров Доцент ИВТ

Таблица 2.38
Фрагмент отношения
Дисциплина для случая 12
Код Наименование Направление Семестры
дисциплины
П12 Программиро- МОАИС 1, 2
вание
И1 Компьютерные МОАИС 1
науки
И1В Компьютерные МОАИС веч 1
науки

56
Таблица 2.39
Фрагмент отношения
П_Д для случая 12
Номер Код
преподавателя дисциплины
1 П12
2 И1

Таблица 2.40
Фрагмент отношения
Аудитория для случая 12
Номер Тип Количество Оборудование Номер
аудитории мест преподавателя
41 Лаборатория 12 Компьютеры 1
36 Лекционная 40 Проектор 2
42 Лаборатория 12 Компьютеры 1

Для N-сторонней связи, в том числе для этого случая,


сформулируем следующее правило.
Правило 12. В случае N-сторонней связи для N – 1 сущно-
сти с единичными степенями связи и необязательными клас-
сами принадлежности и одной многосвязной сущности с
обязательным классом принадлежности необходимо создать
N + 1 отношение: по одному для каждой из N – 1 односвязной
сущности с соответствующими атрибутами и первичным клю-
чом, N-е отношение, в качестве атрибутов которого необходи-
мо использовать первичные ключи односвязных сущностей
для организации связи, и (N + 1)-е отношение, в качестве атри-
бутов которого необходимо использовать атрибуты много-
связной сущности и первичный ключ одной из односвязных
сущностей для организации связи. В качестве первичного
ключа N-го отношения можно выбрать первичный ключ одной
из односвязных сущностей, в качестве первичного ключа
(N + 1)-го отношения необходимо выбрать первичный ключ
многосвязной сущности.
Заметим, что это правило обобщает правило 4 для слу-
чая необязательного класса принадлежности односвязной
сущности.
Случай 13. Примем следующие соглашения:

57
1. Каждый преподаватель может желать преподавать
одну дисциплину в нескольких аудиториях.
2. Одну дисциплину один преподаватель может желать
преподавать в нескольких аудиториях.
3. В каждой аудитории один преподаватель желает пре-
подавать одну дисциплину.
Из этих соглашений следует, что:
— не более одного экземпляра сущности Преподаватель
связано с одним экземпляром сущности Дисциплина и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Преподаватель равна 1. Класс принадлежности
сущности Преподаватель является обязательным, так как в
соответствии с первым соглашением каждый экземпляр этой
сущности участвует в трехсторонней связи;
— не более одного экземпляра сущности Дисциплина свя-
зано с одним экземпляром сущности Преподаватель и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Дисциплина равна 1. Класс принадлежности
сущности Дисциплина является необязательным, так как в
соответствии со вторым соглашением не каждый экземпляр
этой сущности участвует в трехсторонней связи;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Дисциплина. Сле-
довательно, степень связи сущности Аудитория больше 1. Класс
принадлежности сущности Аудитория является обязательным,
так как в соответствии с третьим соглашением каждый экзем-
пляр этой сущности участвует в трехсторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для этого случая представлен в
табл. 2.41, ER-диаграмма — на рис. 2.21.
Таблица 2.41
Фрагмент универсального отношения
для случая 13
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
Ива- До- ИВТ Про- МОАИС 1, 2 41 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия

58
Окончание табл. 2.41
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
Петров Про- ИВТ Компью- МОАИС 1 36 Лекци- 40 Проек-
фессор терные онная тор
науки
Ива- До- ИВТ Про- МОАИС 1, 2 42 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
– – – Компью- МОАИС 1 – – – –
терные веч
науки

Дисциплина

1 Желает М
Преподаватель Аудитория
преподавать

Рис. 2.21. ER-диаграмма


для случая 13
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степень связи либо сущности Дисциплина,
либо сущности Преподаватель больше 1, а для двух оставших-
ся сущностей — равна 1. При этом класс принадлежности од-
ной из односвязных сущностей будет необязательным,
а многосвязной сущности — обязательным.
Во всех этих случаях недостаточно одного отношения,
атрибутами которого являются атрибуты всех сущностей, так
как оно будет иметь аномалии, обусловленные наличием кор-
тежей с пустыми значениями атрибутов и избыточным дубли-
рованием. Необходимо создать три отношения: отношение для
односвязной сущности с необязательным классом принадлеж-
ности с соответствующими атрибутами и первичным ключом,
отношение, в качестве атрибутов которого необходимо ис-
пользовать атрибуты односвязной сущности с обязательным

59
классом принадлежности и первичный ключ односвязной
сущности с необязательным классом принадлежности для
организации связи, и отношение, в качестве атрибутов которо-
го необходимо использовать атрибуты многосвязной сущности
и первичный ключ одной из односвязных сущностей для орга-
низации связи. В качестве первичного ключа второго отноше-
ния можно выбрать первичный ключ одной из односвязных
сущностей, в качестве первичного ключа третьего отношения
необходимо выбрать первичный ключ многосвязной сущности.
Например:
Дисциплина (код дисциплины, наименование,
направление, семестры),
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра, код дисциплины),
Аудитория (номер аудитории, тип, количество мест,
оборудование, номер преподавателя).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.42, 2.43 и 2.44.
Таблица 2.42
Фрагмент отношения
Дисциплина для случая 13
Код Наименование Направление Семестры
дисциплины
П12 Программиро- МОАИС 1, 2
вание
И1 Компьютерные МОАИС 1
науки
И1В Компьютерные МОАИС веч 1
науки

Таблица 2.43
Фрагмент отношения
Преподаватель для случая 13
Номер Ф. И. О. Должность Кафедра Код
преподавателя дисциплины
1 Иванов Доцент ИВТ П12
2 Петров Профессор ИВТ И1

60
Таблица 2.44
Фрагмент отношения
Аудитория для случая 13
Номер Тип Количество Оборудование Номер
аудитории мест преподавателя
41 Лаборатория 12 Компьютеры 1
36 Лекционная 40 Проектор 2
42 Лаборатория 12 Компьютеры 1

Для N-сторонней связи, в том числе для этого случая,


сформулируем следующее правило.
Правило 13. В случае N-сторонней связи (N > 2) с еди-
ничными степенями связи для N – 1 сущности и необязатель-
ными классами принадлежности для M (M < N – 1) сущностей,
одной многосвязной сущности с обязательным классом при-
надлежности необходимо создать М + 2 отношения: M отно-
шений — по одному для каждой односвязной сущности с
необязательным классом принадлежности с соответствую-
щими атрибутами и первичным ключом, (М + 1)-е отношение,
в качестве атрибутов которого необходимо использовать
атрибуты односвязных сущностей с обязательными классами
принадлежности и первичные ключи односвязных сущностей
с необязательными классами принадлежности для организа-
ции связи, и (М + 2)-е отношение, в качестве атрибутов кото-
рого необходимо использовать атрибуты многосвязной
сущности и первичный ключ одной из односвязных сущно-
стей для организации связи. В качестве первичного ключа
(М + 1)-го отношения можно выбрать первичный ключ одной
из односвязных сущностей, в качестве первичного ключа
(М + 2)-го отношения необходимо выбрать первичный ключ
многосвязной сущности.
Случай 14. Примем следующие соглашения:
1. Каждый преподаватель может желать преподавать
одну дисциплину в нескольких аудиториях.
2. Одну дисциплину один преподаватель может желать
преподавать в нескольких аудиториях.
3. В одной аудитории один преподаватель желает пре-
подавать одну дисциплину.
Из этих соглашений следует, что:
61
— не более одного экземпляра сущности Преподаватель
связано с одним экземпляром сущности Дисциплина и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Преподаватель равна 1. Класс принадлежности
сущности Преподаватель является обязательным, так как в
соответствии с первым соглашением каждый экземпляр этой
сущности участвует в трехсторонней связи;
— не более одного экземпляра сущности Дисциплина свя-
зано с одним экземпляром сущности Преподаватель и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Дисциплина равна 1. Класс принадлежности
сущности Дисциплина является необязательным, так как в
соответствии со вторым соглашением не каждый экземпляр
этой сущности участвует в трехсторонней связи;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Дисциплина. Сле-
довательно, степень связи сущности Аудитория больше 1. Класс
принадлежности сущности Аудитория является необязатель-
ным, так как в соответствии с третьим соглашением не каждый
экземпляр этой сущности участвует в трехсторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для этого случая представлен в
табл. 2.45, ER-диаграмма — на рис. 2.22.
Таблица 2.45
Фрагмент универсального отношения
для случая 14
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
Ива- До- ИВТ Про- МОАИС 1, 2 41 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
Петров Про- ИВТ Компью- МОАИС 1 36 Лекци- 40 Проек-
фессор терные онная тор
науки
Ива- До- ИВТ Про- МОАИС 1, 2 42 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
– – – Компью- МОАИС 1 – – – –
терные веч
науки

62
Окончание табл. 2.45
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
– – – – – – 62 Универ 30 Компь-
вер- ютеры,
сальная проек-
тор

Дисциплина

1 Желает М
Преподаватель Аудитория
преподавать

Рис. 2.22. ER-диаграмма


для случая 14
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степень связи либо сущности Дисциплина,
либо сущности Преподаватель больше 1, а для двух оставших-
ся сущностей равна 1. При этом класс принадлежности одной
из односвязных сущностей будет необязательным, а много-
связной сущности — обязательным.
Во всех этих случаях недостаточно одного отношения, ат-
рибутами которого являются атрибуты всех сущностей, так как
оно будет иметь аномалии, обусловленные наличием кортежей
с пустыми значениями атрибутов и избыточным дублировани-
ем. Необходимо создать четыре отношения: отношение для
односвязной сущности с необязательным классом принадлеж-
ности с соответствующими атрибутами и первичным ключом;
отношение, в качестве атрибутов которого необходимо исполь-
зовать атрибуты односвязной сущности с обязательным клас-
сом принадлежности и первичный ключ односвязной сущности
с необязательным классом принадлежности для организации
связи; отношение для многосвязной сущности с соответствую-
щими атрибутами и первичным ключом и четвертое отношение

63
для организации связи, в качестве атрибутов которого необхо-
димо использовать первичный ключ многосвязной сущности и
первичный ключ одной из односвязных сущностей. В качестве
первичного ключа второго отношения можно выбрать первич-
ный ключ одной из односвязных сущностей, в качестве первич-
ного ключа четвертого отношения необходимо выбрать
первичный ключ многосвязной сущности.
Например:
Дисциплина (код дисциплины, наименование,
направление, семестры),
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра, код дисциплины),
Аудитория (номер аудитории, тип,
количество мест, оборудование),
А_П (номер аудитории, номер преподавателя).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.46–2.49.
Таблица 2.46
Фрагмент отношения
Дисциплина для случая 14
Код Наименование Направление Семестры
дисциплины
П12 Программиро- МОАИС 1, 2
вание
И1 Компьютерные МОАИС 1
науки
И1В Компьютерные МОАИС веч 1
науки

Таблица 2.47
Фрагмент отношения
Преподаватель для случая 14
Номер Ф. И. О. Должность Кафедра Код
преподавателя дисциплины
1 Иванов Доцент ИВТ П12
2 Петров Профессор ИВТ И1

64
Таблица 2.48
Фрагмент отношения
Аудитория для случая 14
Номер Тип Количество Оборудование
аудитории мест
41 Лаборатория 12 Компьютеры
36 Лекционная 40 Проектор
42 Лаборатория 12 Компьютеры
62 Универсальная 30 Компьютеры,
проектор

Таблица 2.49
Фрагмент отношения
А_П для случая 14
Номер Номер
аудитории преподавателя
41 1
36 2
42 1

Для N-сторонней связи, в том числе для этого случая,


сформулируем следующее правило.
Правило 14. В случае N-сторонней связи (N > 2) с еди-
ничными степенями связи для N – 1 сущности и необяза-
тельными классами принадлежности для M (M < N – 1)
сущностей, одной многосвязной сущности с необязательным
классом принадлежности необходимо создать М + 3 отноше-
ния: M отношений — по одному для каждой односвязной
сущности с необязательным классом принадлежности с
соответствующими атрибутами и первичным ключом,
(М + 1)-е отношение, в качестве атрибутов которого необхо-
димо использовать атрибуты односвязных сущностей с
обязательными классами принадлежности и первичные
ключи односвязных сущностей с необязательными классами
принадлежности для организации связи, (М + 2)-е отноше-
ние для многосвязной сущности с соответствующими атри-
бутами и первичным ключом и (М + 3)-е отношение для
организации связи, в качестве атрибутов которого необхо-
димо использовать первичный ключ многосвязной сущности

65
и первичный ключ одной из односвязных сущностей. В каче-
стве первичного ключа (М + 1)-го отношения можно выбрать
первичный ключ одной из односвязных сущностей, в каче-
стве первичного ключа (М + 3)-го отношения необходимо
выбрать первичный ключ многосвязной сущности.
Случай 15. Примем следующие соглашения:
1. Один преподаватель может желать преподавать одну
дисциплину в нескольких аудиториях.
2. Одну дисциплину один преподаватель может желать
преподавать в нескольких аудиториях.
3. В одной аудитории один преподаватель желает пре-
подавать одну дисциплину.
Из этих соглашений следует, что:
— не более одного экземпляра сущности Преподава-
тель связано с одним экземпляром сущности Дисциплина и с
одним экземпляром сущности Аудитория. Следовательно,
степень связи сущности Преподаватель равна 1. Класс при-
надлежности сущности Преподаватель является необяза-
тельным, так как в соответствии с первым соглашением не
каждый экземпляр этой сущности участвует в трехсторон-
ней связи;
— не более одного экземпляра сущности Дисциплина
связано с одним экземпляром сущности Преподаватель и с
одним экземпляром сущности Аудитория. Следовательно,
степень связи сущности Дисциплина равна 1. Класс принад-
лежности сущности Дисциплина является необязательным,
так как в соответствии со вторым соглашением не каждый
экземпляр этой сущности участвует в трехсторонней связи;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Дисциплина.
Следовательно, степень связи сущности Аудитория боль-
ше 1. Класс принадлежности сущности Аудитория является
не обязательным, так как в соответствии с третьим согла-
шением не каждый экземпляр этой сущности участвует в
трехсторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для этого случая представлен в
табл. 2.50, ER-диаграмма — на рис. 2.23.

66
Таблица 2.50
Фрагмент универсального отношения
для случая 15
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
Ива- До- ИВТ Про- МОАИС 1, 2 41 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
Петров Про- ИВТ Компью- МОАИС 1 36 Лекци- 40 Проек-
фессор терные онная тор
науки
Ива- До- ИВТ Про- МОАИС 1, 2 42 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
– – – Компью- МОАИС 1 – – – –
терные веч
науки
Сидо- До- ИВТ – – – – – – –
ров цент
– – – – – – 62 Универ 30 Компь-
вер- ютеры,
сальная проек-
тор

Дисциплина

1 Желает М
Преподаватель Аудитория
преподавать

Рис. 2.23. ER-диаграмма


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

67
Во всех этих случаях недостаточно одного отношения,
атрибутами которого являются атрибуты всех сущностей, так
как оно будет иметь аномалии, обусловленные наличием кор-
тежей с пустыми значениями атрибутов и избыточным дубли-
рованием. Необходимо создать пять отношений: три
отношения — по одному для каждой сущности с соответству-
ющими атрибутами и первичным ключом, отношение, в каче-
стве атрибутов которого необходимо использовать первичные
ключи односвязных сущностей для организации связи, и пятое
отношение для организации связи, в качестве атрибутов кото-
рого необходимо использовать первичный ключ многосвязной
сущности и первичный ключ одной из односвязных сущностей.
В качестве первичного ключа четвертого отношения можно
выбрать первичный ключ одной из односвязных сущностей,
в качестве первичного ключа пятого отношения необходимо
выбрать первичный ключ многосвязной сущности.
Например:
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра),
Дисциплина (код дисциплины, наименование,
направление, семестры),
Аудитория (номер аудитории, тип,
количество мест, оборудование),
П_Д (номер преподавателя, код дисциплины),
А_П(номер аудитории, номер преподавателя).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.51–2.55.
Таблица 2.51
Фрагмент отношения
Преподаватель для случая 15
Номер Ф. И. О. Должность Кафедра
преподавателя
1 Иванов Доцент ИВТ
2 Петров Профессор ИВТ
3 Сидоров Доцент ИВТ

68
Таблица 2.52
Фрагмент отношения
Дисциплина для случая 15
Код Наименование Направление Семестры
дисциплины
П12 Программиро- МОАИС 1, 2
вание
И1 Компьютерные МОАИС 1
науки
И1В Компьютерные МОАИС веч 1
науки

Таблица 2.53
Фрагмент отношения
Аудитория для случая 15
Номер Тип Количество Оборудование
аудитории мест
41 Лаборатория 12 Компьютеры
36 Лекционная 40 Проектор
42 Лаборатория 12 Компьютеры
62 Универсальная 30 Компьютеры,
проектор

Таблица 2.54
Фрагмент отношения
П_Д для случая 15
Номер Код
преподавателя дисциплины
1 П12
2 И1

Таблица 2.55
Фрагмент отношения
А_П для случая 15
Номер Номер
аудитории преподавателя
41 1
36 2
42 1

69
Для N-сторонней связи, в том числе для этого случая,
сформулируем следующее правило.
Правило 15. В случае N-сторонней связи (N > 2) с еди-
ничными степенями связи для N – 1 сущности и одной мно-
госвязной сущности с необязательными классами
принадлежности для всех сущностей необходимо создать
N + 2 отношения: N отношений — по одному для каждой
сущности с соответствующими атрибутами и первичным
ключом, (N + 1)-е отношение, в качестве атрибутов которого
необходимо использовать первичные ключи односвязных
сущностей для организации связи, и (N + 2)-е отношение,
в качестве атрибутов которого необходимо использовать
первичный ключ многосвязной сущности и первичный ключ
одной из односвязных сущностей для организации связи.
В качестве первичного ключа (N + 1)-го отношения можно
выбрать первичный ключ одной из односвязных сущностей,
в качестве первичного ключа (N + 2)-го отношения необхо-
димо выбрать первичный ключ многосвязной сущности.
Для иллюстрации правил проектирования в случае N-
сторонней связи и более одной многосвязной сущности рас-
смотрим проектирование базы данных для решения задач в
предметной области, связанной с пожеланиями преподавате-
лей по проведению определенных видов занятий по опреде-
ленным дисциплинам в определенных аудиториях.
Универсальное отношение в этом случае может, напри-
мер, иметь вид:
Пожелания (Ф. И. О., должность, кафедра,
наименование, направление, тип занятия,
количество часов в неделю, число недель,
номер аудитории, тип,
количество мест, оборудование).
В результате анализа предметной области можно вы-
делить четыре сущности: Преподаватель (Ф. И. О., долж-
ность, кафедра), Дисциплина (наименование, направление),
Занятие (тип занятия, количество часов в неделю, число
недель), Аудитория (номер аудитории, тип, количество
мест, оборудование).

70
Так как для сущности Преподаватель значения всех ат-
рибутов могут повторяться, то отсутствует простой возмож-
ный ключ. Добавим для сущности Преподаватель атрибут
номер преподавателя, значения которого не могут повторять-
ся. Этот атрибут является возможным ключом.
По аналогичным причинам добавим для сущности Дисци-
плина атрибут код дисциплины, а для сущности Занятие атри-
бут код занятия, которые являются для соответствующих
сущностей возможными ключами. Так как значения атрибута
номер аудитории не повторяются, то этот атрибут является
возможным ключом для сущности Аудитория.
Таким образом, получим четыре сущности:
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра),
Дисциплина (код дисциплины, наименование,
направление),
Занятие (код занятия, тип занятия,
количество часов в неделю,
число недель),
Аудитория (номер аудитории, тип,
количество мест, оборудование).
Подчеркиванием выделен первичный ключ соответству-
ющей сущности. Эти сущности связаны четырехсторонней
связью желает преподавать. Заметим, что эту связь нельзя
заменить бинарными связями.
Случай 16. Примем следующие соглашения:
1. Каждый преподаватель может желать преподавать
несколько занятий по одной дисциплине в нескольких ауди-
ториях.
2. По каждой дисциплине один преподаватель может
желать преподавать несколько занятий в нескольких ауди-
ториях.
3. Каждое (одно) занятие по одной дисциплине один
преподаватель может желать преподавать в нескольких ауди-
ториях.

71
4. В каждой (одной) аудитории один преподаватель
может желать преподавать несколько занятий по одной дис-
циплине.
Из этих соглашений следует, что:
— не более одного экземпляра сущности Преподаватель
связано с одним экземпляром сущности Дисциплина, с одним
экземпляром сущности Занятия и с одним экземпляром сущ-
ности Аудитория. Следовательно, степень связи сущности
Преподаватель равна 1. Класс принадлежности сущности
Преподаватель является обязательным, так как в соответ-
ствии с первым соглашением каждый экземпляр этой сущно-
сти участвует в четырехсторонней связи;
— не более одного экземпляра сущности Дисциплина свя-
зано с одним экземпляром сущности Преподаватель, с одним
экземпляром сущности Занятия и с одним экземпляром сущ-
ности Аудитория. Следовательно, степень связи сущности
Дисциплина равна 1. Класс принадлежности сущности Дисци-
плина является обязательным, так как в соответствии со вто-
рым соглашением каждый экземпляр этой сущности участвует
в четырехсторонней связи;
— несколько экземпляров сущности Занятия может
быть связано с одним экземпляром сущности Дисциплина.
Следовательно, степень связи сущности Занятия больше 1.
Класс принадлежности сущности Занятия является
(не)обязательным, так как в соответствии с третьим согла-
шением (не)каждый экземпляр этой сущности участвует в
четырехсторонней связи;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Дисциплина.
Следовательно, степень связи сущности Аудитория больше 1.
Класс принадлежности сущности Аудитория является
(не)обязательным, так как в соответствии с четвертым согла-
шением (не)каждый экземпляр этой сущности участвует в
четырехсторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для случая обязательных клас-
сов принадлежности многосвязных сущностей представлен в
табл. 2.56, ER-диаграмма — на рис. 2.24.

72
Таблица 2.56
Фрагмент универсального отношения
для случая 16
Ф. И. О. Долж- Кафедра Наимено- Направ- Тип Коли- Число Номер Тип Коли- Оборудо-
ность вание ление занятия чество недель аудито- чество вание
часов в рии мест
неделю
Петров Профес- ИВТ Компьютер- МОАИС Лекци- 2 18 62 Универ- 30 Компью-
сор ные науки онное сальная теры,
проектор
Петров Профес- ИВТ Компьютер- МОАИС Лабора- 2 18 62 Универ- 30 Компью-
сор ные науки торное сальная теры,
проектор
Иванов Доцент ИВТ Программи- МОАИС Лабора- 4 18 41 Лабора- 2 Компью-
рование торное тория теры

Иванов Доцент ИВТ Программи- МОАИС Лабора- 4 18 42 Лабора- 12 Компью-


рование торное тория теры
Дисциплина

1 Желает М
Преподаватель Аудитория
преподавать

Занятие

Рис. 2.24. ER-диаграмма


для случая 16
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степень связи для двух сущностей в другом
сочетании больше 1, а для двух оставшихся сущностей — равна
1. При этом значимыми для проектирования являются классы
принадлежности односвязных сущностей.
Во всех этих случаях недостаточно одного отношения,
атрибутами которого являются атрибуты всех сущностей, так
как оно будет иметь аномалии, обусловленные наличием кор-
тежей с пустыми значениями атрибутов и избыточным дубли-
рованием. Необходимо создать четыре отношения: по одному
для каждой многосвязной сущности с соответствующими
атрибутами и первичным ключом, отношение, в качестве ат-
рибутов которого необходимо использовать атрибуты одно-
связных сущностей, и отношение, в качестве атрибутов
которого необходимо использовать первичные ключи много-
связных сущностей и первичный ключ одной из односвязных
сущностей для организации связи. В качестве первичного
ключа третьего отношения можно выбрать первичный ключ
одной из односвязных сущностей, в качестве первичного клю-
ча четвертого отношения необходимо выбрать составной ключ
из первичных ключей многосвязных сущностей.
Например:

74
Занятие (код занятия, тип занятия,
количество часов в неделю, число недель),
Аудитория (номер аудитории, тип,
количество мест, оборудование),
П_Д (номер преподавателя, Ф. И. О., должность,
кафедра, код дисциплины, наименование, направление),
П_З_А (номер преподавателя, код занятия, номер аудитории).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.57–2.60.
Таблица 2.57
Фрагмент отношения
Занятие для случая 16
Код Тип Количество Число
занятия занятия часов в неделю недель
1 Лекционное 2 18
2 Лабораторное 2 18
3 Лабораторное 4 18

Таблица 2.58
Фрагмент отношения
Аудитория для случая 16
Номер Тип Количество Оборудование
аудитории мест
62 Универсальная 30 Компьютеры,
проектор
41 Лаборатория 12 Компьютеры
42 Лаборатория 12 Компьютеры

Таблица 2.59
Фрагмент отношения
П_Д для случая 16
Номер Ф. И. О. Долж- Кафедра Код Наименова- Направ-
препода- ность дисци- ние ление
вателя плины
1 Петров Профес- ИВТ И1 Компьютер- МОАИС
сор ные науки
2 Иванов Доцент ИВТ П12 Программи- МОАИС
рование

75
Таблица 2.60
Фрагмент отношения
П_З_А для случая 16
Номер препода- Код занятия Номер
вателя аудитории
1 1 62
1 2 62
2 3 41
2 3 42

Для N-сторонней связи, в том числе для этого случая,


сформулируем следующее правило.
Правило 16. В случае N-сторонней связи (N > 3) с единич-
ными степенями связи и обязательными классами принадлежно-
сти для K (1 < K < N – 1) сущностей и нескольких многосвязных
сущностей необходимо создать N – K + 2 отношения: N – K отно-
шений — по одному для каждой многосвязной сущности с соот-
ветствующими атрибутами и первичным ключом, (N – K + 1)-е
отношение, в качестве атрибутов которого необходимо исполь-
зовать атрибуты односвязных сущностей, и (N – K + 2)-е отноше-
ние, в качестве атрибутов которого необходимо использовать
первичные ключи многосвязных сущностей и первичный ключ
одной из односвязных сущностей для организации связи. В каче-
стве первичного ключа (N – K + 1)-го отношения можно выбрать
первичный ключ одной из односвязных сущностей, в качестве
первичного ключа (N – K + 2)-го отношения необходимо выбрать
составной ключ из первичных ключей многосвязных сущностей.
Случай 17. Примем следующие соглашения:
1. Каждый преподаватель может желать преподавать
несколько занятий по одной дисциплине в нескольких ауди-
ториях.
2. По одной дисциплине один преподаватель может же-
лать преподавать несколько занятий в нескольких аудиториях.
3. Каждое (одно) занятие по одной дисциплине один
преподаватель может желать преподавать в нескольких ауди-
ториях.
4. В каждой (одной) аудитории один преподаватель может
желать преподавать несколько занятий по одной дисциплине.
Из этих соглашений следует, что:

76
— не более одного экземпляра сущности Преподаватель
связано с одним экземпляром сущности Дисциплина, с одним
экземпляром сущности Занятия и с одним экземпляром сущ-
ности Аудитория. Следовательно, степень связи сущности
Преподаватель равна 1. Класс принадлежности сущности Пре-
подаватель является обязательным, так как в соответствии с
первым соглашением каждый экземпляр этой сущности участ-
вует в четырехсторонней связи;
— не более одного экземпляра сущности Дисциплина свя-
зано с одним экземпляром сущности Преподаватель, с одним
экземпляром сущности Занятия и с одним экземпляром сущ-
ности Аудитория. Следовательно, степень связи сущности
Дисциплина равна 1. Класс принадлежности сущности Дисци-
плина является необязательным, так как в соответствии со
вторым соглашением не каждый экземпляр этой сущности
участвует в четырехсторонней связи;
— несколько экземпляров сущности Занятия может
быть связано с одним экземпляром сущности Дисциплина.
Следовательно, степень связи сущности Занятия больше 1.
Класс принадлежности сущности Занятия является
(не)обязательным, так как в соответствии с третьим согла-
шением (не)каждый экземпляр этой сущности участвует в
четырехсторонней связи;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Дисциплина.
Следовательно, степень связи сущности Аудитория больше 1.
Класс принадлежности сущности Аудитория является
(не)обязательным, так как в соответствии с четвертым согла-
шением (не)каждый экземпляр этой сущности участвует в
четырехсторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для случая необязательных
классов принадлежности многосвязных сущностей представ-
лен в табл. 2.61, ER-диаграмма — на рис. 2.25.
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степень связи для двух сущностей в другом
сочетании больше 1, а для двух оставшихся сущностей равна 1.
При этом значимыми для проектирования являются классы
принадлежности для односвязных сущностей.

77
Таблица 2.61
Фрагмент универсального отношения
для случая 17
Ф. И. О. Долж- Кафедра Наимено- Направ- Тип Коли- Число Номер Тип Коли- Оборудо-
ность вание ление занятия чество недель аудито- чество вание
часов в рии мест
неделю
Петров Профес- ИВТ Компьютер- МОАИС Лекци- 2 18 62 Универ- 30 Компью-
сор ные науки онное сальная теры,
проектор
Петров Профес- ИВТ Компьютер- МОАИС Лабора- 2 18 62 Универ- 30 Компью-
сор ные науки торное сальная теры,
проектор
Иванов Доцент ИВТ Программи- МОАИС Лабора- 4 18 41 Лабора- 12 Компью-
рование торное тория теры
Иванов Доцент ИВТ Программи- МОАИС Лабора- 4 18 42 Лабора- 12 Компью-
рование торное тория теры
– – – Компьютер- МОАИС – – – – – – –
ные науки веч
– – – – – Лабора- 3 12 – – – –
торное
– – – – – – – – 36 Лекци- 40 Проектор
онная
Дисциплина

1 Желает М
Преподаватель Аудитория
преподавать

Занятие

Рис. 2.25. ER-диаграмма


для случая 17
Во всех этих случаях недостаточно одного отношения, ат-
рибутами которого являются атрибуты всех сущностей, так как
оно будет иметь аномалии, обусловленные наличием кортежей с
пустыми значениями атрибутов и избыточным дублированием.
Необходимо создать пять отношений: по одному для каждой
многосвязной сущности и односвязной сущности с необязатель-
ным классом принадлежности с соответствующими атрибутами
и первичным ключом, отношение, в качестве атрибутов которого
необходимо использовать атрибуты односвязной сущности с
обязательным классом принадлежности и первичный ключ
односвязной сущности с необязательным классом принадлежно-
сти для организации связи, и отношение, в качестве атрибутов
которого необходимо использовать первичные ключи много-
связных сущностей и первичный ключ одной из односвязных
сущностей для организации связи. В качестве первичного ключа
четвертого отношения можно выбрать первичный ключ одной из
односвязных сущностей, в качестве первичного ключа пятого
отношения необходимо выбрать составной ключ из первичных
ключей многосвязных сущностей.
Например:
Занятие (код занятия, тип занятия,
количество часов в неделю, число недель),

79
Аудитория (номер аудитории, тип,
количество мест, оборудование),
Дисциплина (код дисциплины, наименование, направление),
П_Д (номер преподавателя, Ф. И. О., должность,
кафедра, код дисциплины),
П_З_А (номер преподавателя, код занятия, номер аудитории).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.62–2.66.
Таблица 2.62
Фрагмент отношения
Занятие для случая 17
Код Тип Количество Число
занятия занятия часов в неделю недель
1 Лекционное 2 18
2 Лабораторное 2 18
3 Лабораторное 4 18
4 Лабораторное 3 12

Таблица 2.63
Фрагмент отношения
Аудитория для случая 17
Номер Тип Количество Оборудование
аудитории мест
62 Универсальная 30 Компьютеры,
проектор
41 Лаборатория 12 Компьютеры
42 Лаборатория 12 Компьютеры
36 Лекционная 40 Проектор

Таблица 2.64
Фрагмент отношения
Дисциплина для случая 17
Код Наименование Направление
дисциплины
П12 Программиро- МОАИС
вание
И1 Компьютерные МОАИС
науки

80
Окончание табл. 2.64
Код Наименование Направление
дисциплины
И1В Компьютерные МОАИС веч
науки

Таблица 2.65
Фрагмент отношения
П_Д для случая 17
Номер Ф. И. О. Должность Кафедра Код
преподавателя дисциплины
1 Петров Профессор ИВТ И1
2 Иванов Доцент ИВТ П12

Таблица 2.66
Фрагмент отношения
П_З_А для случая 17
Номер Код Номер
преподавателя занятия аудитории
1 1 62
1 2 62
2 3 41
2 3 42

Для N-сторонней связи, в том числе для этого случая,


сформулируем следующее правило.
Правило 17. В случае N-сторонней связи (N > 3) с еди-
ничными степенями связи для K (1 < K < N – 1) сущностей и
необязательными классами принадлежности для M (M < K)
сущностей, нескольких многосвязных сущностей необходи-
мо создать N – K + M + 2 отношения: N – K + M отношений —
по одному для каждой многосвязной сущности и каждой
односвязной сущности с необязательным классом принад-
лежности с соответствующими атрибутами и первичным
ключом, (N – K + M + 1)-е отношение, в качестве атрибутов
которого необходимо использовать атрибуты односвязных
сущностей с обязательными классами принадлежности и
первичные ключи односвязных сущностей с необязатель-
ными классами принадлежности для организации связи,
и (N – K + M + 2)-е отношение, в качестве атрибутов которого

81
необходимо использовать первичные ключи многосвязных
сущностей и первичный ключ одной из односвязных сущно-
стей для организации связи. В качестве первичного ключа
(N – K + M + 1)-го отношения можно выбрать первичный
ключ одной из односвязных сущностей, в качестве первич-
ного ключа (N – K + M + 2)-го отношения необходимо вы-
брать составной ключ из первичных ключей многосвязных
сущностей.
Случай 18. Примем следующие соглашения:
1. Один преподаватель может желать преподавать не-
сколько занятий по одной дисциплине в нескольких аудиториях.
2. По одной дисциплине один преподаватель может же-
лать преподавать несколько занятий в нескольких аудиториях.
3. Каждое (одно) занятие по одной дисциплине один
преподаватель может желать преподавать в нескольких ауди-
ториях.
4. В каждой (одной) аудитории один преподаватель
может желать преподавать несколько занятий по одной дис-
циплине.
Из этих соглашений следует, что:
— не более одного экземпляра сущности Преподаватель
связано с одним экземпляром сущности Дисциплина, с одним
экземпляром сущности Занятия и с одним экземпляром сущ-
ности Аудитория. Следовательно, степень связи сущности
Преподаватель равна 1. Класс принадлежности сущности Пре-
подаватель является необязательным, так как в соответствии
с первым соглашением не каждый экземпляр этой сущности
участвует в четырехсторонней связи;
— не более одного экземпляра сущности Дисциплина свя-
зано с одним экземпляром сущности Преподаватель, с одним
экземпляром сущности Занятия и с одним экземпляром сущ-
ности Аудитория. Следовательно, степень связи сущности
Дисциплина равна 1. Класс принадлежности сущности Дисци-
плина является необязательным, так как в соответствии со
вторым соглашением не каждый экземпляр этой сущности
участвует в четырехсторонней связи;
— несколько экземпляров сущности Занятия может
быть связано с одним экземпляром сущности Дисциплина.

82
Следовательно, степень связи сущности Занятия больше 1.
Класс принадлежности сущности Занятия является
(не)обязательным, так как в соответствии с третьим согла-
шением (не)каждый экземпляр этой сущности участвует в
четырехсторонней связи;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Дисциплина.
Следовательно, степень связи сущности Аудитория больше 1.
Класс принадлежности сущности Аудитория является
(не)обязательным, так как в соответствии с четвертым согла-
шением (не)каждый экземпляр этой сущности участвует в
четырехсторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для случая необязательных
классов принадлежности многосвязных сущностей представ-
лен в табл. 2.67, ER-диаграмма — на рис. 2.26.
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степень связи для двух сущностей в другом
сочетании больше 1, а для двух оставшихся сущностей равна 1.
При этом значимыми для проектирования являются классы
принадлежности для односвязных сущностей.

Дисциплина

1 Желает М
Преподаватель Аудитория
преподавать

Занятие

Рис. 2.26. ER-диаграмма


для случая 18

83
Таблица 2.67
Фрагмент универсального отношения
для случая 18
Ф. И. О. Долж- Кафедра Наимено- Направ- Тип Коли- Число Номер Тип Коли- Оборудо-
ность вание ление занятия чество недель аудито- чество вание
часов в рии мест
неделю
Петров Профес- ИВТ Компьютер- МОАИС Лекци- 2 18 62 Универ- 30 Компью-
сор ные науки онное сальная теры,
проектор
Петров Профес- ИВТ Компьютер- МОАИС Лабора- 2 18 62 Универ- 30 Компью-
сор ные науки торное сальная теры,
проектор
Иванов Доцент ИВТ Программи- МОАИС Лабора- 4 18 41 Лабора- 12 Компью-
рование торное тория теры
Иванов Доцент ИВТ Программи- МОАИС Лабора- 4 18 42 Лабора- 12 Компью-
рование торное тория теры
– – – Компьютер- МОАИС – – – – – – –
ные науки веч
– – – – – Лабора- 3 12 – – – –
торное
– – – – – – – – 36 Лекци- 40 Проектор
онная
Сидоров Доцент ИВТ – – – – – – – – –
Во всех этих случаях недостаточно одного отношения, ат-
рибутами которого являются атрибуты всех сущностей, так как
оно будет иметь аномалии, обусловленные наличием кортежей с
пустыми значениями атрибутов и избыточным дублированием.
Необходимо создать шесть отношений: четыре — по одному для
каждой сущности с соответствующими атрибутами и первичным
ключом, отношение, в качестве атрибутов которого необходимо
использовать первичные ключи односвязных сущностей, и от-
ношение, в качестве атрибутов которого необходимо использо-
вать первичные ключи многосвязных сущностей и первичный
ключ одной из односвязных сущностей для организации связи.
В качестве первичного ключа пятого отношения можно выбрать
первичный ключ одной из односвязных сущностей, в качестве
первичного ключа шестого отношения необходимо выбрать
составной ключ из первичных ключей многосвязных сущностей.
Например:
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра),
Дисциплина (код дисциплины, наименование, направление),
Занятие (код занятия, тип занятия,
количество часов в неделю, число недель),
Аудитория (номер аудитории, тип,
количество мест, оборудование),
П_Д (номер преподавателя, код дисциплины),
П_З_А (номер преподавателя, код занятия, номер аудитории).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.68–2.73.
Таблица 2.68
Фрагмент отношения
Преподаватель для случая 18
Номер Ф. И. О. Должность Кафедра
преподавателя
1 Петров Профессор ИВТ
2 Иванов Доцент ИВТ
3 Сидоров Доцент ИВТ

85
Таблица 2.69
Фрагмент отношения
Дисциплина для случая 18
Код Наименование Направление
дисциплины
П12 Программиро- МОАИС
вание
И1 Компьютерные МОАИС
науки
И1В Компьютерные МОАИС веч
науки

Таблица 2.70
Фрагмент отношения
Занятие для случая 18
Код Тип Количество Число
занятия занятия часов в неделю недель
1 Лекционное 2 18
2 Лабораторное 2 18
3 Лабораторное 4 18
4 Лабораторное 3 12

Таблица 2.71
Фрагмент отношения
Аудитория для случая 18
Номер Тип Количество Оборудование
аудитории мест
62 Универсальная 30 Компьютеры,
проектор
41 Лаборатория 12 Компьютеры
42 Лаборатория 12 Компьютеры
36 Лекционная 40 Проектор

Таблица 2.72
Фрагмент отношения
П_Д для случая 18
Номер Код
преподавателя дисциплины
1 И1
2 П12

86
Таблица 2.73
Фрагмент отношения
П_З_А для случая 18
Номер Код Номер
преподавателя занятия аудитории
1 1 62
1 2 62
2 3 41
2 3 42

Для N-сторонней связи, в том числе для этого случая,


сформулируем следующее правило.
Правило 18. В случае N-сторонней связи (N > 3) с единич-
ными степенями связи и необязательными классами принадлеж-
ности для M (1 < M < N – 1) сущностей, нескольких многосвязных
сущностей необходимо создать N + 2 отношения: N отношений —
по одному для каждой сущности с соответствующими атрибута-
ми и первичным ключом, (N + 1)-е отношение, в качестве атрибу-
тов которого необходимо использовать первичные ключи
односвязных сущностей для организации связи, и (N + 2)-е отно-
шение, в качестве атрибутов которого необходимо использовать
первичные ключи многосвязных сущностей и первичный ключ
одной из односвязных сущностей для организации связи. В каче-
стве первичного ключа (N + 1)-го отношения можно выбрать
первичный ключ одной из односвязных сущностей, в качестве
первичного ключа (N + 2)-го отношения необходимо выбрать
составной ключ из первичных ключей многосвязных сущностей.
Случай 19. Примем следующие соглашения:
1. Каждый (один) преподаватель может желать препода-
вать несколько занятий по нескольким дисциплинам в не-
скольких аудиториях.
2. По каждой (одной) дисциплине один преподаватель
может желать преподавать несколько занятий в нескольких
аудиториях.
3. Каждое (одно) занятие по нескольким дисциплинам
один преподаватель может желать преподавать в нескольких
аудиториях.
4. В каждой (одной) аудитории один преподаватель мо-
жет желать преподавать несколько занятий по нескольким
дисциплинам.

87
Из этих соглашений следует, что:
— не более одного экземпляра сущности Преподаватель
связано с одним экземпляром сущности Дисциплина, с одним
экземпляром сущности Занятия и с одним экземпляром сущ-
ности Аудитория. Следовательно, степень связи сущности
Преподаватель равна 1. Класс принадлежности сущности Пре-
подаватель является (не)обязательным, так как в соответ-
ствии с первым соглашением (не)каждый экземпляр этой
сущности участвует в четырехсторонней связи;
— несколько экземпляров сущности Дисциплина связано
с одним экземпляром сущности Преподаватель, с одним эк-
земпляром сущности Занятия и с одним экземпляром сущно-
сти Аудитория. Следовательно, степень связи сущности
Дисциплина больше 1. Класс принадлежности сущности Дисци-
плина является необязательным, так как в соответствии со
вторым соглашением не каждый экземпляр этой сущности
участвует в четырехсторонней связи;
— несколько экземпляров сущности Занятия может быть
связано с одним экземпляром сущности Дисциплина. Следова-
тельно, степень связи сущности Занятия больше 1. Класс при-
надлежности сущности Занятия является (не)обязательным,
так как в соответствии с третьим соглашением (не)каждый
экземпляр этой сущности участвует в четырехсторонней связи;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Дисциплина.
Следовательно, степень связи сущности Аудитория больше 1.
Класс принадлежности сущности Аудитория является
(не)обязательным, так как в соответствии с четвертым согла-
шением (не)каждый экземпляр этой сущности участвует в
четырехсторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для случая одной односвязной
сущности и необязательных классов принадлежности всех сущ-
ностей представлен в табл. 2.74, ER-диаграмма — на рис. 2.27.
Заметим, что могут быть приняты соглашения, в соответ-
ствии с которыми степень связи для трех сущностей в другом
сочетании больше 1, а для оставшейся сущности – равна 1, или
степени связи всех сущностей больше 1. При этом для проек-
тирования классы принадлежности сущностей не являются
значимыми.

88
Таблица 2.74
Фрагмент универсального отношения
для случая 19
Ф. И. О. Долж- Кафедра Наимено- Направ- Тип Коли- Число Номер Тип Количе- Оборудо-
ность вание ление занятия чество недель аудито- ство мест вание
часов в рии
неделю
Петров Профес- ИВТ Компьютер- МОАИС Лекци- 2 18 62 Универ- 30 Компью-
сор ные науки онное сальная теры,
проектор
Петров Профес- ИВТ Компьютер- МОАИС Лабора- 2 18 62 Универ- 30 Компью-
сор ные науки торное сальная теры,
проектор
Иванов Доцент ИВТ Программи- МОАИС Лабора- 4 18 41 Лабора- 12 Компью-
рование торное тория теры
Иванов Доцент ИВТ Программи- МОАИС Лабора- 4 18 42 Лабора- 12 Компью-
рование торное тория теры
Иванов Доцент ИВТ Проектиро- МОАИС Лекци- 1 18 62 Универ- 30 Компью-
вание РБД онное сальная теры,
проектор
Иванов Доцент ИВТ Проектиро- МОАИС Лабора- 1 18 41 Лабора- 12 Компью-
вание РБД торное тория теры
– – – – – Лабора- 3 12 – – – –
торное
– – – Компьютер- МОАИС – – – – – – –
ные науки веч
– – – – – – – – 36 Лекци- 40 Проектор
онная
Сидоров Доцент ИВТ – – – – – – – – –
Дисциплина

1 Желает М
Преподаватель Аудитория
преподавать

Занятие

Рис. 2.27. ER-диаграмма


для случая 19
Во всех этих случаях недостаточно одного отношения,
атрибутами которого являются атрибуты всех сущностей, так
как оно будет иметь аномалии, обусловленные наличием кор-
тежей с пустыми значениями атрибутов и избыточным дубли-
рованием.
Необходимо создать пять отношений:
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра),
Дисциплина (код дисциплины, наименование,
направление),
Занятие (код занятия, тип занятия,
количество часов в неделю, число недель),
Аудитория (номер аудитории, тип,
количество мест, оборудование),
П_Д_З_А (номер преподавателя,
код дисциплины, код занятия,
номер аудитории).
Фрагменты заполненных отношений для этого случая
представлены в табл. 2.75–2.79.

90
Таблица 2.75
Фрагмент отношения
Преподаватель для случая 19
Номер Ф. И. О. Должность Кафедра
преподавателя
1 Петров Профессор ИВТ
2 Иванов Доцент ИВТ
3 Сидоров Доцент ИВТ
Таблица 2.76
Фрагмент отношения
Дисциплина для случая 19
Код Наименование Направление
дисциплины
П12 Программиро- МОАИС
вание
И1 Компьютерные МОАИС
науки
ПР4 Проектирова- МОАИС
ние РБД
И1В Компьютерные МОАИС веч
науки
Таблица 2.77
Фрагмент отношения
Занятие для случая 19
Код Тип Количество Число
занятия занятия часов в неделю недель
1 Лекционное 2 18
2 Лабораторное 2 18
3 Лабораторное 4 18
4 Лабораторное 3 12
5 Лекционное 1 18
6 Лабораторное 1 18
Таблица 2.78
Фрагмент отношения
Аудитория для случая 19
Номер Тип Количество Оборудование
аудитории мест
62 Универсальная 30 Компьютеры,
проектор

91
Окончание табл. 2.78
Номер Тип Количество Оборудование
аудитории мест
41 Лаборатория 12 Компьютеры
42 Лаборатория 12 Компьютеры
36 Лекционная 40 Проектор
Таблица 2.79
Фрагмент отношения
П_Д_З_А для случая 19
Номер Код Код Номер
преподавателя дисциплины занятия аудитории
1 И1 1 62
1 И1 2 62
2 П12 3 41
2 П12 3 42
2 П4 5 62
2 П4 6 41

Для N-сторонней связи, в том числе для этого случая,


сформулируем следующее правило.
Правило 19. В случаях N-сторонней связи с участием не
менее N – 1 многосвязных сущностей, исключая случай при N = 2
одной многосвязной сущности с обязательным классом принад-
лежности, необходимо создать N + 1 отношение: N отноше-
ний — по одному для каждой сущности с соответствующими
атрибутами и первичным ключом и (N + 1)-е отношение, в каче-
стве атрибутов которого необходимо использовать первичные
ключи всех сущностей для организации связи. В качестве пер-
вичного ключа (N + 1)-го отношения необходимо при N = 2
выбрать первичный ключ многосвязной сущности, при N > 2 —
составной ключ из первичных ключей многосвязных сущностей.
Заметим, что это правило обобщает правила 5 и 6.
Правила 7–19 охватывают все случаи бинарной и много-
сторонней связи и являются минимальным набором правил
проектирования реляционных баз данных ER-методом.
В результате анализа рассмотренных в этой главе приме-
ров и правил ER-метода сформулируем следующие рекоменда-
ции, которые могут быть использованы для дополнительного
контроля правильности проектирования реляционных баз
данных.

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

2.6. Правило ER-метода


в случае кратной связи
Рассмотрим предметную область футбольный турнир.
Универсальное отношение в этом случае должно содержать
атрибуты, необходимые для автоматизации определения
результатов турнира (турнирная таблица, результативность
игроков и др.).
В результате анализа предметной области можно выде-
лить несколько сущностей: Футбольный клуб, Матч, Гол, Ста-
дион, Игрок и др.
Рассмотрим бинарную связь между сущностями Фут-
больный клуб и Матч. Пусть эти сущности имеют атрибуты:
Футбольный клуб (ФК_ID, название, тренер, город), Матч
(матч_ID, дата).
Примем следующие соглашения:
1. Футбольный клуб может участвовать в нескольких
матчах. Следовательно, степень связи для сущности Матч
больше единицы, класс принадлежности для сущности Фут-
больный клуб в общем случае является необязательным.

93
2. В каждом матче участвуют ровно два футбольных клу-
ба. Следовательно, ровно два экземпляров сущности Футболь-
ный клуб связано с одним экземпляром сущности Матч и
степень связи для сущности Футбольный клуб равна двум,
класс принадлежности для сущности Матч является обяза-
тельным.
Таким образом, между сущностями Футбольный клуб и
Матч имеется связь два ко многим, ER-диаграмма которой
изображена на рис. 2.28.

Футбольный 2 М
Участвует Матч
клуб

Рис. 2.28. ER-диаграмма связи между сущностями


Футбольный клуб и Матч
В соответствии с правилом 19 (или правилом 6) необхо-
димо создать три отношения:
Футбольный клуб (ФК_ID, название, тренер, город),
Матч (матч_ID, дата),
Матч_ФК (матч_ID, ФК_ID).
Отношение для связи Матч_ФК в соответствии с приня-
тыми соглашениями будет состоять из пар записей с одним и
тем же значением матч_ID и разными значениями ФК_ID.
В этом случае можно оптимизировать число отношений, ис-
ключив вспомогательное отношение для связи Матч_ФК и
добавив в отношение Матч первичные ключи футбольных
клубов, которые участвуют в этом матче. Таким образом, для
бинарной связи между сущностями Футбольный клуб и Матч
получим два отношения:
Матч (матч_ID, дата, хозяева_ID, гости_ID),
Футбольный клуб (ФК_ID, название, тренер, город).
Фрагмент схемы данных для этого случая с учетом связи
между сущностями Футбольный клуб и Матч изображен на
рис. 2.29.

94
Рис. 2.29. Фрагмент схемы данных
базы данных «Футбольный турнир»
Определим понятие кратность связи.
В случае бинарной связи многие ко многим кратность
связи для сущности равна N, если ровно N экземпляров этой
сущности связано с одним экземпляром другой сущности и
класс принадлежности для другой сущности является обяза-
тельным.
В рассмотренном выше примере для сущности футболь-
ный клуб кратность связи равна двум.
Сформулируем правило ER-метода для этого случая.
Правило 20. Если в случае бинарной связи между много-
связными сущностями кратность связи для одной сущности
равна N, то необходимо создать два отношения: одно для сущ-
ности, кратность связи которой равна N, с соответствующими
атрибутами и первичным ключом, второе отношение в каче-
стве атрибутов должно содержать атрибуты второй сущности
и для организации связи N раз первичный ключ сущности,
кратность связи которой равна N. В качестве первичного клю-
ча второго отношения необходимо выбрать первичный ключ
второй сущности.

Контрольные вопросы
1. Охарактеризуйте основные понятия реляционных баз
данных: «отношение», «кортеж», «атрибут», «домен», «табли-
ца», «запись», «поле».
2. В чем состоит избыточное дублирование данных?

95
3. Охарактеризуйте основные понятия ER-метода: «сущ-
ность», «связь», «экземпляр сущности».
4. Что представляет собой возможный и первичный
ключ сущности, отношения?
5. Охарактеризуйте основные характеристики связи.
6. Какие способы графического представления связей
между сущностями вы знаете?
7. Сформулируйте правила ER-метода для бинарной связи.
8. Сформулируйте правила ER-метода для многосторон-
ней связи нескольких односвязных сущностей.
9. Сколько отношений необходимо создать в случае пя-
тисторонней связи четырех односвязных сущностей и одной
многосвязной сущности с обязательными классами принад-
лежностей для всех сущностей? Сформулируйте соответству-
ющее правило ER-метода.
10. Сколько отношений необходимо создать в случае пя-
тисторонней связи четырех односвязных сущностей с обяза-
тельными классами принадлежностей и одной многосвязной
сущности с необязательным классом принадлежности? Сфор-
мулируйте соответствующее правило ER-метода.
11. Сколько отношений необходимо создать в случае пя-
тисторонней связи четырех односвязных сущностей с необяза-
тельными классами принадлежностей и одной многосвязной
сущности с обязательным классом принадлежности? Сформу-
лируйте соответствующее правило ER-метода.
12. Сколько отношений необходимо создать в случае пя-
тисторонней связи двух односвязных сущностей с обязатель-
ными классами принадлежностей, двух односвязных
сущностей с необязательными классами принадлежностей и
одной многосвязной сущности с обязательным классом при-
надлежности? Сформулируйте соответствующее правило ER-
метода.
13. Сколько отношений необходимо создать в случае пя-
тисторонней связи двух односвязных сущностей с обязатель-
ными классами принадлежностей, двух односвязных
сущностей с необязательными классами принадлежностей и
одной многосвязной сущности с необязательным классом
принадлежности? Сформулируйте соответствующее правило
ER-метода.

96
14. Сколько отношений необходимо создать в случае пя-
тисторонней связи четырех односвязных сущностей и одной
многосвязной сущности с необязательными классами принад-
лежностей для всех сущностей? Сформулируйте соответству-
ющее правило ER-метода.
15. Сколько отношений необходимо создать в случае пя-
тисторонней связи трех односвязных сущностей с обязатель-
ными классами принадлежностей и двух многосвязных
сущностях? Сформулируйте соответствующее правило ER-
метода.
16. Сколько отношений необходимо создать в случае ше-
стисторонней связи двух односвязных сущностей с обязатель-
ными классами принадлежностей, двух односвязных
сущностей с необязательными классами принадлежностей и
двух многосвязных сущностях? Сформулируйте соответству-
ющее правило ER-метода.
17. Сколько отношений необходимо создать в случае пя-
тисторонней связи трех односвязных сущностей с необяза-
тельными классами принадлежностей и двух многосвязных
сущностях? Сформулируйте соответствующее правило ER-
метода.
18. Сколько отношений необходимо создать в случае пя-
тисторонней связи односвязной сущности и четырех много-
связных сущностях? Сформулируйте соответствующее правило
ER-метода.
Глава 3
Комбинированный алгоритм
проектирования
реляционных баз данных
Наряду с ER-методом при проектировании реляционных
БД используется метод нормальных форм. В данной главе
изложен алгоритм проектирования реляционных баз данных,
совмещающий оба метода.

3.1. Метод нормальных форм


Основоположником теории нормальных форм (Normal
Form) является Э. Кодд. В соответствие с этой теорией все
отношения можно классифицировать по принципу наличия
тех или иных аномалий модификации. Сначала Кодд дал опре-
деление первым трем нормальным формам (1НФ, 2НФ и 3НФ).
Позднее была введена Бойса-Кодда нормальная форма (БКНФ),
а затем были определены четвертая и пятая нормальные фор-
мы. Как показывает рис. 3.1, эти нормальные формы являются
вложенными. То есть, например, отношение в БКНФ находится
одновременно в 3НФ, 2НФ и 1НФ.
В 1981 году Р. Фагин (R. Fagin) ввел новую нормальную
форму, которую он назвал доменно-ключевой нормальной
формой, или ДКНФ (Domain/Key Normal Form, DK/NF). В своей
важной статье Фагин показал, что отношение в ДКНФ свободно
от всех аномалий модификации, независимо от их типа. Он
также показал, что любое отношение, свободное от аномалий
модификации, должно находиться в ДКНФ. К сожалению, как
показывает практика проектирования реляционных БД, прак-
тическая значимость этого результата близка к нулю, так как
отсутствуют какие-либо алгоритмы приведения произвольно-
го отношения к ДКНФ.
В методе нормальных форм большое значение имеет
фундаментальное понятие зависимости между атрибутами
отношения. Вывод о существовании той или иной зависимости
между атрибутами отношения (отношений) делается на осно-
вании анализа зависимостей между соответствующими пара-

98
метрами объектов и/или процессов предметной области, мо-
делью которой является проектируемая БД.

Рис. 3.1. Диаграмма нормальных форм


Рассмотрим основные виды зависимостей между атрибу-
тами отношений.

3.2. Функциональная зависимость


Дадим определение функциональной зависимости.
Совокупность атрибутов В функционально зависит от со-
вокупности атрибутов А: A → B, если каждому значению А
соответствует ровно одно значение В.

99
Графическое представление функциональной зависимо-
сти (ФЗ) приведено на рис. 3.2.

A B

Рис. 3.2. Графическое представление ФЗ


Рассмотрим пример из раздела 2.4. В результате анализа
предметной области была выделена сущность Преподаватель.
Так как для сущности Преподаватель значения всех атрибутов
могли повторяться, то отсутствовал простой возможный ключ.
Поэтому для сущности Преподаватель был добавлен атрибут
номер преподавателя, значения которого не могут повторяться:
Преподаватель (номер преподавателя, Ф. И. О, должность).
Атрибут номер преподавателя является первичным клю-
чом сущности Преподаватель.
Каждому номеру преподавателя соответствует ровно од-
но значение Ф. И. О. Следовательно, атрибут Ф. И. О функцио-
нально зависит от атрибута номер преподавателя, то есть
имеет место номер преподавателя → Ф. И. О. Заметим, что одно
и то же значение Ф. И. О могут иметь разные преподаватели, то
есть обратной ФЗ не существует. Аналогично показывается,
что номер преподавателя → должность при условии недопу-
стимости совместительства, и обратной ФЗ не существует.
Функциональные зависимости для отношения Преподаватель
представлены на рис. 3.3.

Ф. И. О.
Номер
преподавателя
должность

Рис. 3.3. Функциональные зависимости


для отношения Преподаватель
Помимо рассмотренных функциональных зависимостей
для отношения Преподаватель существуют и другие, напри-

100
мер, (номер преподавателя, Ф. И. О.) → должность, (номер
преподавателя, должность) → Ф. И. О. Однако, как будет
показано ниже, две последние функциональные зависимости
следуют из функциональных зависимостей, представленных
на рис. 3.3. Функциональные зависимости (номер преподава-
теля, Ф. И. О.) → должность и (номер преподавателя, долж-
ность) → Ф. И. О. для отношения Преподаватель являются
избыточными.
Избыточной функциональной зависимостью отношения
называется ФЗ, следующая из других ФЗ этого же отношения.
Минимальным покрытием называется совокупность
всех ФЗ отношения, не содержащая избыточные ФЗ.

3.3. Правила вывода


Для нахождения минимального покрытия из всей сово-
купности ФЗ отношения необходимо исключить избыточные
ФЗ. Для нахождения избыточных ФЗ применяются ниже сле-
дующие правила вывода. Везде далее в правилах вывода и
примерах A, B, C, D, E, X — атрибут или совокупность атрибутов.
Символом отмечены избыточные ФЗ.
1. Рефлексивность.
Для любого X ФЗ X → X является избыточной (рис. 3.4).

X X

Рис. 3.4. Графическое представление


рефлексивности
2. Транзитивность.
Для любых A, B, C из ФЗ A → B и B → C следует ФЗ A → C
(рис. 3.5).

A B C

Рис. 3.5. Графическое представление


транзитивности

101
Используя это правило вывода, найдем минимальное по-
крытие для совокупности ФЗ, состоящей из следующих ФЗ
(рис. 3.6):
1. A → C;
2. A → B;
3. B → C;
4. A → D;
5. D → B;
6. D → C

1
2 3
A B C
4 5 6
D

Рис. 3.6. Иллюстрация применения


транзитивности
ФЗ 1 является избыточной, так как она следует из ФЗ 2 и
ФЗ 3. После исключения ФЗ 1 заметим, что ФЗ 2 является из-
быточной, так как она следует из ФЗ 4 и ФЗ 5. После исключе-
ния ФЗ 1 и ФЗ 2 заметим, что ФЗ 6 является избыточной, так
как она следует из ФЗ 5 и ФЗ 3.
В результате исключения избыточных зависимостей по-
лучим минимальное покрытие для совокупности ФЗ на рис. 3.6
(рис. 3.7).

A D B C

Рис. 3.7. Минимальное покрытие


для совокупности ФЗ на рис. 3.6
3. Расширение.
Для любых A, B, X из ФЗ A → B следует ФЗ A, X → B
(рис. 3.8).

102
A B

Рис. 3.8. Графическое представление


транзитивности
4. Пополнение.
Для любых A, B, X из ФЗ A → B следует ФЗ A, X → B, X
(рис. 3.9).

A B

Рис. 3.9. Графическое представление


пополнения
5. Декомпозиция.
Для любых A, B, C из ФЗ A → B, C следуют ФЗ A → B и
A → C (рис. 3.10).

B
A
C

Рис. 3.10. Графическое представление


декомпозиции
6. Объединение.
Для любых A, B, C из ФЗ A → B и A → C следует ФЗ A → B, C
(рис. 3.11).

103
B
A
C

Рис. 3.11. Графическое представление


пополнения
7. Псевдотранзитивность.
Для любых A, B, X из ФЗ A → B и B, X → C следует ФЗ то
A, X → C (рис. 3.12)

A B C

Рис. 3.12. Графическое представление


псевдотранзитивности
Используя правила вывода найдем минимальное покрытие
для совокупности ФЗ, состоящей из следующих ФЗ (рис. 3.13):
1. A → C;
2. A → B, E;
3. B → C;
4. A → D;
5. D → E;
6. B, E → C.
ФЗ 1 является избыточной, так как она следует из ФЗ 2 и
ФЗ 6 по правилу 2 (транзитивность). После исключения ФЗ 1
заметим, что ФЗ 6 является избыточной, так как она следует из
ФЗ 3 по правилу 3 (расширение). После исключения ФЗ 6 полу-
чим следующую совокупность ФЗ (рис. 3.14).

104
1

2 3
A B C
4
5 6
D E

Рис. 3.13. Исходная совокупность ФЗ

2 3
A B C
4
5
D E

Рис. 3.14. Совокупность ФЗ


после удаления ФЗ 1 и ФЗ 6
ФЗ 2 по правилу 5 (декомпозиция) заменим на две ФЗ
(рис. 3.15):
2а. A → B;
2б. A → E.

2а 3
A B C

4
5
D E

Рис. 3.15. Совокупность ФЗ


после применения правила 5
ФЗ 2б является избыточной, так как она следует из ФЗ 4
и ФЗ 5 по правилу 2 (транзитивность). После исключения ФЗ
2б получим минимальное покрытие для совокупности ФЗ на
рис. 3.13 (рис. 3.16).

105
2а 3
A B C
4
5
D E

Рис. 3.16. Минимальное покрытие


для совокупности ФЗ на рис. 3.13

3.4. Бойса-Кодда нормальная форма


Для определения Бойса-Кодда нормальной формы
(БКНФ) нам потребуется понятие детерминант ФЗ.
A называется детерминантом ФЗ A → B, если B функци-
онально не зависит от любого подмножества атрибутов A.
Напомним, что A в ФЗ является атрибутом или совокуп-
ностью атрибутов. Если A один атрибут, то он является детер-
минантом ФЗ A → B. Если A совокупность атрибутов, то под
подмножеством атрибутов в определении понятия детерми-
нант подразумевается любая совокупность атрибутов из A,
отличная от A. То есть A здесь не является подмножеством
самого себя. Теперь мы можем дать определение БКНФ.
Отношение находится в БКНФ, если каждый детерминант
ФЗ является возможным ключом.
Проверим, находится ли отношение Преподаватель из
раздела 3.1 (рис. 3.3) в БКНФ. Минимальное покрытие для этого
отношения, как было рассмотрено, состоит из двух ФЗ: (номер
преподавателя) → Ф. И. О. и (номер преподавателя) → долж-
ность. Детерминантом этих ФЗ является номер преподавателя.
Возможным ключом отношения Преподаватель является номер
преподавателя. Так как детерминант является возможным
ключом, то отношение Преподаватель находится в БКНФ.

3.5. Алгоритм проектирования


методом нормальных форм
При проектировании БД методом нормальных форм ос-
новной целью является достижение определенной степени
нормализации отношений БД. Отношения, находящиеся

106
в недостаточной степени нормализации, разбиваются на два
или более отношений, находящихся в более высокой нормаль-
ной форме. В этой связи необходимо отметить, что помимо уже
упомянутой цели проектирования, которая состоит в устране-
нии аномалий модификации, важной целью проектирования
БД является уменьшение числа отношений БД. Дело в том, что
увеличения числа отношений с целью устранения аномалий
модификации ведет к повышению сложности запросов и при-
ложений БД. Нетрудно заметить, что рассмотренные здесь
цели проектирования являются противоречивыми. На практи-
ке достигается определенный компромисс. Так при практиче-
ском проектировании и разработке БД обычно рекомендуется
ограничиться 3НФ или БКНФ.
Заметим, что в результате перехода к более высоким
нормальным формам БД может стать неадекватной соответ-
ствующей предметной области, например, за счет потери ин-
формации о связях между характеристиками объектов или
процессов, значения которых предполагается хранить в БД.
Пример потери информации о связях между характеристиками
объектов в результате перехода к 4НФ рассмотрен ниже в
разделе 3.8.
Алгоритм проектирования методом нормальных форм
принято также называть алгоритмом декомпозиции. Он состо-
ит из следующих шагов:
1. Разработать универсальное отношение.
2. Определить ФЗ, образующие минимальное покрытие,
и их детерминанты на основе принятых соглашений и огра-
ничений.
3. Определить, находиться ли отношение в БКНФ.
4. Если пункт 3 выполнен, то проектирование закончено.
В противном случае между атрибутами или совокупностями
атрибутов отношения существуют ФЗ, детерминанты которых
не являются возможными ключами. В этом случае необходимо
осуществить декомпозицию (разбиение) этого отношения на
два в соответствие со следующими рекомендациями.
Выбрать ФЗ, детерминант которой не является возмож-
ным ключом. Если таких ФЗ несколько, и они образуют цепочки
вида A → … → C → D, то рекомендуется начать с ФЗ, являющейся

107
последней в цепочке. В нашем примере это ФЗ C → D. Если цепо-
чек ФЗ нет, то начать можно с любой ФЗ.
После того, как выбрана ФЗ, детерминант которой не
является возможным ключом, осуществить декомпозицию
этого отношения, то есть заменить это отношение на два
отношения следующим образом. Первое отношение получить
из исходного путем удаления всех атрибутов зависимой части
выбранной ФЗ. Во второе отношение включить все атрибуты
выбранной ФЗ. Таким образом, детерминант выбранной ФЗ
будет входить в оба отношения и может быть использован
для связи между ними.
Например, пусть A, B, C, D, E — атрибут или совокупность
атрибутов. Тогда, если между атрибутами отношения R (A, B, C,
D, E, …) существует ФЗ C → D, детерминант которой C не явля-
ется возможным ключом отношения R, то отношение R необ-
ходимо заменить на два отношения R1 (A, B, C, E, …), R2 (C, D).
5. Для каждого нового отношения перейти к пункту 2.
В результате исполнения этого алгоритма получается со-
вокупность связанных отношений, находящихся в БКНФ.

3.6. Проектирование БД начальника отдела


В качестве примера проектирования БД методом нор-
мальных форм рассмотрим проектирование БД начальника
отдела, которая предназначена для поквартальной оценки
результатов работы каждого сотрудника отдела.
Универсальное отношение в этом случае может иметь,
например, вид:
Оценка (номер сотрудника, Ф. И. О., телефон,
лаборатория, проект, квартал, рейтинг).
Примем следующие соглашения:
1. Каждый номер сотрудника однозначно определяет со-
трудника, но сотрудники могут быть полными тезками.
2. Каждый сотрудник работает в одной лаборатории, но
в одной лаборатории может работать несколько сотрудников.
3. Каждый телефонный номер однозначно определяет
лабораторию, и наоборот, каждой лаборатории соответствует
один телефонный номер.
108
4. Каждый сотрудник может принимать участие в реали-
зации нескольких проектов, и один проект может реализовы-
ваться несколькими сотрудниками.
5. Рейтинг является оценкой работы определенного со-
трудника в определенном проекте за определенный квартал.
При принятых соглашениях возможным, а, следователь-
но, первичным ключом универсального отношения является
совокупность атрибутов номер сотрудника, проект, квартал.
Фрагмент заполненного универсального отношения
Оценка представлен в табл. 3.1.
Таблица 3.1
Фрагмент заполненного
универсального отношения Оценка
Номер Ф. И. О. Телефон Лабора- Проект Квартал Рейтинг
сотруд- тория
ника
289 Иванов 5-17 25АП РКТ14 1990.3 3
289 Иванов 5-17 25АП Зенит 1990.3 5
289 Иванов 5-17 25АП ВКТ14 1990.4 2
289 Иванов 5-17 25АП ВТА2 1990.4 4
315 Николаев 8-29 4КТ ВКТ14 1990.3 6
315 Николаев 8-29 4КТ ВТА8 1990.4 7
315 Николаев 8-29 4КТ ВКТ14 1990.4 8
429 Андреев 5-17 25АП Зенит 1990.3 2
429 Андреев 5-17 25АП ОТР6 1990.4 7
429 Андреев 5-17 25АП ВКТ14 1990.4 4
559 Зайцев 4-85 14ММ ОВ77 1990.3 6

Заметим, что это отношение будет иметь аномалии мо-


дификации, обусловленные избыточным дублированием.
Кроме того, если в отделе появляется новый сотрудник, то
информацию о нем необходимо внести в БД. При этом значе-
ние атрибутов проект, квартал и рейтинг будут пустыми. Как
отмечалось ранее, пустые значения атрибутов также являются
признаком наличия аномалии модификации. Предположим,
что универсальное отношение использовано в качестве един-
ственного отношения БД. При реализации БД средствами СУБД
отношению будет соответствовать таблица Оценка, фрагмент
которой представлен в табл. 3.1.

109
Пусть в таблицу Оценка добавлена новая запись о со-
труднике Сорокине с пустыми значениями атрибутов
(табл. 3.2). Какой результат будет получен для следующего
запроса: «Вывести номера и фамилии сотрудников, рейтинг
которых не более 2»? Как будет интерпретировано значение
незаполненного числового поля рейтинг при исполнении
этого запроса? В отличии таблицы на листе бумаги память
компьютера не может быть «пустой». Скорее всего, в результа-
те интерпретации двоичных кодов области памяти, соответ-
ствующей полю рейтинг, для сотрудника Сорокина будет
получен 0, и только что принятый на работу Сорокин попадет в
так называемый «черный список» (табл. 3.3).
Таблица 3.2
Фрагмент таблицы БД
в случае использования одного отношения
Номер Ф. И. О. Телефон Лабора- Проект Квартал Рейтинг
сотруд- тория
ника
289 Иванов 5-17 25АП РКТ14 1990.3 3
289 Иванов 5-17 25АП Зенит 1990.3 5
289 Иванов 5-17 25АП ВКТ14 1990.4 2
289 Иванов 5-17 25АП ВТА2 1990.4 4
315 Николаев 8-29 4КТ ВКТ14 1990.3 6
315 Николаев 8-29 4КТ ВТА8 1990.4 7
315 Николаев 8-29 4КТ ВКТ14 1990.4 8
429 Андреев 5-17 25АП Зенит 1990.3 2
429 Андреев 5-17 25АП ОТР6 1990.4 7
429 Андреев 5-17 25АП ВКТ14 1990.4 4
559 Зайцев 4-85 14ММ ОВ77 1990.3 6
684 Сорокин 5-17 25AП – – –

Таблица 3.3
Список работников,
рейтинг которых не более 2
Номер Ф. И. О.
сотрудника
289 Иванов
429 Андреев
684 Сорокин

110
В данном случае на простой запрос получен неверный
ответ. Этот неверный ответ является следствием аномалии
добавления.
Избыточное дублирование чревато тем, что при обнов-
лении данных обновлению подвергнется только часть дан-
ных. Предположим, возникает следующая ситуация.
Начальник отдела встречает Иванова и спрашивает его: «Где
Вы были последнее время? Я в течении часа вам звонил,
и никто не брал трубку». А Иванов ему отвечает: «Отдел связи
сменил вчера номер на 9-17». Начальник отдела приходит к
себе в кабинет и меняет во всех записях телефон Иванова на
9-17. Через некоторое время ему необходимо позвонить в
лабораторию 25AП, а телефон он не помнит. В результате
исполнения запроса «Вывести все не повторяющиеся записи
со значением поля лаборатория равным 25AП получает ответ:
9-17 и 5-17. По какому номеру звонить, если каждой лабора-
тории соответствует только один номер телефона? Появле-
нию противоречивых данных в этом примере способствовала
аномалия обновления.
Предположим, что финансирование проекта 0В77 пре-
кратилось и начальник удаляет все соответствующие записи.
Так как в табл. 3.2 имеется только один кортеж с номером
сотрудника 559 (это сотрудник Зайцев), который выполнял
работу только по проекту 0В77, то произойдет удаление запи-
си о сотруднике Зайцеве. Фактически теряется вся информа-
цию о данном сотруднике. Рассмотренная проблема является
следствием аномалии удаления.
Таким образом, универсальное отношение Оценка имеет
аномалии модификации и подлежит декомпозиции. Воспользу-
емся алгоритмом проектирования методом нормальных форм.
В соответствии с принятыми соглашениями минималь-
ное покрытие для отношения Оценка состоит из следующих ФЗ
(рис. 3.17).
Из соглашения 1 следует ФЗ номер сотрудника → Ф. И. О.
Из соглашения 2 следует ФЗ номер сотрудника → лаборатория.
Из соглашения 3 следуют ФЗ телефон → лаборатория и лабо-
ратория → телефон. Из соглашения 3 следуют ФЗ номер со-
трудника, проект, квартал → рейтинг.

111
номер Ф. И. О.
сотрудника

лаборато- телефон
проект рия

квартал рейтинг

Рис. 3.17. Минимальное покрытие


для отношения Оценка
Определим, находится ли данное отношение в БКНФ.
Детерминанты ФЗ:
— номер сотрудника;
— лаборатория;
— телефон;
— номер сотрудника, проект, квартал.
Возможные ключи: номер сотрудника, проект, квартал.
Так как есть детерминанты ФЗ, не являющиеся возмож-
ными ключами, то отношение Оценка не находится в БКНФ.
Заметим, что в минимальном покрытии присутствует це-
почка зависимостей номер сотрудника → лаборатория →
телефон, детерминанты которых не являются возможными
ключами. Выберем ФЗ лаборатория → телефон и заменим
отношение Оценка на два отношения: R (номер сотрудника,
Ф. И. О., лаборатория, проект, квартал, рейтинг) и Рабочее
место (лаборатория, телефон).
Определим, находится ли отношение R в БКНФ.
Минимальное покрытие для отношения R состоит из сле-
дующих ФЗ: номер сотрудника → Ф. И. О., номер сотрудника →
лаборатория и номер сотрудника, проект, квартал → рейтинг
(рис. 3.18).
Детерминанты ФЗ:
— номер сотрудника;
— номер сотрудника, проект, квартал.
112
Возможные ключи: номер сотрудника, проект, квартал.

номер Ф. И. О.
сотрудника

лаборатория
проект

квартал рейтинг

Рис. 3.18. Минимальное покрытие


для отношения R
Так как есть детерминант ФЗ, не являющийся возмож-
ным ключом, то отношение R не находится в БКНФ.
С целью уменьшения числа ФЗ, детерминанты которых
не являются возможными ключами, по правилу вывода 6 (объ-
единение) заменим ФЗ номер сотрудника → Ф. И. О. и номер
сотрудника → лаборатория на ФЗ номер сотрудника → Ф. И. О.,
лаборатория. Получим другое минимальное покрытие для
отношения R: номер сотрудника → Ф. И. О., лаборатория и
номер сотрудника, проект, квартал → рейтинг (рис. 3.19).

номер Ф. И. О.
сотрудника

лаборатория
проект

квартал рейтинг

Рис. 3.19. Другое минимальное покрытие


для отношения R

113
После замены ФЗ детерминанты и возможные ключи не
изменились. Отношение R по-прежнему не находится в БКНФ,
так как детерминант ФЗ номер сотрудника → Ф. И. О., лаборато-
рия не является возможным ключом. Заменим отношение R на
два отношения: Результат (номер сотрудника, проект, квартал,
рейтинг) и Сотрудник (номер сотрудника, Ф. И. О., лаборатория).
Определим, находится ли отношение Результат в БКНФ.
Минимальное покрытие для этого отношения состоит из од-
ной ФЗ номер сотрудника, проект, квартал → рейтинг, детер-
минант которой является возможным ключом. Следовательно,
отношение находится в БКНФ. Фрагмент отношения Резуль-
тат представлен в табл. 3.4.
Таблица 3.4
Фрагмент
отношения Результат
Номер Проект Квартал Рейтинг
сотрудника
289 РКТ14 1990.3 3
289 Зенит 1990.3 5
289 ВКТ14 1990.4 2
289 ВТА2 1990.4 4
315 ВКТ14 1990.3 6
315 ВТА8 1990.4 7
315 ВКТ14 1990.4 8
429 Зенит 1990.3 2
429 ОТР6 1990.4 7
429 ВКТ14 1990.4 4
559 ОВ77 1990.3 6

Определим, находится отношение Сотрудник в БКНФ.


Минимальное покрытие для этого отношения состоит из од-
ной ФЗ номер сотрудника → Ф. И. О., лаборатория, детерми-
нант которой является возможным ключом. Следовательно,
отношение Сотрудник находится в БКНФ.
Отношение Рабочее место находится в БКНФ, так как оба
его атрибута являются детерминантами ФЗ и возможными
ключами.
Таким образом, БД начальника отдела будет состоять из
трех отношений, каждое из которых находится в БКНФ. Фраг-
менты этих отношений представлены в табл. 3.4, 3.5 и 3.6.

114
Таблица 3.5
Фрагмент
отношения Сотрудник
Номер Ф. И. О. Лаборатория
сотрудника
289 Иванов 25АП
315 Николаев 4КТ
429 Андреев 25АП
559 Зайцев 14ММ
684 Сорокин 25АП

Таблица 3.6
Фрагмент
отношения Рабочее место
Лаборатория Телефон
25АП 5–17
4КТ 8–29
14ММ 4–85

Нетрудно проверить, что в результате применения алго-


ритма проектирования методом нормальных форм в БД
начальника отдела устранены все аномалии модификации,
о которых говорилось выше.

3.7. Четвертая нормальная форма


Зависимость между атрибутами может быть многосвязной.
Совокупность атрибутов B находится в многосвязной за-
висимости от совокупности атрибутов A, если одному значе-
нию A может соответствовать несколько значений B и одному
значению B — несколько значений A.
Заметим, что если B многосвязно зависит от A, то и A
многосвязно зависит от B. В этом случае зависимость будем
записывать так:
A ⇔ B.
В случае наличия многосвязных зависимостей между ат-
рибутами отношения с целью его нормализации некоторые
авторы рекомендуют переход к 4НФ. 4НФ определяется следу-
ющим образом.
115
Отношение находится в 4НФ, если оно содержит не более
одной многозначной зависимости, а атрибуты, не участвующие
в многозначной зависимости функционально зависят от атри-
бутов многозначной зависимости.
Для перехода к 4НФ рекомендуется осуществить замену
отношения, не находящегося в 4НФ, на два отношения: первое
отношение получить из исходного путем удаления атрибутов
одной из зависимых частей многосвязной зависимости, второе
отношение составить из всех атрибутов этой многосвязной
зависимости.
Автором была выдвинута гипотеза: между атрибутами
одной сущности не может быть многозначных зависимостей.
В соответствии с этой гипотезой при проектировании реляци-
онной базы данных нет необходимости в использовании нор-
мальных форм четвертого порядка и выше, и можно
использовать алгоритм проектирования, рассмотренный в
следующем разделе. Более того там же показано, что в некото-
рых случаях переход к 4НФ и выше может привести к наруше-
нию целостности данных (потере связи). Заметим, что даже те
авторы, которые для иллюстрации нормальных форм высоко-
го порядка рассматривают примеры нормализации с использо-
ванием 4НФ и выше, тут же оговариваются, что на практике
обычно ограничиваются структурой БД, соответствующей 3НФ
или БКНФ.

3.8. Алгоритм проектирования


реляционной БД,
совмещающий ER-метод
и метод нормальных форм
Рассмотрим алгоритм проектирования реляционной БД,
совмещающий ER-метод и метод нормальных форм (рис. 3.20).
На этапе задания универсального отношения необходимо
определить, какие характеристики объектов заданной пред-
метной области должны храниться в базе данных. Перечень
атрибутов универсального отношения определяется задачами,
которые предполагается решать с использованием проектиру-
емой базы данных.

116
Начало Не_БКНФ
отношение

Задание
универсального Определить
отношения детерминанты
функциональных
зависимостей (ДФЗ)
Определение и возможные ключи (ВК)
сущностей

Формулировка Да Не каждый Нет


соглашений ДФЗ является
и ограничений ВК
Декомпозиция
отношения
Определение
связей и их
характеристик По всем
отношениям

Создание
отношений Не_БКНФ
по правилам отношение
ER-метода

По всем
По всем отношениям
отношениям

Не_БКНФ
отношение Возврат

По всем
отношениям

Конец

Рис. 3.20. Алгоритм проектирования реляционных баз данных

117
На этапе определения сущностей атрибуты универ-
сального отношения разбиваются на группы в соответствии
с объектами заданной предметной области. Каждому объек-
ту соответствует сущность с некоторым набором атрибутов
из универсального отношения, при этом каждый атрибут
принадлежит одной сущности. Экземпляру объекта пред-
метной области с определенными значениями характери-
стик соответствует экземпляр сущности с такими же
значениями соответствующих атрибутов. На этом этапе
также определяются или добавляются первичные ключи
сущностей.
На этапе формулировки соглашений и ограничений
принимаются определенные соглашения по каждому из атри-
бутов (множество значений, возможность повторения значе-
ния и т. д.) и по связям между экземплярами различных
сущностей.
На этапе определения связей и их характеристик на ос-
нове принятых ранее соглашений определяется количество
сущностей, участвующих в каждой связи, степень связи и класс
принадлежности для каждой сущности. Результатом реализа-
ции этого этапа является инфологическая модель проектируе-
мой базы данных.
На следующем этапе в результате применения правил
ER-метода создается совокупность связанных отношений
проектируемой базы данных.
Далее для каждого отношения определяется, находится
ли оно в БКНФ. Для этого используется рекурсивный подчи-
ненный алгоритм Не_БКНФ.
На наш взгляд, Бойса-Кодда нормальная форма — опти-
мальный уровень нормализации. Во-первых, существует чет-
кий алгоритм приведения отношений к БКНФ. Во-вторых,
приведение к нормальной форме более высокого порядка
может привести к нарушению целостности данных (потере
связи).
Это утверждение проиллюстрируем примером.
Рассмотрим предметную область, связанную с пожелани-
ями преподавателей по проведению занятий по дисциплинам в
определенных аудиториях (см. раздел 2.5).

118
Универсальное отношение в этом случае может, напри-
мер, иметь вид:
Пожелания (Ф. И. О., должность, кафедра,
наименование, направление, семестры,
номер аудитории, тип,
количество мест, оборудование)
В результате анализа предметной области определения и
добавления первичных ключей получим три сущности:
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра).
Дисциплина (код дисциплины, наименование,
направление, семестры).
Аудитория (номер аудитории, тип,
количество мест, оборудование).
Подчеркиванием выделен первичный ключ соответству-
ющей сущности. Эти сущности связаны трехсторонней связью
желает преподавать. Заметим, что эту связь нельзя заменить
бинарными связями.
Примем следующие соглашения:
1. Один преподаватель может желать преподавать не-
сколько дисциплин в нескольких аудиториях.
2. Одну дисциплину несколько преподавателей могут
желать преподавать в нескольких аудиториях.
3. В одной аудитории несколько преподавателей могут
желать преподавать несколько дисциплин.
Из этих соглашений следует, что:
— несколько экземпляров сущности Преподаватель свя-
зано с одним экземпляром сущности Дисциплина и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Преподаватель больше 1;
— несколько экземпляров сущности Дисциплина связано
с одним экземпляром сущности Преподаватель и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Дисциплина больше 1;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Преподаватель

119
и с одним экземпляром сущности Дисциплина. Следовательно,
степень связи сущности Аудитория больше 1.
Класс принадлежности для сущностей в этом случае
неважен.
Фрагмент заполненного универсального отношения
(без учета добавленных атрибутов) для этого случая пред-
ставлен в табл. 3.7, ER-диаграмма при условии необязатель-
ных классов принадлежности для всех трех сущностей — на
рис. 3.21.

Дисциплина

М Желает М
Преподаватель Аудитория
преподавать

Рис. 3.21. ER-диаграмма


В этом случае необходимо применить правило 19 из раз-
дела 2.6.
В соответствии с этим правилом необходимо создать
следующие 4 отношения:
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра),
Дисциплина (код дисциплины, наименование,
направление, семестры),
Аудитория (номер аудитории, тип,
количество мест, оборудование),
П_Д_А (номер преподавателя,
код дисциплины, номер аудитории).
Фрагменты заполненных отношений для этого случая
представлены в табл. 3.8–3.11.

120
Таблица 3.7
Фрагмент
универсального отношения
Ф. И. О.Должность Кафедра Наименование Направ- Семестры Номер Тип Коли- Оборудование
ление аудито- чество
рии мест
Иванов Доцент ИВТ Программиро- МОАИС 1, 2 41 Лаборатория 12 Компьютеры
вание
Иванов Доцент ИВТ Программиро- МОАИС 1, 2 36 Лекционная 40 Проектор
вание
Иванов Доцент ИВТ Архитектура МОАИС 2 62 Универсальная 30 Компьютеры,
компьютера проектор
Петров Профессор ИВТ Архитектура МОАИС 2 36 Лекционная 40 Проектор
компьютера
Петров Профессор ИВТ Архитектура МОАИС 2 62 Универсальная 30 Компьютеры,
компьютера проектор
Сидоров Доцент ИВТ Базы данных МОАИС 3 53 Лекционная 50 Доска

Сидоров Доцент ИВТ Базы данных МОАИС 3 62 Универсальная 30 Компьютеры,


проектор
Сидоров Доцент ИВТ Программиро- МОАИС 1, 2 62 Универсальная 30 Компьютеры,
вание проектор
Таблица 3.8
Фрагмент
отношения Преподаватель
Номер Ф. И. О. Должность Кафедра
преподавателя
1 Иванов Доцент ИВТ
2 Петров Профессор ИВТ
3 Сидоров Доцент ИВТ

Таблица 3.9
Фрагмент
отношения Дисциплина
Код Наименование Направление Семестры
дисциплины
П12 Программиро- МОАИС 1, 2
вание
А2 Архитектура МОАИС 2
компьютера
Б3 Базы данных МОАИС 3

Таблица 3.10
Фрагмент
отношения Аудитория
Номер аудито- Тип Количество Оборудование
рии мест
41 Лаборатория 12 Компьютеры
36 Лекционная 40 Проектор
62 Универсальная 30 Компьютеры,
проектор
53 Лекционная 50 Доска

Таблица 3.11
Фрагмент
отношения П_Д_А
Номер Код Номер
преподавателя дисциплины аудитории
1 П12 41
1 П12 36
1 А2 62

122
Окончание табл. 3.11
Номер Код Номер
преподавателя дисциплины аудитории
2 А2 36
2 А2 62
3 Б3 53
3 Б3 36
3 П12 62

Все 4 отношения находятся в БКНФ.


Рассмотрим подробнее отношение П_Д_А.
Это отношение содержит только многосвязные зави-
симости:
номер преподавателя ⇔ код дисциплины,
код дисциплины ⇔ номер аудитории,
номер преподавателя ⇔ номер аудитории.
Для нормализации отношений с многосвязными зависи-
мостями может быть использована нормальная форма четвер-
того порядка (4НФ). Отношение П_Д_А не находится в 4НФ.
В результате декомпозиции этого отношения получим, напри-
мер, два отношения П_Д и Д_А:
П_Д (номер преподавателя, код дисциплины),
Д_А (код дисциплины, номер аудитории),
которые находятся в 4НФ. Фрагменты этих отношений пред-
ставлены в табл. 3.12 и 3.13.
Таблица 3.12
Фрагмент
отношения П_Д
Номер Код
преподавателя дисциплины
1 П12
1 А2
2 А2
3 Б3
3 П12

123
Таблица 3.13
Фрагмент
отношения Д_А
Код Номер
дисциплины аудитории
П12 41
П12 36
А2 62
А2 36
Б3 53
Б3 36
П12 62

Однако в результате декомпозиции исказилась информа-


ция о трехсторонней связи. По сути, осуществлен переход к
бинарным связям. В результате этого перехода инфологиче-
ская модель становиться неадекватной рассмотренной пред-
метной области. В самом деле, в результате естественного
соединения отношений П_Д и Д_А получим отношение, фраг-
мент которого представлен в табл. 3.14.
Таблица 3.14
Фрагмент естественного соединения
отношений П_Д и Д_А
Номер Код Номер
преподавателя дисциплины аудитории
1 П12 41
1 П12 36
1 П12 62
1 А2 62
1 А2 36
2 А2 36
2 А2 62
3 Б3 53
3 Б3 36
3 П12 41
3 П12 36
3 П12 62

Этот фрагмент содержит четыре кортежа, которые не со-


ответствуют текущим пожеланиям преподавателей (сравните
с фрагментом отношения П_Д_А). Переход к более высокой по
сравнению с БКНФ нормальной форме привел к ошибке.
Список сокращений
ANSI — American National Standards Institute.
IBM — International Business Machines.
IMS — Information Management System.
1НФ — первая нормальная форма.
2НФ — вторая нормальная форма.
3НФ — третья нормальная форма.
4НФ — четвертая нормальная форма.
5НФ — пятая нормальная форма.
БД — база данных.
БКНФ — Бойса-Кодда нормальная форма.
ДКНФ — доменно-ключевая нормальная форма.
ЖЦБД — жизненный цикл базы данных.
СУБД — система управления базой данных.
ФЗ — функциональная зависимость.
Глоссарий
А
Аномалии модификации — свойства отношения (таб-
лицы), вследствие которых при добавлении, удалении и/или
обновлении данных могут появиться противоречивые данные,
произойти потеря данных и/или нарушение целостности
данных (потеря связи).
Атрибут (Attribute) — характеристика объекта или пара-
метр процесса предметной области. Используется для описа-
ния объекта или явления при разработке и проектировании
БД как составная часть сущности или отношения.

Б
База данных (Database) — самодокументированная,
структурированная совокупность данных предметной области,
предназначенная для решения определенного класса задач.

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

Д
Даталогическая модель — модель БД, зависимая от
СУБД и отражающая предметную область в виде определенной
совокупности данных, связей между ними, способов (алгорит-
мов) их обработки.
Декартовым произведением множеств X1, X2, …, Xn назы-
вается множество упорядоченных кортежей вида {(x1, x2, …, xn)},
где xi ∈ Xi (i = 1..n).

126
Декомпозиция (Decomposition) — замена одного отно-
шения двумя отношениями с целью устранения аномалий
модификации.
Детерминант ФЗ — A называется детерминантом ФЗ
A → B, если B функционально не зависит от любого подмноже-
ства атрибутов A.
Домен (Domain) — множество в декартовом произведе-
нии, множество значений атрибута сущности или отношения,
множество допустимых значений поля таблицы.

З
Запись (Record) — основная единица обработки БД.
В реляционной СУБД под записью понимается строка табли-
цы. В СУБД, отличной от реляционной, запись — это точка
входа в файл, состоящая из индивидуальных элементов дан-
ных, которые в совокупности характеризуют один из аспектов
информации, циркулирующей в системе. Индивидуальные
элементы хранятся в полях записи.

И
Избыточная ФЗ — ФЗ, следующая из других ФЗ этого же
отношения.
Избыточное дублирование данных — дублирование,
при котором удаление дубликатов данных из БД не ведет к
потере информации о предметной области, так как удаленные
данные могут быть восстановлены в результате анализа дан-
ных, оставшихся в БД.
Инфологическая модель — модель БД, ориентирован-
ная на человека и являющаяся моделью предметной области,
не зависимая от СУБД, определяющая совокупности информа-
ционных объектов, их атрибутов и отношений между объекта-
ми, динамику изменений предметной области, а также
характер информационных потребностей пользователей.
Информационная система обработки данных — ин-
формационная система, в которой извлекаемая информация —
не только хранимые данные, но и результаты их обработки.

127
Информация — сведения, снижающие степень неопре-
деленности знания человека об окружающем мире, осмыслен-
ные и используемые данные.

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

М
Минимальное покрытие — совокупность всех ФЗ отно-
шения, не содержащая избыточные ФЗ.
Многомерная БД — база данных, использующая много-
мерную модель данных.
Модель данных — формальная совокупность способов
представления и обработки данных в СУБД.

Н
Нормализация (Normalization) — последовательность
действий, преобразующая отношение к некоторой нормаль-
ной форме.

О
Объектно-ориентированная БД — база данных, исполь-
зующая объектно-ориентированную модель данных.
Отношение (Relation) — подмножество декартового про-
изведения множеств.

П
Первичный ключ (Primary Key) — один из возможных
ключей.

128
Поле (Field) — компонент записи, столбец в таблице.
Предметная область — часть реального мира, информа-
ция об объектах или процессах которой храниться в БД и/или
собирается и обрабатывается информационной системой.

Р
Реляционная БД — база данных, использующая реляци-
онную модель данных; совокупность связанных отношений,
содержащих информацию о предметной области.

С
Связь (Relationship) — зависимость между объектами
или процессами некоторой предметной области, элемент ER-
модели (модели «сущность-связь»).
Система управления базой данных — набор программ-
ных модулей, обычно сочетающий в себе автоматизированные
средства структуризации и манипулирования данными со
средствами управления доступом, восстановления и сохран-
ности информации в многопользовательском окружении.
Степень связи сущности равна максимальному количе-
ству экземпляров этой сущности, связанных с одним экзем-
пляром любой другой сущности N-сторонней связи.
Сущность (Entity) — объект или процесс некоторой
предметной области, элемент ER-модели (модели «сущность-
связь»).

Т
Таблица (Table) — реализация отношения в реляцион-
ной СУБД, способ объединения данных в структуру при ис-
пользовании реляционной модели данных.
Транзакция — одна или более операций, выполняемых
как единое целое. При неудачном выполнении какой-нибудь
операции, транзакция откатывается, то есть отменяет все
изменения, которые внесла в БД.

129
У
Универсальное отношение — исходное для проектиро-
вания БД отношение, которое включает в себя атрибуты, при-
нимающие значения всех параметров объектов и/или
процессов предметной области и содержащее все данные,
которые предполагается хранить в БД.
Управление доступом (Access Control) — возможность
управлять выдачей отдельным пользователям или группам
пользователей полномочий производить поиск, создание,
модифицирование или удаление данных, хранимых в БД.

Ф
Функциональная зависимость — зависимость между
атрибутами или совокупностями атрибутов, при которой каж-
дому значению одной совокупности атрибутов (одному атри-
буту) соответствует ровно одно значение другой совокупности
атрибутов (другого атрибута).
Физическая модель — модель БД низшего (физическо-
го) уровня, отражающая представление данных во внешней
памяти и методы доступа к ним.

Э
Экземпляр сущности — определенный набор значений
атрибутов сущности.
Элемент данных (Data Item) — наименьшая единица
структуры данных, доступная для обработки. В реляционной
БД элемент данных — поле записи.

Я
Язык структурированных запросов (SQL) — стандарт
для реляционных БД, включающий, помимо обработки запро-
сов, соглашения по определению данных, манипулированию
ими, обеспечению управлением доступом.
Список
использованной литературы
и электронных ресурсов
1. Джексон, Г. Проектирование реляционных баз данных
для использования с микроЭВМ / Г. Джексон; пер. с англ. — М.:
Мир, 1991.
2. Кренке, Д. Теория и практика построения баз данных /
Д. Кренке; пер. с англ. — 8-е изд. — СПб.: БХВ-Петербург, 2004.
3. Роб, П. Системы баз данных: проектирование реализа-
ция и управление / П. Роб, К. Коронел; пер. с англ. — 5-е изд.,
перераб. и доп. — СПб.: БХВ-Петербург, 2004.
4. Хомоненко, А. Д. Базы данных: учебник для высших
учебных заведений / А. Д. Хомоненко, В. М. Цыганков, М. Г. Маль-
цев; под ред. проф. А. Д. Хомоненко. — 3-е изд., доп. и перераб. —
СПб.: КОРОНА принт, 2003.
5. Шилин, А. С. Правила проектирования реляционных баз
данных методом cущность-связь в случаях связей порядка выше
второго и не более одной многосвязной сущности / А. С. Шилин
// Информатика и прикладная математика: межвузовский сбор-
ник научных трудов. — 2014. — № 20. — С. 114–140.
6. Шилин, А. С. Правила проектирования реляционных
баз данных методом сущность-связь в случаях связей порядка
выше второго / А. С. Шилин // Информатика и прикладная
математика: межвузовский сборник научных трудов. —
2014. — № 20. — С. 141–158.
7. Шилин, А. С. Алгоритм проектирования реляционных
баз данных, совмещающий метод сущность связь и метод нор-
мальных форм / А. С. Шилин // Информатика и прикладная
математика: межвузовский сборник научных трудов. —
2015. — № 21. — С. 151–158.
8. Шилин, А. С. Практическая нецелесообразность нор-
мальных форм высокого порядка / А. С. Шилин // Информати-
ка и прикладная математика: межвузовский сборник научных
трудов. — 2016. — № 22. — С. 116–122.
9. Шилин, А. С. Понятие кратности связи и его использо-
вание для оптимизации количества отношений при проектиро-
вании реляционных баз данных / А. С. Шилин // Информатика

131
и прикладная математика: межвузовский сборник научных
трудов. — 2019. — № 24. — С. 132–134.
10. Щавелев, Л. В. Оперативная аналитическая обработка
данных: концепции и технологии [Электронный ресурс] /
Л. В. Щавелев. — URL: http://www.olap.ru/basic/olap_and_ida.asp
11. Codd, E. F. Providing OLAP (On-Line Analytical Pro-
cessing) to User-Analysts: An IT Mandate / E. F. Codd, S. B. Codd,
C. T. Salley. — E. F. Codd & Associates, 1993.
Оглавление
Введение .................................................................................................................... 3
Глава 1. Базы данных и модели баз данных .......................................... 5
1.1. Понятие базы данных......................................................................... 5
1.2. Модели данных ......................................................................................6
1.3. Этапы жизненного цикла базы данных.................................... 9
1.4. Модели баз данных ........................................................................... 11
Глава 2. Реляционные базы данных и ER-метод .............................. 15
2.1. Основные понятия метода «сущность-связь» ................... 16
2.2. Характеристики бинарной связи .............................................. 17
2.3. Графические способы представления связей .................... 18
2.4. Правила ER-метода в случае бинарной связи .................... 19
2.5. Правила ER-метода в случае многосторонней связи ..... 36
2.6. Правило ER-метода в случае кратной связи ....................... 93
Глава 3. Комбинированный алгоритм проектирования
реляционных баз данных .............................................................................. 98
3.1. Метод нормальных форм .............................................................. 98
3.2. Функциональная зависимость ................................................... 99
3.3. Правила вывода ............................................................................... 101
3.4. Бойса-Кодда нормальная форма ............................................ 106
3.5. Алгоритм проектирования методом
нормальных форм ................................................................................... 106
3.6. Проектирование БД начальника отдела ............................ 108
3.7. Четвертая нормальная форма ................................................. 115
3.8. Алгоритм проектирования реляционной БД,
совмещающий ER-метод и метод нормальных форм ......... 116
Список сокращений ........................................................................................125
Глоссарий .............................................................................................................126
Список использованной литературы
и электронных ресурсов ..............................................................................131
Издайте свою книгу у нас!
Издательство «Директ-Медиа» публикует учебники, монографии,
литературу NON-FICTION, аудиокниги, новые издания и те, что с годами не
утратили своей актуальности, коллективные научные сборники.

Наше издательство берет свои корни в книгоиздательских традициях и


технологиях Германии. Мы – лидеры современного книгоиздательского
процесса, охватывающего цифровые образовательные платформы для
школ и вузов, издание электронных и печатных книг. Нашу продукцию
отличает высокое полиграфическое качество и высокотехнологичный
процесс продвижения книги.
Наши авторы – ведущие ученые и преподаватели страны. За 20 лет работы в
России нами издано более 10 000 изданий учебной, академической и
научно-популярной литературы.

Приобрести наши книги можно в интернет-магазине DIRECTMEDIA.RU и в


ЭБС «Университетская библиотека онлайн» (BIBLIOCLUB.RU), в книжных и в
интернет-магазинах страны.

Хотите приобрести книгу издательства «Директ-Медиа»


или издать свое произведение?

Мы ждем Вас!
www.directmedia.ru
Email: manager@directmedia.ru
Tel.: 8-800-333-6845 (звонок бесплатный)
Для заметок
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________

Вам также может понравиться