Академический Документы
Профессиональный Документы
Культура Документы
Шилин А С Перспективные Методы Проектирования Реляционных Баз Данных
Шилин А С Перспективные Методы Проектирования Реляционных Баз Данных
Шилин
Перспективные методы
проектирования
реляционных баз данных
Учебное пособие
Москва
Берлин
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
3
по сегодняшним меркам производительностью компьютеров
первых поколений и их очень ограниченными возможностями
по хранению информации. Запоминающие устройства этих
компьютеров, сохраняющие информацию после выключения
электрического питания, отличались от соответствующих запо-
минающих устройств современных компьютеров относительно
небольшим объемом и невысоким быстродействием. Эти огра-
ничения технического характера не позволяли осуществлять
сбор, хранение, обработку и использование больших по объему
совокупностей взаимосвязанных структурированных данных
информационных систем и, следовательно, не позволяли опера-
тивно удовлетворять информационные потребности пользова-
телей в соответствующей предметной области.
Важным шагом в развитии именно информационных си-
стем явился переход к использованию централизованных
систем управления файлами. Однако системы, построенные на
основе файлов данных, имели существенные недостатки: зави-
симость программ от данных, отсутствие централизованных
методов управления доступом к информации, проблема орга-
низации одновременной модификации данных в файле не-
сколькими пользователями. Эти недостатки послужили тем
толчком, который заставил разработчиков информационных
систем предложить новый подход к управлению данными. Он
был реализован в рамках новых программных систем, назван-
ных впоследствии системами управления базами данных
(СУБД). В настоящее время базы данных (БД) и базы знаний *
являются основными элементами информационных систем.
Технические и программные средства компьютерных си-
стем продолжают развиваться. Появляются новые технологии
управления данными, отвечающие возрастающим информаци-
онным потребностям пользователей.
В данном пособии рассматриваются основные понятия
реляционных БД и перспективные методы их проектирования.
Основное внимание уделяется реляционным базам данных как
наиболее перспективным с точки зрения рынка информаци-
онных технологий.
*
Базы знаний являются основными элементами экспертных систем и
в данном пособии не рассматриваются.
Глава 1
Базы данных и модели баз данных
Правильные решения могут быть приняты только на ос-
нове достоверной информации, которую зачастую приходится
извлекать из неупорядоченных данных. Данными можно более
эффективно управлять, если их разместить в базе данных. Она
помогает создать рабочую среду, в которой конечным пользо-
вателям обеспечивается удобный и хорошо управляемый
доступ к данным. В сочетании с инструментальными сред-
ствами, преобразующими данные в удобную форму представ-
ления, это дает возможность конечным пользователям
получать быстрые и информационно емкие решения, что и
определяет успех предприятий и организаций, использующих
информационные системы.
5
данных. Одни и те же данные могут быть представлены в раз-
ной форме в зависимости от потребности пользователя. Права
доступа, способы представления и использования данных
обеспечиваются программной средой в виде системы управле-
ния базой данных (СУБД) и/или приложения базы данных.
База данных с соответствующими приложениями являет-
ся информационной моделью предметной области.
6
страивать всю базу данных, при этом очень трудно использо-
вать такую модель при наличии сложных логических связей.
Вскоре появились системы, использующие сетевую мо-
дель данных, которые были гораздо более гибкими. В сетевых
СУБД схема данных представляется в виде ориентированного
графа (рис. 1.2).
7
с такой архитектурой появились в конце 70-х – начале 80-х
годов прошлого века. В настоящее время такие системы на
мировом рынке СУБД занимают доминирующее положение. По
разным оценкам доля реляционных баз данных составляет не
менее 80 % от всего рынка.
В истории реляционных СУБД стоит отметить появление
в конце 70-х годов прошлого века System R — проекта компа-
нии IBM, доказавшего состоятельность и практичность реля-
ционной модели баз данных. В рамках этой модели был
разработан язык SQL (Structured Query Language) — язык
структурированных запросов, на который опираются почти
все сегодняшние реляционные базы данных. Реляционные
системы управления базами данных представляют собой СУБД
второго поколения.
Важным этапом в развитии и популяризации реляцион-
ной модели является разработка технологии транзакций,
которую в начале 80-х годов прошлого века предложила швед-
ская фирма Mimer.
Транзакция — одна или более операций, выполняемых
как единое целое. При неудачном выполнении какой-нибудь
операции, транзакция откатывается, то есть отменяет все
изменения, которые внесла в БД. Эта схема делает невозмож-
ными, например, такие ситуации, когда при переводе и снятии
со счета суммы она не зачисляется на другой счет.
К СУБД третьего поколения относят системы управления
базами данных, которые используют либо многомерную, либо
постреляционную, либо объектно-ориентированную модель
данных.
Многомерный подход к представлению данных появился
практически одновременно с реляционным, но реально рабо-
тающих многомерных СУБД в первое время было очень мало.
С середины 90-х годов интерес к ним стал приобретать массо-
вый характер.
Толчком к этому в 1993 году послужила программная
статья одного из основоположников реляционного подхода
Э. Кодда. В ней сформулированы 12 основных требований к
системам класса OLAP (OnLine Analytical Processing — опера-
тивная аналитическая обработка), важнейшие из которых
связаны с возможностями концептуального представления
8
и обработки многомерных данных. Многомерные системы
позволяют оперативно обрабатывать информацию для прове-
дения анализа и принятия решения.
Постреляционная модель данных представляет собой
расширенную реляционную модель, снимающую ограничение
неделимости данных, хранящихся в записях таблиц. Она до-
пускает многозначные поля, значения которых состоят из
подзначений. Набор значений многозначных полей считается
самостоятельной таблицей, встроенной в основную таблицу.
В связи с большой популярностью технологий объектно-
ориентированного программирования, а также с все возраста-
ющей сложностью приложений и требований заказчика, в базах
данных стала использоваться объектно-ориентированная мо-
дель данных. Она применяется в основном для создания круп-
ных БД со сложными структурами, где отдельная запись может
представлять собой объект с присущими только ему функциями
обработки.
В связи с рыночными перспективами продуктов, ориен-
тированных на реляционную модель данных, вопросам разра-
ботки и проектирования реляционных БД в пособии будет
уделено особое внимание.
9
связанных интегрированных данных, отражающих информа-
ционные потребности различных категорий пользователей БД.
Способ интегрирования данных определяется выбранной
моделью данных и, как следствие, типом СУБД, планируемой
для реализации БД.
Результат первого этапа существенно зависит от вы-
бранной модели данных. В случае реляционной модели ре-
зультат может быть получен в виде так называемого
универсального отношения — перечня данных, которые долж-
ны храниться в БД. Для каждого данного — атрибута универ-
сального отношения — могут быть приняты соглашения о
множестве значений, возможности повторения значений и
других свойствах. Связи между различными объектами и про-
цессами могут быть отражены с помощью соответствующих
соглашений, например, с использованием элементов модели
«сущность-связь» (модели Чена).
Для приложений БД результат может быть получен в ви-
де эскизов элементов интерфейса: форм, отчетов, веб-
элементов и т. д.
На этом этапе формулируются требования к программ-
ному и аппаратному обеспечению на всех этапах ЖЦБД, а так-
же может оформляться техническое задание на выполнение
работ, которое является основой взаимоотношений между
заказчиком и исполнителем — разработчиком БД с соответ-
ствующими приложениями.
2 этап — проектирование.
Этот этап чрезвычайно важен, так как последствия оши-
бок, допущенных при проектировании, как правило, невозмож-
но устранить на последующих этапах ЖЦБД. Практика
показывает, что многие, если не все, ошибки в плохо спроекти-
рованных системах баз данных не могут устранить даже лучшие
программисты и менеджеры. При этом даже превосходная си-
стема управления базой данных, вероятнее всего, не поможет
разрешить проблемы, порожденные или усиленные плохим
проектированием. Большинство проблем в системах, основан-
ных на БД, возникает из-за плохого проектирования БД.
В процессе эксплуатации (4 этап ЖЦБД) БД и ее прило-
жения должны оставаться адекватными предметной области,
10
моделью которой они являются. Что касается базы данных, то
это требование удовлетворяется путем ее модификации: до-
бавления, удаления и обновления данных. Если БД спроекти-
рована неправильно, то она имеет одну или несколько
аномалий модификации. Вследствие аномалий добавления,
удаления и обновления данных на этапе эксплуатации в БД
могут появиться противоречивые данные, произойти потеря
данных и/или нарушение целостности данных (потеря связи).
Некоторые примеры аномалий модификации реляционной БД
рассмотрены в разделе 3.6.
Основной целью проектирования БД является устране-
ние потенциальных аномалий модификации.
Наиболее подробно и четко разработана теория и прак-
тика проектирования реляционных БД, что наряду с выше
упомянутыми преимуществами способствует их популярности.
3 этап — реализация.
На этом этапе ранее спроектированная БД вместе со сво-
ими приложениями реализуется в соответствующей компью-
терной системе соответствующими средствами: СУБД, языки
программирования, гипертекстовые системы, системы без-
опасности и др. Этот этап завершается сдачей разработанной
системы заказчику.
4 этап — эксплуатация.
Этот этап может начинаться с заполнения БД реальными
данными, если это по каким-либо причинам не было сделано
на предыдущем этапе. Помимо модификации самой БД на этом
этапе также может осуществляться модификация ее приложе-
ний. Как правило, разработчик осуществляет так называемое
сопровождение БД и ее приложений для удовлетворения из-
менившихся требований заказчика и исправления возможных
ошибок.
Внешняя
Уровень
Даталогическая Внешняя
абстракции
Внешняя
Физическая
Контрольные вопросы
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
Исходное отношение, которое включает в себя атрибуты,
принимающие значения всех параметров объектов и/или
процессов предметной области и содержащее все данные,
которые предполагается хранить в БД, называется универ-
сальным отношением.
16
отсутствует первичный ключ. В этом случае для сущности в
качестве возможного и, следовательно, первичного ключа
добавляется атрибут, значения которого не могут повто-
ряться. Первичный ключ сущности будем выделять подчер-
киванием, например: Сотрудник (номер личного дела, Ф. И. О.,
образование).
17
как характеристики сущности являются относительными, так
как в другой связи сущность может участвовать с другими
характеристиками.
18
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
мирование
20
1 1
Преподаватель Преподает Дисциплина
21
Таблица 2.2
Фрагмент универсального отношения
Учебный процесс для случая 2
Номер Ф. И. О. Долж- Код Наимено- Направ- Семестр
препода- ность дисци- вание ление
вателя плины
1 Иванов Доцент П1 Програм- МОАИС 1
мирование
2 Петров Профессор И2 Информа- МОАИС 2
тика
3 Сидоров Доцент П2 Програм- МОАИС 2
мирование
4 Малявин Ассистент – – – –
1 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
вание
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 Малявин Ассистент – – – –
1 1
Преподаватель Преподает Дисциплина
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 М
Преподаватель Преподает Дисциплина
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
и математика вание
30
Таблица 2.12
Фрагмент универсального отношения
Учебный процесс для случая 5
Номер Ф. И. О. Долж- Код Наимено- Направ- Семестр
препода- ность дисци- вание ление
вателя плины
1 Иванов Доцент П1 Програм- МОАИС 1
мирование
2 Петров Профессор И2 Информа- МОАИС 2
тика
3 Сидоров Доцент П2 Програм- МОАИС 2
мирование
4 Малявин Ассистент – – – –
1 М
Преподаватель Преподает Дисциплина
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М
33
Классы принадлежностей для обеих сущностей не важны.
Фрагмент заполненного универсального отношения для этого
случая представлен в табл. 2.16, фрагмент диаграммы ER-
экземпляров — на рис. 2.13, ER-диаграмма — на рис. 2.14 (для
случая необязательных классов принадлежности для обеих
сущностей).
Таблица 2.16
Фрагмент универсального отношения
Учебный процесс для случая 6
Номер Ф. И. О. Долж- Код Наимено- Направ- Семестр
препода- ность дисци- вание ление
вателя плины
1 Иванов Доцент П1 Програм- МОАИС 1
мирование
2 Петров Профессор И2 Информа- МОАИС 2
тика
3 Сидоров Доцент П2 Програм- МОАИС 2
мирование
4 Малявин Ассистент – – – –
34
М М
Преподаватель Преподает Дисциплина
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
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
Преподаватель Аудитория
преподавать
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
Преподаватель Аудитория
преподавать
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
фессор терные
науки
43
экземпляром сущности Преподаватель. Следовательно, сте-
пень связи сущности Аудитория равна 1. Класс принадлежно-
сти сущности Аудитория является необязательным, так как в
соответствии с третьим соглашением не каждый экземпляр
этой сущности участвует в трехсторонней связи.
Фрагмент заполненного универсального отношения (без
учета добавленных атрибутов) для этого случая представлен в
табл. 2.24, ER-диаграмма — на рис. 2.17.
Таблица 2.24
Фрагмент универсального отношения
для случая 9
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
Ива- До- ИВТ Про- МОАИС 1, 2 41 Лабо- 12 Компь-
нов цент грамми- рато- ютеры
рование рия
Петров Про- ИВТ Компью- МОАИС 1 36 Лекци- 40 Проек-
фессор терные онная тор
науки
– – – – – – 42 Лабо- 12 Компь-
рато- ютеры
рия
– – – Компью- МОАИС 1 – – – –
терные веч
науки
Сидо- До- ИВТ – – – – – – –
ров цент
Дисциплина
1 Желает 1
Преподаватель Аудитория
преподавать
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
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 Желает М
Преподаватель Аудитория
преподавать
48
Таблица 2.30
Фрагмент отношения
Аудитория для случая 10
Номер Тип Количество Оборудование Номер
аудитории мест преподавателя
41 Лаборатория 12 Компьютеры 1
36 Лекционная 40 Проектор 2
42 Лаборатория 12 Компьютеры 1
Таблица 2.31
Фрагмент отношения
П_Д для случая 10
Номер Ф. И. О. Долж- Ка- Код Наимено- Направ- Се-
препо- ность фед- дисци- вание ление мест-
давателя ра плины ры
1 Ива- До- ИВТ П12 Про- МОАИС 1, 2
нов цент грамми-
рование
2 Петров Про- ИВТ И1 Компью- МОАИС 1
фессор терные
науки
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 Желает М
Преподаватель Аудитория
преподавать
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
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 Желает М
Преподаватель Аудитория
преподавать
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
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 Желает М
Преподаватель Аудитория
преподавать
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
62
Окончание табл. 2.45
Ф. И. О. Долж- Ка- Наимено- Направ- Се- Номер Тип Коли- Обору-
ность фед- вание ление мест- ауди- чество дование
ра ры тории мест
– – – – – – 62 Универ 30 Компь-
вер- ютеры,
сальная проек-
тор
Дисциплина
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
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 Желает М
Преподаватель Аудитория
преподавать
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 Компью-
рование торное тория теры
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
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 Желает М
Преподаватель Аудитория
преподавать
Занятие
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
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 Желает М
Преподаватель Аудитория
преподавать
Занятие
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
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 Желает М
Преподаватель Аудитория
преподавать
Занятие
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
92
1. Для каждой сущности с необязательным классом при-
надлежности необходимо создать отдельное отношение с
соответствующими атрибутами и первичным ключом.
2. Для каждой многосвязной сущности необходимо со-
здать отдельное отношение с соответствующими атрибутами
и первичным ключом. В случае обязательного класса принад-
лежности многосвязной сущности возможно добавление в
качестве атрибута этого отношения первичного ключа одно-
связной сущности для организации связи.
3. В случае нескольких односвязных сущностей с обяза-
тельным классом принадлежности необходимо создать одно
отношение из атрибутов всех этих сущностей, в качестве пер-
вичного ключа выбрать первичный ключ одной из сущностей.
Если при этом имеется одна или несколько односвязных сущ-
ностей с необязательным классом принадлежности, то их
первичные ключи необходимо добавить в качестве атрибутов
в общее для сущностей с обязательными классами принадлеж-
ностей отношение для организации связей.
93
2. В каждом матче участвуют ровно два футбольных клу-
ба. Следовательно, ровно два экземпляров сущности Футболь-
ный клуб связано с одним экземпляром сущности Матч и
степень связи для сущности Футбольный клуб равна двум,
класс принадлежности для сущности Матч является обяза-
тельным.
Таким образом, между сущностями Футбольный клуб и
Матч имеется связь два ко многим, ER-диаграмма которой
изображена на рис. 2.28.
Футбольный 2 М
Участвует Матч
клуб
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-методом при проектировании реляционных
БД используется метод нормальных форм. В данной главе
изложен алгоритм проектирования реляционных баз данных,
совмещающий оба метода.
98
метрами объектов и/или процессов предметной области, мо-
делью которой является проектируемая БД.
99
Графическое представление функциональной зависимо-
сти (ФЗ) приведено на рис. 3.2.
A B
Ф. И. О.
Номер
преподавателя
должность
100
мер, (номер преподавателя, Ф. И. О.) → должность, (номер
преподавателя, должность) → Ф. И. О. Однако, как будет
показано ниже, две последние функциональные зависимости
следуют из функциональных зависимостей, представленных
на рис. 3.3. Функциональные зависимости (номер преподава-
теля, Ф. И. О.) → должность и (номер преподавателя, долж-
ность) → Ф. И. О. для отношения Преподаватель являются
избыточными.
Избыточной функциональной зависимостью отношения
называется ФЗ, следующая из других ФЗ этого же отношения.
Минимальным покрытием называется совокупность
всех ФЗ отношения, не содержащая избыточные ФЗ.
X X
A B C
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
A D B C
102
A B
A B
B
A
C
103
B
A
C
A B C
104
1
2 3
A B C
4
5 6
D E
2 3
A B C
4
5
D E
2а 3
A B C
2б
4
5
D E
105
2а 3
A B C
4
5
D E
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.
В результате исполнения этого алгоритма получается со-
вокупность связанных отношений, находящихся в БКНФ.
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
номер Ф. И. О.
сотрудника
лаборато- телефон
проект рия
квартал рейтинг
номер Ф. И. О.
сотрудника
лаборатория
проект
квартал рейтинг
номер Ф. И. О.
сотрудника
лаборатория
проект
квартал рейтинг
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
114
Таблица 3.5
Фрагмент
отношения Сотрудник
Номер Ф. И. О. Лаборатория
сотрудника
289 Иванов 25АП
315 Николаев 4КТ
429 Андреев 25АП
559 Зайцев 14ММ
684 Сорокин 25АП
Таблица 3.6
Фрагмент
отношения Рабочее место
Лаборатория Телефон
25АП 5–17
4КТ 8–29
14ММ 4–85
116
Начало Не_БКНФ
отношение
Задание
универсального Определить
отношения детерминанты
функциональных
зависимостей (ДФЗ)
Определение и возможные ключи (ВК)
сущностей
Создание
отношений Не_БКНФ
по правилам отношение
ER-метода
По всем
По всем отношениям
отношениям
Не_БКНФ
отношение Возврат
По всем
отношениям
Конец
117
На этапе определения сущностей атрибуты универ-
сального отношения разбиваются на группы в соответствии
с объектами заданной предметной области. Каждому объек-
ту соответствует сущность с некоторым набором атрибутов
из универсального отношения, при этом каждый атрибут
принадлежит одной сущности. Экземпляру объекта пред-
метной области с определенными значениями характери-
стик соответствует экземпляр сущности с такими же
значениями соответствующих атрибутов. На этом этапе
также определяются или добавляются первичные ключи
сущностей.
На этапе формулировки соглашений и ограничений
принимаются определенные соглашения по каждому из атри-
бутов (множество значений, возможность повторения значе-
ния и т. д.) и по связям между экземплярами различных
сущностей.
На этапе определения связей и их характеристик на ос-
нове принятых ранее соглашений определяется количество
сущностей, участвующих в каждой связи, степень связи и класс
принадлежности для каждой сущности. Результатом реализа-
ции этого этапа является инфологическая модель проектируе-
мой базы данных.
На следующем этапе в результате применения правил
ER-метода создается совокупность связанных отношений
проектируемой базы данных.
Далее для каждого отношения определяется, находится
ли оно в БКНФ. Для этого используется рекурсивный подчи-
ненный алгоритм Не_БКНФ.
На наш взгляд, Бойса-Кодда нормальная форма — опти-
мальный уровень нормализации. Во-первых, существует чет-
кий алгоритм приведения отношений к БКНФ. Во-вторых,
приведение к нормальной форме более высокого порядка
может привести к нарушению целостности данных (потере
связи).
Это утверждение проиллюстрируем примером.
Рассмотрим предметную область, связанную с пожелани-
ями преподавателей по проведению занятий по дисциплинам в
определенных аудиториях (см. раздел 2.5).
118
Универсальное отношение в этом случае может, напри-
мер, иметь вид:
Пожелания (Ф. И. О., должность, кафедра,
наименование, направление, семестры,
номер аудитории, тип,
количество мест, оборудование)
В результате анализа предметной области определения и
добавления первичных ключей получим три сущности:
Преподаватель (номер преподавателя, Ф. И. О.,
должность, кафедра).
Дисциплина (код дисциплины, наименование,
направление, семестры).
Аудитория (номер аудитории, тип,
количество мест, оборудование).
Подчеркиванием выделен первичный ключ соответству-
ющей сущности. Эти сущности связаны трехсторонней связью
желает преподавать. Заметим, что эту связь нельзя заменить
бинарными связями.
Примем следующие соглашения:
1. Один преподаватель может желать преподавать не-
сколько дисциплин в нескольких аудиториях.
2. Одну дисциплину несколько преподавателей могут
желать преподавать в нескольких аудиториях.
3. В одной аудитории несколько преподавателей могут
желать преподавать несколько дисциплин.
Из этих соглашений следует, что:
— несколько экземпляров сущности Преподаватель свя-
зано с одним экземпляром сущности Дисциплина и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Преподаватель больше 1;
— несколько экземпляров сущности Дисциплина связано
с одним экземпляром сущности Преподаватель и с одним
экземпляром сущности Аудитория. Следовательно, степень
связи сущности Дисциплина больше 1;
— несколько экземпляров сущности Аудитория может
быть связано с одним экземпляром сущности Преподаватель
119
и с одним экземпляром сущности Дисциплина. Следовательно,
степень связи сущности Аудитория больше 1.
Класс принадлежности для сущностей в этом случае
неважен.
Фрагмент заполненного универсального отношения
(без учета добавленных атрибутов) для этого случая пред-
ставлен в табл. 3.7, ER-диаграмма при условии необязатель-
ных классов принадлежности для всех трех сущностей — на
рис. 3.21.
Дисциплина
М Желает М
Преподаватель Аудитория
преподавать
120
Таблица 3.7
Фрагмент
универсального отношения
Ф. И. О.Должность Кафедра Наименование Направ- Семестры Номер Тип Коли- Оборудование
ление аудито- чество
рии мест
Иванов Доцент ИВТ Программиро- МОАИС 1, 2 41 Лаборатория 12 Компьютеры
вание
Иванов Доцент ИВТ Программиро- МОАИС 1, 2 36 Лекционная 40 Проектор
вание
Иванов Доцент ИВТ Архитектура МОАИС 2 62 Универсальная 30 Компьютеры,
компьютера проектор
Петров Профессор ИВТ Архитектура МОАИС 2 36 Лекционная 40 Проектор
компьютера
Петров Профессор ИВТ Архитектура МОАИС 2 62 Универсальная 30 Компьютеры,
компьютера проектор
Сидоров Доцент ИВТ Базы данных МОАИС 3 53 Лекционная 50 Доска
Таблица 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
123
Таблица 3.13
Фрагмент
отношения Д_А
Код Номер
дисциплины аудитории
П12 41
П12 36
А2 62
А2 36
Б3 53
Б3 36
П12 62
Б
База данных (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, аудиокниги, новые издания и те, что с годами не
утратили своей актуальности, коллективные научные сборники.
Мы ждем Вас!
www.directmedia.ru
Email: manager@directmedia.ru
Tel.: 8-800-333-6845 (звонок бесплатный)
Для заметок
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________