Виды концептуальных моделей данных.
Это наиболее общий вид модели, с которым имеет дело разработчик – модели этого вида практически не привязаны к компьютерным реалиям (абстрагированы от них). Концептуальные модели уже не являются математическими моделями с их универсальностью, но они еще и не БД-модели. Речь идет о «понятийной модели», о модели понятий предметной области (семантическая модель). В концептуальном моделировании проектируется схема понятий прикладной области в их взаимосвязи. Предлагались и предлагаются разные пути такого моделирования. Исходными базовыми понятиями в трактовке Смитов являются объекты и связи между объектами. Связи могут быть двух видов: обобщение и агрегация. Обобщение интуитивно ясно, и связывает одни объекты с другими, по смыслу более общими. Агрегация связывает разнородные объекты по признаку компонентного вхождения в другие объекты. Независимо, оба вида связей образуют каждый свою иерархию среди объектов модели. Кроме этих базовых имеются и другие понятия концептуальной модели: атрибут, отношение, экземпляр, индивид. Самое замечательное в «модели Смитов» – это относительность перечисленных понятий. Одно и то же явление может быть и объектом, и отношением, и атрибутом, и экземпляром, и индивидом, и все определяется точкой зрения на явление. Зависимость интерпретации от точки зрения на явление (а точнее – возможность выбора точек зрения с разной интерпретацией) – это очень мощное свойство, придающее концептуальной модели большую гибкость и приспособляемость в описании проектируемой ИС. Наиболее близко к концептуальной в этом отношении подошла (теоретическая) реляционная модель данных, а вот объектный подход с его фиксированной интерпретацией структуры отстоит от реляционного на шаг назад. Нормализация концептуальной модели данных и целостность данных. Определение функциональной зависимости: Если даны два атрибута X и Y некоторого отношения, то говорят, что Y функционально зависит от X, если в любой момент времени каждому значению X соответствует ровно одно значение Y (X -> Y). X и Y могут представлять собой не только единичные атрибуты, но и группы, составленные из нескольких атрибутов одного отношения. Некоторые функциональные зависимости могут быть нежелательны. Избыточная функциональная зависимость - зависимость, заключающая в себе такую информацию, которая может быть получена на основе других зависимостей, имеющихся в БД. Корректной считается такая схема БД, в которой отсутствуют избыточные функциональные зависимости. В противном случае приходится прибегать к процедуре декомпозиции (разложения) имеющегося множества отношений. При этом порождаемое множество содержит большее число отношений, которые являются проекциями отношений исходного множества. Процесс замены данной совокупности отношений другой схемой с устранением избыточных функциональных зависимостей называется нормализацией. 1NF - первая нормальная форма: отношение находится в 1NF, если значения всех его атрибутов атомарны. Простой атрибут - атрибут, значения которого атомарны (неделимы). Сложный атрибут - получается соединением нескольких атомарных атрибутов, которые могут быть определены на одном или разных доменах. (вектор или агрегат данных). Алгоритм нормализации описан Коддом: 1. Начиная с отношения, находящегося на верху дерева, берется его первичный ключ, и каждое непосредственно подчиненное отношение расширяется путем вставки домена или комбинации доменов этого первичного ключа. 2. Первичный Ключ каждого расширенного отношения состоит из Первичного Ключа, который был у этого отношения до расширения и добавленного Первичного Ключа родительского отношения. 3. После этого из родительского отношения вычеркиваются все непростые домены, удаляется верхний узел дерева, и эта же процедура повторяется для каждого из оставшихся поддеревьев. NF - вторая нормальная форма. Часто первичный ключ отношения включает несколько атрибутов (составной). Неключевой атрибут функционально полно зависит от составного ключа если он функционально зависит от всего ключа в целом, но не находится в функциональной зависимости от какого-либо из входящих в него атрибутов. Отношение находится во 2НФ, если оно находится в 1НФ и каждый неключевой атрибут функционально полно зависит от ключа. 3NF - третья нормальная форма. Пусть X, Y, Z - атрибуты некоторого отношения. При этом X --> Y и Y --> Z, но обратное соответствие отсутствует. Тогда Z транзитивно зависит от X. Отношение находится в 3НФ, если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
|