Базы данных

Автор: Пользователь скрыл имя, 03 Января 2011 в 10:41, курсовая работа

Описание работы

Целью данной работы является детальное рассмотрение понятия "ER-модель".
Задачами работы являются рассмотрение концепции ER-модели, графическое представление, связь ER-модели и реляционной базы данных.

Содержание

Основные данные о работе 2
Введение 4
1. Проектирование базы данных 6
1.1. Семантические модели данных 6
1.2. Основные этапы проектирования баз данных 8
2. ER-диаграммы 10
2.1 Концепции ER-модели 10
2.2. Пример построения ER-модели 14
2.3. Переход к реляционной модели данных 16
2.4 Более сложные элементы ER-модели 18
Заключение 21
Глоссарий 22
Библиографический список 24
Приложение А Диаграмма «Сущность-Связь» 25
Приложение Б Пример построения ER – модели 26

Работа содержит 1 файл

Захарченко ер модель+++++.doc

— 267.00 Кб (Скачать)

     Определение 3. Атрибут сущности - это именованная  характеристика, являющаяся некоторым  свойством сущности1.

     Наименование  атрибута должно быть выражено существительным  в единственном числе (возможно, с  характеризующими прилагательными).

     Примерами атрибутов сущности "Сотрудник" могут быть такие атрибуты как "Табельный номер", "Фамилия", "Имя", "Отчество", "Должность", "Зарплата" и т.п.

     Атрибуты  изображаются в пределах прямоугольника, определяющего сущность (Рис. 2):

     

     Рис. 2 Атрибуты сущности «Сотрудник»

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

     Сущность  может иметь несколько различных  ключей.

     Ключевые  атрибуты изображаются на диаграмме  подчеркиванием (Рис.3):

     

     Рис. 3 Изображение ключевого атрибута

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

     Связи позволяют по одной сущности находить другие сущности, связанные с нею.

     Например, связи между сущностями могут  выражаться следующими фразами - "СОТРУДНИК  может иметь несколько ДЕТЕЙ", "каждый СОТРУДНИК обязан числиться ровно в одном ОТДЕЛЕ".

     Графически  связь изображается линией, соединяющей  две сущности (Рис.4 ):

     

     Рис. 4 Связь между сущностями

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

     Каждая  связь может иметь один из следующих  типов связи (Рис. 5):

     

     Рис. 5 Типы связей 

     Связь типа один-к-одному означает, что один экземпляр первой сущности (левой) связан с одним экземпляром второй сущности (правой). Связь один-к-одному чаще всего свидетельствует о том, что на самом деле мы имеем всего одну сущность, неправильно разделенную на две.

     Связь типа один-ко-многим означает, что один экземпляр первой сущности (левой) связан с несколькими экземплярами второй сущности (правой). Это наиболее часто используемый тип связи. Левая сущность (со стороны "один") называется родительской, правая (со стороны "много") - дочерней. Характерный пример такой связи приведен на Рис. 4.

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

     Каждая  связь может иметь одну из двух модальностей связи (Рис.6 ):

     

     Рис. 6 Модальность связи

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

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

     Связь может иметь разную модальность  с разных концов (как на Рис. 4).

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

     <Каждый  экземпляр СУЩНОСТИ 1> <МОДАЛЬНОСТЬ СВЯЗИ> <НАИМЕНОВАНИЕ СВЯЗИ> <ТИП СВЯЗИ> <экземпляр СУЩНОСТИ 2>.

     Каждая  связь может быть прочитана как  слева направо, так и справа налево. Связь на Рис. 4 читается так:

     Слева направо: "каждый сотрудник может  иметь несколько детей".

     Справа  налево: "Каждый ребенок обязан принадлежать ровно одному сотруднику".

2.2. Пример построения ER-модели

 

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

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

Прежде  всего предприятие состоит из отделов, в которых работают сотрудники. Оклад каждого сотрудника зависит от занимаемой им должности (инженер, ведущий инженер, бухгалтер, уборщик и т.д.).

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

ОТДЕЛ(ИМЯ_ОТДЕЛА),

СОТРУДНИК(ТАБЕЛЬНЫЙ_НОМЕР, ИМЯ),

ДОЛЖНОСТЬ(ИМЯ_ДОЛЖНОСТИ, ОКЛАД),

и набор  связей РАБОТАЕТ_В с атрибутом  ставка между ними. Атрибут ставка может принимать значения из интервала ]0,1] (больше нуля, но меньше или равен  единице), он определяет какую часть  должностного оклада получает данный сотрудник(рис.7).  

 
 
 
 
 
 
 
 

Рис.7.ER- модель 

Каждый  n-арный набор связей можно заменить несколькими бинарными наборами.

связь не может быть одновременно обязательной, "супертип-подтип" или ассоциативной. 
 

2.3. Переход к реляционной модели данных

 

     Рассмотрим правила преобразования ER-модели в реляционную.

Каждой  сущности ставится в соответствие отношение  реляционной модели данных. При этом имена сущности и отношения могут  быть различными, потому что на имена  сущностей могут не накладываться  дополнительные синтаксические ограничения, кроме уникальности имени в рамках модели. Имена отношений могут быть ограничены требованиями конкретной СУБД, чаще всего эти имена являются идентификаторами в некотором базовом языке, они ограничены по длине и не должны содержать пробелов и некоторых специальных символов. Например, сущность может быть названа "Книжный каталог", а соответствующее ей отношение желательно назвать, например, BOOKS (без пробелов и латинскими буквами).

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

EMPLOYEE
T_NUM

F_NAME

NAME

L_NAME

POST

SALARY

 

Рис. 8.   Преобразование сущности СОТРУДНИК к отношению EMPLOYEE 

Первичный ключ сущности становится PRIMARY KEY соответствующего отношения. Атрибуты, входящие в первичный ключ отношения, автоматически получают свойство обязательности (NOT NULL).

Column Code Type
T_NUM Int Not Null
F_NAME Varchar(30) Not Null
NAME Varchar(30) Null
L_NAME
    Varchar(30) Null
POST
    Int Not Null
SALARY
    Int Not Null
 

Таблица 1. Свойства атрибутов отношения EMPLOYEE 

В каждое отношение, соответствующее подчиненной  сущности, добавляется набор атрибутов  основной сущности, являющейся первичным  ключом основной сущности. В отношении, соответствующем подчиненной сущности, этот набор атрибутов становится внешним ключом (FOREING KEY).

Для моделирования  необязательного типа связи на физическом уровне у атрибутов, соответствующих  внешнему ключу, устанавливается свойство допустимости неопределенных значений (признак NULL). При обязательном типе связи атрибуты получают свойство отсутствия неопределенных значений (признак NOT NULL).

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

    1. Более сложные элементы ER-модели
 

     К числу более сложных элементов  модели относятся следующие:

Подтипы и супертипы сущностей. Как в языках программирования с развитыми типовыми системами (например, в языках объектно-ориентированного программирования), вводится возможность наследования типа сущности, исходя из одного или нескольких супертипов. Интересные нюансы связаны с необходимостью графического изображения этого механизма.

Связи “many-to-many”. Иногда бывает необходимо связывать  сущности таким образом, что с  обоих концов связи могут присутствовать несколько экземпляров сущности (например, все члены кооператива  сообща владеют имуществом кооператива). Для этого вводится разновидность связи “многие-со-многими”.

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

Каскадные удаления экземпляров сущностей. Некоторые  связи бывают настолько сильными (конечно, в случае связи “один-ко-многим”), что при удалении опорного экземпляра сущности (соответствующего концу связи “один”) нужно удалить и все экземпляры сущности, соответствующие концу связи “многие”. Соответствующее требование “каскадного удаления” можно сформулировать при определении сущности.

Домены. Как и в случае реляционной  модели данных бывает полезна возможность  определения потенциально допустимого  множества значений атрибута сущности (домена).

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

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

Информация о работе Базы данных