- •7.1.2. Концептуальное, логическое и физическое проектирование базы данных
- •7.1.3.Важнейшие факторы успешного завершения проектирования базы данных
- •7.2. Общий обзор процедуры проектирования базы данных
- •Концептуальное проектирование базы данных
- •Логическое проектирование базы данных (для реляционной модели)
- •Физическое проектирование базы данных (с использованием реляционной субд)
- •Документирование типов сущностей
- •Определение кардинальности связей и ограничений, накладываемых на его участников
- •Атрибуты простые и составные
- •Производные атрибуты
- •Документирование атрибутов
- •Документирование первичных и альтернативных ключей
Документирование атрибутов
Каждому выявленному атрибуту следует присвоить осмысленное имя, понятное пользователям. О каждом атрибуте в документацию помещаются следующие сведения:
• имя атрибута и его описание;
• любые алиасы, или синонимы, имеющиеся для данного атрибута;
• тип данных и размерность значения;
• значение, принимаемое для атрибута по умолчанию (если таковое, имеется);
• является ли атрибут обязательным (т.е. может ли он отсутствовать или иметь значение NULL);
• является ли атрибут составным и, если это так, из каких простых атрибутов он состоит;
• является ли данный атрибут производным и, если это так, какой метод следует использовать для вычисления его значения;
• является ли данный атрибут множественным (см. раздел 5.1.2).
Этап 1.4. Определение доменов атрибутов
Цель Определение доменов для всех атрибутов, присутствующих в каждой локальной концептуальной модели данных.
Задача этого этапа построения локальной концептуальной модели данных состоит в определении доменов атрибутов для всех атрибутов, присутствующих в модели (см. раздел 5.1.2). Доменом называется некоторый пул значений, элементы которого выбираются для присвоения значений одному или более атрибутам. Ниже приведено несколько примеров доменов.
• Домен атрибута, включающий допустимые номера отделений предприятия. Он состоит из трехсимвольных строк, в которых первый символ является буквой, а остальных два — цифрами, задающими числа в диапазоне 1-99.
• Домен атрибута, включающий допустимые значения номеров телефонов и факсов. Он состоит из строк' длиной в 13 цифровых символов.
• Допустимыми значениями для атрибута "Пол" сущности "Работник" являются "М" и "Ж". Домен этого атрибута состоит из двух строк длиной в один символ, имеющих указанные значения.
Полностью разработанная модель данных должна включать домены для каждого из присутствующих в ней атрибутов. Домены должны содержать следующие данные: набор допустимых значений для атрибута;
• сведения о размере и формате каждого из полей атрибутов.
В доменах может быть указана и другая дополнительная информация — например, сведения о допустимых операциях со значениями атрибута, а также данные о том, какие атрибуты можно использовать для сравнения с другими атрибутами или при построении комбинаций из нескольких атрибутов. Однако методология определения характеристик доменов атрибутов все еще является предметом исследований.
Документирование доменов атрибутов
После определения доменов атрибутов их имена и характеристики помещаются в словарь данных. Одновременно обновляются записи словаря данных, относящиеся к атрибутам, — в них заносятся имена назначенных каждому атрибуту доменов.
Этап 1.5. Определение атрибутов, являющихся потенциальными и первичными ключами
Цель Определение всех потенциальных ключей для каждого типа сущности и, если таких ключей окажется несколько, выбор среди них первичного ключа.
Определение потенциальных ключей и выбор первичного ключа
На этом этапе для каждой сущности устанавливается потенциальный ключ (или ключи), после чего осуществляется выбор первичного ключа (см. раздел 5.1.2). Потенциальным ключом называется атрибут или минимальный набор атрибутов заданной сущности, позволяющий уникальным образом идентифицировать каждый ее экземпляр. Для некоторых сущностей возможно наличие нескольких потенциальных ключей. В этом случае среди них/нужно выбрать один ключ, который будет называться первичным ключом. Все остальные потенциальные ключи будут называться альтернативными ключами. При выборе первичного ключа среди нескольких потенциальных руководствуйтесь приведенными ниже рекомендациями.
• Используйте потенциальный ключ с минимальным набором атрибутов.
• Используйте тот потенциальный ключ, вероятность изменения значений которого минимальна.
• Выбирайте тот потенциальный ключ, который имеет минимальную вероятность потери уникальности значений в будущем.
• Используйте потенциальный ключ, значения которого имеют минимальную длину (в случае текстовых атрибутов).
• Остановите свой выбор на потенциальном ключе, с которым будет проще всего работать (с точки зрения пользователя).
В процессе определения первичного ключа устанавливается, является данная сущность сильной или слабой. Если выбрать первичный ключ для данной сущности оказалось возможным, то такую сущность принято называть сильной: И наоборот, если выбрать первичный ключ для заданной сущности невозможно, то ее называют слабой (см. раздел 5.1.1).
Таким образом, первичный ключ слабой сущности можно будет определить только после отображения этой слабой сущности и ее связи с сущностью-владельцем в отношение, в котором упомянутая связь моделируется посредством помещения в данное отношение соответствующего внешнего ключа. Процедура отображения сущностей и их связей в отношения будет рассмотрена при обсуждении этапа 2.2. Поэтому определение первичных ключей для слабых сущностей может быть выполнено только по достижении указанного этапа разработки.