Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование бизнес-процессов / Моделирование бизнес-процессов / ER-диаграмы / Проектирование реляционных БД с помощью ER-диаграмм_ver1.6.doc
Скачиваний:
184
Добавлен:
30.04.2013
Размер:
7.8 Mб
Скачать

Еще об атрибутах

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

Простые или атомарные атрибуты

Простые или атомарные атрибуты не могут быть разбиты или разделены, поэтому они и называются «атомарными». Можно рассмотреть домен[2]значений атрибута для того, чтобы понять, является атрибут простым или нет. Примером простого или атомарного атрибута может быть «Номер Социального страхования», предполагается, что каждый человек должен иметь только один, индивидуальный «Номер Социального страхования».

Другие способы определения является ли атрибут простым или атомарным, полностью зависят от того факта, что действия разработчика зависят от желания пользователя, для которого создается база данных. Например, при разработке базы данных, мы можем рассматривать номер телефона, как простой атрибут, но в другом сценарии мы можем захотеть разделить номер телефона на две отдельные части: код области и сам номер. Другой пример, где использование атрибута в базе данных будет определено, если атрибут - простой или атомарный - атрибут «birthdate» (дата рождения). Если мы разрабатываем базу данных для ветеринарной больницы, может иметь смысл разбиение поля «birthdate» (дата рождения) на месяц, день, и год, поскольку это поможет различать животных по возрасту; чтобы отличить - пять дней, пять месяцев или пять лет этому животному.

Следовательно, в этом случае, атрибут «birthdate» (дата рождения) должен быть составным. А для базы данных СКАКОВЫЕ ЛОШАДИ, например, может быть не обязательно разбивать поле «birthdate» (дата рождения) на месяц/день/год, поскольку все лошади различаются только по году рождения. В этом последнем случае, атрибут «birthdate» (дата рождения), состоящий только из года, будет атомарным.

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

Составные атрибуты

Составной атрибут иногда называют групповым атрибутом, то есть атрибутом, являющимся объединением или совокупностью связанных атрибутов. Имена, выбранные для составных атрибутов должны быть описательными и общими. Понятие «имени» соответствует общему описанию для общего описания, но при желании может указывать на специфику отдельных частей атрибута. Большинство приложений, обрабатывающих данные, делит имя на составные части. Имя называется составным атрибутомилисовокупностью, поскольку оно обычно включает в себя: имя, фамилию и средний инициал - податрибуты. Метод составных атрибутов показан на ER диаграммах Chen – модели (модели Чена), наРисунке 2.4. Податрибуты, как например, имя, средний инициал, и фамилия -простые, атомарные, илиэлементарныеатрибуты. Термин «совокупность» используется в другом значении в некоторых языках запросов и, во избежание неразберихи, мы будем называть составные атрибуты не «совокупностями», а «композициями».

Рисунок 2.4: ER диаграмма с составным атрибутом name (имя).

Анализ атрибута (будет он составным или нет) полностью зависит от того, что действия разработчика сталкиваются с желанием «пользователя», для которого эта база данных создается. Например, в одной базе данных не важно знать, из какого точно города или штата человек, или какой его почтовый индекс, и, следовательно, атрибут «адрес» в этой базе данных не будет разбиваться на компоненты; его можно назвать просто «адрес».

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