Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Моделирование баз данных. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
851 Кб
Скачать

Таблица 6

Полное объединение отношений СТУДЕНТЫ, ГРУППЫ, ДИСЦИПЛИНЫ

НОМЕР

ФИО

АДРЕС

ДР

ГРУППА

ДИСЦИПЛИНА

СЕМЕСТР

СТ

 

 

 

 

 

 

 

 

 

 

 

 

 

101234

Иванов

Нижний

05.03.94

АСП1-1

Информатика

1

 

ИИ

Новгород

 

 

 

 

 

 

 

 

 

 

 

234132

Петров

Нижний

12.04.95

АСР1-1

Математика

1

 

ПП

Новгород

 

 

 

 

 

 

 

 

 

 

 

305423

Сидоров

Арзамас

23.10.97

АСР2-1

Физика

3

 

ИП

 

 

 

 

 

 

 

 

 

 

 

 

234235

Федоров

Нижний

20.08.1995

АСР1-1

Информатика

1

 

ПА

Новгород

 

 

 

 

 

 

 

 

 

 

 

Поскольку в группе учатся несколько студентов, то в кортежи для каждого студента приходится вводить одну и ту же информацию о дисциплине и семестре. Одинаковые значения атрибутов ДИСЦИПЛИНА и СЕМЕСТР повторяются два раза для группы АСР1-1, что не допустимо для реляционных баз данных.

3-й этап: преобразование слабых множеств сущностей.

Для преобразования слабого множества сущностей в отношение необходимо [3]:

если Е является слабым множеством сущностей, то необходимо построить отношение E, схема которого включает следующее:

– все атрибуты множества E;

– все атрибуты поддерживающих связей множества E;

– все ключевые атрибуты каждого из множеств сущностей F, соединенных с множеством E посредством поддерживающих связей типа «многие к одному» в направлении от E к F;

не создавать отношения, соответствующие поддерживающим связям R для слабого множества Е, так как атрибуты отношения связи R типа «многие к одному» или присутствуют в отношении множества Е или могут быть объединены со схемой отношения множества Е, если они являются собственными атрибутами связи R;

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

51

Пример 40. Обратимся к слабому множеству сущностей ЖУРНАЛ (см. рис. 17). Схема соответствующего отношения ЖУРНАЛ выглядит так:

ЖУРНАЛ(НОМЕРСТ, ГРУППА, ДИСЦИПЛИНА,СЕМЕСТР),

где атрибуты ГРУППА, ДИСЦИПЛИНА – это переименованные ключевые атрибуты НАЗВАНИЕ множества сущностей ГРУППЫ и ИМЯ множества сущностей ДИСЦИПЛИНЫ соответственно.

Отношения для поддерживающих связей «Числятся», «Состоят», «Изучаются» не созданы, так ккак их схемы представляют собой соответствующие подмножества схемы ЖУРНАЛ.

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

4-й этап: преобразование структур подклассов в отношения.

Преобразование ER-диаграмм иерархией множеств сущностей, соединенных связями isa, в реляционные схемы может быть выполнено несколькими методами [3]:

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

объектно-ориентированным методом: для каждого возможного поддерева, включающего корневое множество сущностей, создать одно отношение, схема которого содержит все атрибуты всех множеств сущностей, принадлежащих поддереву;

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

Рассмотрим подробнее указанные методы [3].

Метод преобразования «сущность—связь»: необходимо создать отноше-

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

52

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

Пример 41. Рассмотрим схемы отношений, полученных после преобразования множеств сущностей (рис.9), входящих в иерархию – ДИСЦИПЛИНЫ

иЕН (общие математические и естественнонаучные дисциплины):

ДИСЦИПЛИНЫ (ИМЯ, СЕМЕСТР, ЛК, ПР, ЛБ, ОТЧЕТ). Каждая дис-

циплина может быть однозначно представлена кортежем отношения ДИСЦИПЛИНЫ;

ЕН (ИМЯ, СЕМЕТР). Отношение описывает множество сущностей ЕН

исодержит только атрибуты ИМЯ и СЕМЕСТР, которые являются ключевыми атрибутами множества сущностей ДИСЦИПЛИНЫ. Дополнительная информация о ЕН-дисциплинах может быть получена на основе связи «РГР», соединяющая множества сущностей ЕН и СТУДЕНТЫ. Сущности «ен» описываются кортежами отношений ЕН и ДИСЦИПЛИНЫ.

Кроме рассмотренных отношений ЕН и ДИСЦИПЛИНЫ, необходимо отношение РГР (ИМЯ, СЕМЕСТР, НОМЕРСТ), соответствующее связи «РГР», которая соединяет множества сущностей ЕН и СТУДЕНТЫ. Первые два атрибута, ИМЯ и СЕМЕСТР, являются ключом множества сущностей ЕН, а последний, НОМЕРСТ – это ключевой атрибут множества сущностей СТУДЕНТЫ.

Например, дисциплина «Математика» будет представлена кортежами во всех трех отношениях. Основные сведения о ней должны храниться в отношении ДИСЦИПЛИНЫ, а данные о студентах, выполняющих расчетнографические работы по данной дисциплине, – в отношении РГР.

Таким образом, схема отношения ЕН является подмножеством схемы отношения РГР. Отношения подобные ЕН можно не использовать, так как они дублируют информацию полного отношения РГР. Однако существуют дисциплины, по которым не выполняются РГР. При этом РГР выполняется только в указанном блоке ЕН. Удаляя из схемы базы данных отношение ЕН можно потерять информацию о том, что подобные дисциплины относятся к блоку общих математических и естественно-научных дисциплин, если не предусмотреть возможность присваивания атрибуту НОМЕРСТ отношения РГР значения

NULL.

53

Объектно-ориентированный метод: в этом случае рассматриваются сущности как объекты одного класса. Этот метод преобразования isa-иерархии в отношения предполагает перечисление всех возможных поддеревьев ERдиаграммы, включающих корневое множество сущностей, с последующим созданием отношений, представляющих сущности, которые обладают всеми элементами каждого поддерева. Схема отношения должна включать все атрибуты любого множества сущностей, принадлежащего поддереву. В этом методе сущности трактуются как объекты одного и только одного класса.

Пример 42. Вновь рассмотрим рис. 9. В ней существует поддерево, включающее корневую вершину и множеств сущностей: ДИСЦИПЛИНЫ и ЕН.

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

ДИСЦИПЛИНЫ (ИМЯ, СЕМЕСТР, ЛК, ПР, ЛБ, ОТЧЕТ) ДИСЦИПЛИНЫ _ЕН(ИМЯ, СЕМЕСТР, ЛК, ПР, ЛБ, ОТЧЕТ)

Таким образом, можно объединить отношения ДИСЦИПЛИНЫ и ЕН, т.е. создать одно отношение, представляющее все дисциплины, хотя информация о том, какие дисциплины относятся к блоку «Общие математические и естественнонаучные дисциплины», будет утрачена.

При этом должна быть удалена связь «РГР», соединяющая множества сущностей ЕН и СТУДЕНТЫ. Если бы «РГР» относилась к типу «многие к одному», то можно было бы добавить атрибут РГР в схему отношения ДИСЦИПЛИНЫ_ЕН. Связь «РГР» принадлежит к категории связей «многие ко многим», поэтому для нее надлежит создать отдельное отношение. Схема отношения РГР должна содержать ключевые атрибуты множеств сущностей ЕН и СТУДЕНТЫ, соединяемых связью «РГР»:

РГР(ИМЯ, СЕМЕСТР, НОМЕРСТ).

Значения NULL и объединение отношений: если допустить возможность использования неопределенных значений вида NULL, можно объединить все множества в единственное отношение, которое охватывает все атрибуты всех множеств сущностей иерархии. Любая сущность некоторого множества в этом случае представляется одним кортежем, компонентам которого присваиваются значения NULL, если соответствующий атрибут не определен для рассматриваемой сущности [3].

54

Пример 43. Применяя указанный метод к иерархии множеств сущностей, показанной на рис. 9, получим отношение, со следующей схемой:

ДИСЦИПЛИНЫ (ИМЯ, СЕМЕСТР, ЛК, ПР, ЛБ, ОТЧЕТ, РГР)

Элементы РГР кортежей для тех сущностей дисциплин, у которых не выполняется расчетно-графическая работа, получат значения NULL.

Таким образом, каждый из трех рассмотренных методов преобразования иерархических структур подклассов в отношения обладает как несомненными преимуществами, так и очевидными недостатками [3]:

обработка запросов, охватывающих информацию из нескольких отношений, значительно упрощается, если эта информация объединена в одно отношение. Метод с использованием значений NULL, создающий только одно отношение, обладает безусловными преимуществами. Два других метода сулят выгоды при выполнении запросов иных видов. Рассмотрим эти ситуации на следующих примерах.

Пример 44. Для выполнения запроса, который должен вывести список дисциплин, имеющих 100 лекционных часов, достаточно информации из отношения ДИСЦИПЛИНЫ, созданного с помощью метода «сущность-связь». Однако при использовании объектно-ориентированного метода пришлось бы проверить содержимое всех отношений – ДИСЦИПЛИНЫ и ДИСЦИПЛИНЫ_ЕН, поскольку дисциплины с указанным количеством лекционных часов могут относится к любому блоку дисциплин.

Пример 45. Метод «сущность-связь» сложно применить к запросу, который выводит список дисциплин из блока ЕН, имеющих продолжительность практических занятий 100 часов в семестр. Для этого придется выполнить действия:

1)обратиться к отношению ДИСЦИПЛИНЫ и найти все дисциплины с указанным количеством практических часов;

2)просмотреть кортежи отношения ЕН, чтобы выбрать из числа найденных дисциплин только те, которые относятся к блоку ЕН.

Если же применить объектно-ориентированный метод, то можно свести задачу к просмотру единственного отношения ДИСЦИПЛИНЫ_ЕН, в котором содержится вся необходимая информация.

55

с точки зрения количества отношений, метод, предусматривающий использование значений NULL, выглядит наиболее удобным, поскольку предполагает создание единственного отношения. Прямолинейная стратегия метода «сущность-связь» требует создания отношений для каждого множества иерархии. Если использовать объектно-ориентированный метод, то необходимо рассматривать различные классы сущностей и создавать столько же отношений иерархии, т.к. иерархия состоит из корневого и п «дочерних» множеств сущностей;

при проектировании базы данных необходимо минимизировать расход дискового пространства и избежать дублирования информации. Поскольку при использовании объектно-ориентированного метода каждой сущности соответствует единственный кортеж и последний содержит элементы только для тех атрибутов, которые имеют смысл для рассматриваемой сущности, этот метод позволяет расходовать дисковое пространство наиболее экономно. Метод, использующий значения NULL, также предполагает создание одного кортежа для каждой сущности, но кортежи в этом случае становятся слишком длинными, т.е. содержат элементы для всех атрибутов, независимо от того, требуются они для описания конкретной сущности или нет. Если иерархия охватывает много множеств сущностей, а каждое из них содержит большое количество атрибутов, то при использовании «нулевого» метода дисковое пространство будет использовать впустую. Метод «сущность-связь» допускает создание нескольких кортежей для каждой сущности, но повторяться в них будут только ключевые атрибуты. Поэтому в каких-то ситуациях он может оказаться более предпочтительным по сравнению с «нулевым» методом, а в других – проигрышным.

2.3. ФУНКЦИОНАЛЬНЫЕ ЗАВИСИМОСТИ

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

56

Функциональная зависимость для отношения E – это утверждение следующего вида: «Если два кортежа отношения E совпадают в атрибутах A1, A2,..., Аn, т.е. кортежи обладают одинаковыми значениями компонентов для каждого из названных атрибутов, то они должны совпадать и в другом атрибуте В» [3].

Формально такая зависимость записывается следующим образом:

A1A2An B

и свидетельствует, что А1, А2,..., Аn функционально обусловливают В.

Если несколько атрибутов, А1, А2,...,Аn, функционально обусловливают более одного атрибута, т.е.

A1A2An B1 A1A2An B2

A1A2An Bm,

то позволяется использовать следующее сокращенное представление набора таких функциональных зависимостей:

A1A2An B1 B2 Bm.

Пример 46. Рассмотрим отношение

СТ_ГР_Д(НОМЕРСТ, ФИО, АДРЕС, ДР, ГРУППА, ДИСЦИПЛИНА, СЕМЕСТР),

экземпляр которого представлен в табл. 6. Нетрудно указать несколько функциональных зависимостей, которым подчиняется отношение СТУДЕНТЫ_ГРУППЫ:

НОМЕРСТ ФИО НОМЕРСТ АДРЕС НОМЕРСТ ДР НОМЕРСТ ГРУППА.

Поскольку левая часть всех четырех функциональных зависимостей одинакова, то их можно кратко представить следующим образом:

НОМЕРСТ ФИО АДРЕС ДР ГРУППА.

Рассматриваемый набор функциональных зависимостей свидетельствует, что если два отношения обладают одинаковым значением атрибута НОМЕРСТ, то они должны содержать одни и те же значения в атрибутах ФИО, АДРЕС, ДР, ГРУППА. Атрибут НОМЕРСТ образует ключ множества сущностей СТУДЕНТЫ.

57

При этом выражение

НОМЕРСТ ДИСЦИПЛИНА СЕМЕСТР

неверно, поскольку не является функциональной зависимостью для отношения СТ_ГР_Д. Каждой сущности студент в базе данных, может соответствовать сразу несколько сущностей дисциплины.

Множество вида {А1,А2,...,Аn}, состоящее из одного или нескольких атрибутов, является ключом отношения E, если выполняются следующие усло-

вия [3]:

атрибуты А1,А2,...,Аn функционально обусловливают все остальные атрибуты отношения; ситуация, когда два различных кортежа отношения Е совпадают во всех атрибутах А1,А2,...,Аn невозможна;

ни одно из допустимых подмножеств множества {А1,А2,...,Аn} атрибутов не является функциональным обоснованием всех остальных атрибутов отношения Е, т.е. ключ минимален.

Пример 47. Атрибут {НОМЕРСТ, ДИСЦИПЛИНА, СЕМЕСТР} является ключевым для отношения СТ_ГР_Д (см. табл. 6). Эти атрибуты функционально обусловливают все остальные атрибуты.

Предположим, что существуют два кортежа, которые совпадают во всех трех атрибутах – НОМЕРСТ, ДИСЦИПЛИНА, СЕМЕСТР. Как было показано в примере 45, поскольку эти кортежи обладают одинаковыми значениями элементов НОМЕРСТ, ДИСЦИПЛИНА, СЕМЕСТР, то должны попарно совпадать значения и всех остальных атрибутах ФИО, АДРЕС, ДР, ГРУППА.

Теперь необходимо доказать, что ни одно из подмножеств множества {НОМЕРСТ, ДИСЦИПЛИНА, СЕМЕСТР} атрибутов не в состоянии функционально обусловить все остальные атрибуты.

Начнем с того, что на основании НОМЕРСТ нельзя однозначно определить значение {ДИСЦИПЛИНА, СЕМЕСТР}, так как студент изучает несколько дисциплин. Поэтому НОМЕРСТ нельзя считать ключом отношения СТ_ГР_Д (см. табл. 6).

Подмножества {НОМЕРСТ, ДИСЦИПЛИНА}, {НОМЕРСТ, СЕМЕСТР}

также не является ключом отношения СТ_ГР_Д (см. табл. 6), поскольку студент может изучать одну дисциплину несколько семестров.

58

Когда реляционная схема создается путем преобразования ER-диаграмма в набор отношений, зачастую структуру ключа определенного отношения можно предсказать заранее. Сформулируем правила выбора ключей для отношения:

Правило 1. Если отношение получено на основе множества сущностей, ключ отношения формируется из ключевых атрибутов множества сущностей.

Пример 48. В примере 36 показано преобразование множеств сущностей ГРУППЫ, СТУДЕНТЫ, ДИСЦИПЛИНЫ в отношения. Ключами указанных множеств сущностей являются, соответственно, множества {НАЗВАНИЕ}, {НОМЕРСТ}, {ИМЯ, СЕМЕСТР}. Они будут и ключами отношений ГРУППЫ, СТУДЕНТЫ, ДИСЦИПЛИНЫ, схемы которых можно представить следующим образом:

ГРУППЫ (НАЗВАНИЕ, КОЛИЧЕСТВО) СТУДЕНТЫ (НОМЕРСТ, ФИО, АДРЕС, ДР) ДИСЦИПЛИНЫ (ИМЯ, СЕМЕСТР, ЛК, ПР, ЛБ, ОТЧЕТ),

где ключевые атрибуты выделены подчеркиванием.

Правило 2. Если отношение Е создается на основе связи, на состав множества ключей отношения оказывает влияние свойство множественности связи. Существуют три варианта правила для разных типов связи [3]:

если связь относится к типу «многие ко многим», ключами отношения

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

если связь относится к типу «многие к одному» и соединяет множества сущностей Е1 и Е2 в направлении от Е1 к Е2, ключами отношения Е должны быть ключевые атрибуты множества Е1;

если связь относится к типу «один к одному», ключевыми атрибутами отношения Е могут быть ключи любого из соединяемых множеств;

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

Пример 49. В примере 37 была рассмотрена связь «Состоят», соединяющей множества сущностей СТУДЕНТЫ и ГРУППЫ и относящейся к типу «многие к одному». Ключ отношения СОСТОЯТ в соответствии с рассмотренным выше правилом должен состоять из атрибута НОМЕРСТ, который являют-

59

ся ключом множества сущностей СТУДЕНТЫ. Схема отношения СОСТОЯТ с подчеркнутыми ключевыми атрибутами выглядит следующим образом:

СОСТОЯТ (НОМЕРСТ, ГРУППА).

Связь «Изучают», соединяющая множества сущностей ГРУППЫ и ДИСЦИПЛИНЫ относится к типу «многие ко многим». Все атрибуты ГРУППА, ДИСЦИПЛИНА, СЕМЕСТР отношения ИЗУЧАЮТ должны быть ключевыми:

ИЗУЧАЮТ (ГРУППА, ДИСЦИПЛИНА, СЕМЕСТР).

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

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

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

Пример 50. На основе инфологической модели (см. рис. 6) рассматриваемой предметной области «Учебный процесс в вузе» получена логическая структура реляционной базы данных (рис. 21).

60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]