Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУРСОВОЙ БД 2015 МИЛАН_Чешир.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
29.46 Mб
Скачать

3.2 Выделение связей между сущностями.

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

Проблема  представления семантики давно  интересовала разработчиков, и в  семидесятых годах было предложено несколько моделей данных, названных семантическими моделями. К ним можно отнести семантическую модель данных, предложенную Хаммером (Hammer) и Мак-Леоном (McLeon) в 1981 году, функциональную модель данных Шипмана (Shipman), также созданную в 1981 году, модель "сущность—связь", предложенную Ченом (Chen) в 1976 году, и ряд других моделей. У всех моделей были свои положительные и отрицательные стороны, но испытание временем выдержала только последняя. И в настоящий момент именно модель Чена "сущность—связь", или "EntityRelationship" (ER-модель), стала фактическим стандартом при инфологическом моделировании баз данных.         В основе ER-модели лежат следующие  базовые понятия:        Сущность, с помощью которой моделируется класс однотипных объектов. Сущность имеет имя, уникальное в пределах моделируемой системы. Так как сущность соответствует некоторому классу однотипных объектов, то предполагается, что в системе существует множество экземпляров данной сущности.         Объект, которому соответствует понятие  сущности, имеет свой набор атрибутов — характеристик, определяющих свойства данного представителя класса. При этом набор атрибутов должен быть таким, чтобы можно было различать конкретные экземпляры сущности.        Между сущностями могут быть установлены  связи — бинарные ассоциации, показывающие, каким образом сущности соотносятся или взаимодействуют между собой. Связь может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). Она показывает, как связаны экземпляры сущностей между собой. Если связь устанавливается между двумя сущностями, то она определяет взаимосвязь между экземплярами одной и другой сущности.

3.2.1 Связи один к одному (1:1)

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

В данной работе не используется такая связь.

3.2.2 Связи один ко многим (1:М)

Связывает одну строку какой-либо таблицы с  двумя или несколькими строками другой. Связь устанавливается между первичным ключом основной таблицы и соответственным внешним ключом связной или подчиненной таблицы. Такие связи наиболее распространены между таблицами реляционной БД.

В данной работе не используется такая связь.

3.2.3 Связи многие ко многим (М:М)

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

В данной работе не используется такая связь.

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

После проектирования логической модели была разработана физическая модель данных, показанная на рисунке 3.1

Рисунок3.1 –Физическая модель

3.4 Нормализация отношений

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

Цель:

  • исключить дублирования данных;

  • обеспечить целостность данных

Автоматически происходило  соответственные изменения связных с ним объектов.

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

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

Вторая  нормальная форма (2НФ). Для 2НФ требуется, чтобы все поля таблицы зависели от первичного ключа, то есть, чтобы первичный ключ однозначно определял запись и не был избыточен.

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

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

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

Для третьей нормальной формы (ЗНФ) требуется, чтобы все не ключевые столбцы таблицы зависели от первичного ключа таблицы, но были независимы друг от друга. Для этого требуется, чтобы таблицы были приведены к 1НФ и 2НФ.

Все сущности находятся в первой нормальной форме, потому что они:

  • нет дублирующихся строк;

  • в каждой строке хранится атомарное значение;

  • в столбце хранятся данные одного типа;

  • отсутствуют массивы и списки в любом виде.

Все сущности находятся во второй нормальной форме, т.к. содержат простой ключ.

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