|
Программирование >> Проектирование баз данных
Изображение свиных утей Завершая описание диаграмм сущность-отношение , мы рассмотрим так называемые рефлексивные отношения, которые иногда называют рекурсивными отношениями или свиными ушами (потому что изображение такого отношения на рисунке похоже на свиное ухо - если проявить немного воображения!). Пример свиного уха показан на рис. 3.9. Обратите внимание на то, что такое отношение всегда необязательно; в противном случае оно было бы по определению бесконечной иерархией. Это правило мы рассмотрим ниже, когда начнем изучать недопустимые и нереализуемые структуры данных. руководит... Сотрудник Рис. 3 9. Свиное ухо Контроль качества концептуальной информационной модели в процессе работы над проектом создаются три модели: концептуальная информационная модель; логическая модель данных; физическая модель данных. Как мы говорили, одним из важнейших результатов этапа анализа является концептуальная информационная модель. Эта модель должна представлять сущности бизнеса или предприятия и ничего больше. Все, что так или иначе связано с реализацией и физической структурой, должно вводиться во время проектирования, когда создаются логическая и физическая модели данных. Очень важная цель этапа проектирования - проверка качества информационной модели, созданной в процессе анализа. Концептуальная информационная модель не должна содержать связующих сущностей - отношения многие ко многим должны быть смоделированы как есть. Эта модель должна быть полностью нормализована. На ранних стадиях этапа проектирования концептуальная информационная Модель преобразуется в логическую модель данных. В нее добавляются объекты, обеспечивающие решение физических и реализационных вопросов (например, сущность очереди на печать), разрешаются отношения типа многие ко многим и выполняется выборочная денормализация. На последующих стадиях проектирования из логической модели данных создается физическая модель. При этом разрешаются такие структуры, как дуги и супертипы, и определяются физические свойства и объекты, например индексы. Во многих проектах работают только с двумя моделями: логической и физической. Вероятная причина этого заключается в том, что некоторые CASE-средства не поддерживают трехуровневую модель. Однако, по нашему мнению, следует создавать три уровня моделей (как показано на рис. 3.10). онцепту нал информационная модель Л 1вскай J данных Ф ческая i цанных Рис 3.10 Три уровня моделей Сейчас мы рассмотрим важный вопрос - нормализацию модели, а также дадим некоторые сведения о необычных и нереализуемых структурах в модели данных. А затем, проверяя соответствие модели как минимум третьей нормальной форме и обосновывая наличие неортодоксально выглядящих отношений, мы проведем контроль качества концептуальной информациогг-ной модели. Нормализованная модель данных Одно из ключевых требований к информационной модели, передаваемой из этапа анализа на этап проектирования, состоит в том, что она должна быть как минимум в третьей нормальной форме (ЗНФ). Если вы не уверены в том, что знаете, что такое ЗНФ, читайте дальше. Перед приемом модели проектировщики должны проверить, соответствует ли она третьей нормальной форме. В последующем они могут избирательно денормализовать данные по причинам, которые почти всегда связаны с производительностью Однако денормализация в основном является частью процесса проектирования ~ в концептуальной информационной модели она вообще не должна находить отражение. Что же такое нормализация? Впервые этот процесс был определен д-ром Е.Ф. Кодцом, когда он определил реляционную модель (в 1970 г.). Нормализация является основой для удаления из сущностей нежелательных функциональных зависимостей (ФЗ). ФЗ подразумевается, если мы можем определить значение атрибута, просто зная значение некоторого другого атрибута. Например, если мы знаем название страны, то можем определить название ее столицы. Следовательно, между страной и ее столицей имеется функциональная зависимость. Существует еще один вариант зависимости, известный как многозначная зависимость (МЗЗ). Она означает, что если мы знаем значение одного атрибута, то можем определить набор значений другого атрибута. Например, зная название страны, можно определить названия всех ее аэропортов; следовательно, между страной и аэропортами существует многозначная зависимость. ФЗ и МЗЗ иногда обозначаются следующим образом: ФЗ: А ♦ В (А определяет В) МЗЗ: А ♦ ♦ В (А определяет набор В) Почему нормализованная информационная модель так важна в реляционном проектировании? Многочисленные испытания доказали, что процесс нормализации дает наилучший результат при моделировании мира с использованием двумерных объектов (таблиц) без установления слишком большого числа ограничений или искажения фактов (данных), для сбора которых мы пользуемся базой данных. С практической точки зрения, нормальные формы помогают проектировать базы данных, в которых нет ненужных избыточных данных и противоречий, которые могут повлечь за собой проблемы производительности или потерю информации при последующем выполнении операций вставки, обновления и удаления. Чтобы подытожить сказанное, отметим, что нормальные формы позволяют избежать искажения данных путем создания ложных данных или разрушения истинных. Как же проверить, что информационная модель (представленная в виде определений сущностей и атрибутов) нормализована до требуемого уровня (например, до ЗНФ)? Нам нужно исследовать отдельно каждую из нормальных форм. Чтобы проиллюстрировать этот процесс, мы, сократив до минимума теоретические выкладки, сначала рассмотрим примеры, противоречащие конкретной модели, а затем - правильное решение. Первая нормальная форма (1НФ). Сущность находится в первой нормальной форме, если значения всех ее атрибутов атомарные. Все повторяющиеся группы должны быть удалены и помещены в новую (связанную) сущность. Пример приведен на рис. 3.11. В первом случае все атрибуты партии (грузополучатель, застрахованная стоимость и объявленная стоимость) повторятся четыре раза - для каждой партии груза. Обратите внимание, что из-за этого Приходится вводить правило, согласно которому груз не может состоять более чем из четырех партий, потому что нам некуда отправить пятую и Последующие партии. Поэтому если вы пользуетесь этой моделью, скажите своему начальству, чтобы оно ни в коем случае не покупало более крупные корабли!
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |