Файл: Базы данных Учебное пособие.pdf

Добавлен: 28.11.2018

Просмотров: 7739

Скачиваний: 53

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

91 

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

Таблица 4.6 – Успеваемость 

Студент 

Предмет 

Груп-

па 

Преподава-

тель 

Дата сдачи 

экзамена 

Оцен-

ка 

Иванов С. П.  Базы данных 

598 

Белов А. В. 

14.06.2016 

Петров И. С.  Базы данных 

598 

Белов А. В. 

14.06.2016 

Иванов С. П.  Информатика 

598 

Алексеев А. С.  18.06.2016 

Петров И. С.  Информатика 

598 

Алексеев А. С.  18.06.2016 

В данном  случае  выбор  пары  атрибутов  («Студент»,  «Предмет»)  в  каче-

стве  ПК  будет  наиболее  оптимальным,  ведь  каждым  студентом  по  каждому 
предмету будет получена лишь одна оценка (см. табл. 4.7). 

Таблица 4.7 – Успеваемость в 1НФ 

Студент 

(ПК) 

Предмет 

(ПК) 

Груп-

па 

Преподава-

тель 

Дата сдачи 

экзамена 

Оцен-

ка 

Иванов С. П.  Базы данных 

598 

Белов А. В. 

14.06.2016 

Петров И. С.  Базы данных 

598 

Белов А. В. 

14.06.2016 

Иванов С. П.  Информатика 

598 

Алексеев А. С.  18.06.2016 

Петров И. С.  Информатика 

598 

Алексеев А. С.  18.06.2016 

Следующим  этапом  нормализации  будет  проверка  таблицы  на  соответ-

ствие  второй  нормальной  форме.  Здесь  необходимо  установить  возможные 
функциональные зависимости между неключевыми атрибутами и частями пер-
вичного ключа. Проведя анализ, нетрудно заметить, что таблица не находится в 
2НФ,  поскольку  имеются  неключевые атрибуты,  зависящие  от части  ПК.  Так, 
атрибут  «Группа»  зависит  от  ключевого  атрибута  «Студент»  и  не  зависит  от 
предмета, который сдавал студент. Другой атрибут «Преподаватель», наоборот, 


background image

92 

зависит от «Предмета» и не связан с тем, кто и когда сдавал экзамен. Атрибуты 
«Дата сдачи экзамена» и «Оценка» связаны со всем ключом полностью.  

Таким образом, для перехода к 2НФ необходимо для каждой группы, за-

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

 

 

Рис. 4.6 – Схема БД «Успеваемость» в 2НФ 

Далее  необходимо  проверить  все  полученные  таблицы  на  соответствие 

третьей нормальной форме, т. е. проанализировать возможные функциональные 
зависимости между неключевыми атрибутами. В данном примере только в од-
ной таблице имеется два неключевых атрибута, между которыми возможна за-
висимость,  однако  «Оценка»  и  «Дата  сдачи  экзамена»  между  собой  никак  не 
связаны, а потому во всех таблицах нет несоответствия 3НФ. 

Таким образом, можно сделать вывод, что таблицы на рисунке 4.6 нахо-

дятся одновременно и в 2НФ, и в 3НФ и дальнейшая декомпозиция не требует-
ся. Нормализацию в данном примере можно считать завершенной.  

4.3 Инфологическое проектирование БД 

Несмотря на то что исторически нормализация считается одним из клас-

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

Предмет (ПК) Преподаватель

Базы данных

Белов А. В.

Информатика

Алексеев А. С.

Студент (ПК) Группа

Иванов С. П.

598

Петров И. С.

598

Оценка

Студент 

(ПК, ВК)

Предмет

(ПК, ВК)

Дата сдачи

экзамена

Иванов С. П.

Базы данных

14.06.2016

4

Петров И. С.

Базы данных

14.06.2016

5

Иванов С. П. Информатика 18.06.2016

4

Петров И. С. Информатика 18.06.2016

4


background image

93 

области,  получившая  название  модель  «сущность  –  связь»,  или  ER-модель
Данная модель позволяет описывать объекты предметной области и их взаимо-
отношения на основе семантического (смыслового) описания предметной обла-
сти  и  представления  информации  в  удобном  графическом  варианте  для  даль-
нейшей реализации в виде базы данных. 

4.3.1 Модель «сущность – связь» 

Модель «сущность – связь», часто также называемая ER-модель (от. англ. 

Entity-Relationship),  была  предложена  П. Ченом  ещё  в 1976 г.  и  представляет 
собой  одну  из  самых  известных  концептуальных  моделей  для  описания  пред-
метной области. ER-модель основана на использовании трёх базовых понятий: 
сущностьатрибут и связь

Сущность – множество реально существующих или абстрактных объек-

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

Ещё  раз  уточним,  что  важно  понимать  и  отличать  термины  сущность  и 

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

Атрибут – это поименованное свойство (характеристика) сущности. Ос-

новное назначение атрибута – описание свойства сущности, а также идентифи-
кация каждого экземпляра сущности. 

Связь – ассоциация между сущностями, которая показывает, каким обра-

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

ER-диаграммы 

ER-модель чаще всего представляется в графическом виде. Для этого ав-

тором ER-модели была придумана нотация, называемая ER-диаграмма.  

 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·   

В настоящее  время  понятия  «ER-модель»  и  «ER-диаграмма» 

стали практически синонимами, хотя для графического представле-
ния  ER-моделей  могут  быть  использованы  и  другие  нотации, 
например  Crow’s  Foot, IE  –  Information  Engineering,  IDEF1X и др. 
Тем не менее, на практике графическое представление ER-модели с 


background image

94 

использованием  любой  из  нотаций  принято  называть  ER-
диаграммой. 
 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·   

В данном  пособии  для  обозначения  сущностей  и  атрибутов  ER-модели 

будут использоваться обозначения, изображенные на рисунке 4.7. 

 

Рис. 4.7 – Обозначение сущности на ER-диаграмме 

Сущность  обозначается  прямоугольником,  при  этом  название  сущности 

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

В большинстве  случаев  сущности  связаны  друг  с  другом.  Связь  может 

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

 

Рис. 4.8 – Обозначение связей между сущностями 

На рисунке 4.8 приведён пример связи, уже рассмотренной в данном по-

собии,  между  сущностями  «Студент»  и  «Группа».  На  первых  этапах  проекти-
рования  для  однозначной  интерпретации  информации  о  предметной  области 

Студент
Номер (ПК)
ФИО

Дата рождения

Группа

Студент
Номер (ПК)
ФИО

Дата рождения

Группа

Группа
Группа (ПК)
Специальность

Факультет

Состоит


background image

95 

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

В данном  примере  связь  между  двумя  сущностями  можно  определить 

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

Поскольку все связи можно разделить на несколько категорий, дополни-

тельно существует определённый набор обозначений для каждой из связей, од-
нозначно интерпретирующий тип связи на диаграмме. Например, связь между 
сущностями «Студент» и «Группа» можно представить более подробно на ри-
сунке 4.9. 

 

Рис. 4.9 – Обозначение вида связи между сущностями 

Подобные  обозначения  связей  можно  встретить  на  ER-диаграммах  уже 

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

На  рисунке 4.9  приведен  пример  определенной  неидентифицирующей 

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

Студент
Номер (ПК)
ФИО

Дата рождения

Группа (ВК)

Группа
Группа (ПК)
Специальность

Факультет

Состоит

1

М