Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_2013_Задания / КонспектЛекций_БД_СоболеваНВ_2013.docx
Скачиваний:
125
Добавлен:
12.03.2015
Размер:
634.27 Кб
Скачать

4 Атрибуты

Атрибут – это характеристика или свойство сущности.

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

  • атрибут, как правило, отвечает на вопрос: «Какую информацию о сущности необходимо хранить в базе данных?»;

  • атрибут не имеет состава, или его составные части никогда не рассматриваются отдельно в рамках моделируемой предметной области;

  • атрибут не имеет собственных атрибутов.

Например, для сущности СТУДЕНТ получен следующий список атрибутов: Фамилия, Имя, Отчество, Дата рождения, Адрес проживания, Шифр направления обучения и др. Удалим из этого списка атрибут, который, скорее всего, принадлежит другой сущности, – Шифр направления обучения. Проверим, есть ли среди оставшихся атрибутов такие, которые имеют состав и, следовательно, могут быть перенесены в список сущностей. Таких атрибутов два: Дата рождения и Адрес проживания. Принять решение по этим атрибутам можно путём исследования возможных запросов к базе данных. Например, если установлено, что Дата рождения во всех запросах рассматривается как единое целое (число, месяц, год), то такой атрибут является собственным атрибутом сущности СТУДЕНТ. Если установлено, что существуют задачи, в которых требуется узнать, кто из студентов проживает на конкретной улице, в конкретном районе или городе, то есть поиск ведётся по структурным частям адреса, то Адрес проживания удаляется из списка атрибутов и переносится в список сущностей.

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

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

- указание типа данных, например, число, текст и т.д.;

- тип данных и диапазон, например, число < 1000;

- использование классификаторов и кодификаторов, например, справочник почтовых индексов;

- список допустимых значений, например, {Очная, Заочная} и т.д.

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

5 Ключи

Ключ состоит из одного или более атрибутов, значения которых однозначно идентифицируют экземпляр сущности, например, № паспорта – ключ личности, по нему один экземпляр сущности ЛИЧНОСТЬ отличается от другого экземпляра.

Каждая сущность может иметь несколько ключей, но должна иметь, по крайней мере, один ключ. Такие ключи называются потенциальными ключами.

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

Критерии выбора первичного ключа:

- ключ должен гарантировать уникальность каждого экземпляра сущности;

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

- ключ должен быть неизменным, то есть неспособным и невосприимчивым к изменениям;

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

Например, сущность СЛУЖАЩИЙ. Атрибут № паспорта является плохим кандидатом на роль первичного ключа, так как его значение зависит от внешних организаций и может быть изменено ими. Его значения находятся вне зоны внутреннего контроля. Лучшим решением является Табельный номер, т.к. его значение присваивается внутри организации.

Вернуться в содержание