Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodologia_SSADM.doc
Скачиваний:
67
Добавлен:
13.04.2015
Размер:
1.47 Mб
Скачать

3.9.8. Удаление лишних связей из лсд.

Связи, которые являются потенциально лишними, выявляются в течение всего процесса логического моделирования данных, но особое внимание уделяется этой задаче на этапе 320. По мере разработки ЛМД может выясниться, что не все из множества идентифицированных связей необходимы для описания процесса функционирования системы. Некоторые связи могут действительно оказаться лишними. Лишней называется связь, которая дает доступ к той же информации что две или более других, т.е. в любых обстоятельствах выводимая из других связей.

Лишние связи могут иметь место в замкнутых циклах. Простейшая форма такого цикла показана на рис. 3.15а. Здесь одна из связей может быть удалена, если она действительно является лишней. Для того, чтобы определить это, необходимо рассмотреть семантику связей. Простой просмотр ЛСД без понимания реального смысла связей не дает возможности идентифицировать среди них лишние.

Структура, приведенная на рис 3.15а, не будет логически корректна, если объект С не относится через различные связи к двум различным экземплярам объекта А. В этом случае возможен доступ к С через В и наоборот. Тогда исходная структура после удаления лишней связи изображается так, как это показано на рис. 3.156. Связь, идущая от А к С, или удаляется или может быть оставлена на схеме как теоретическая линия, но тогда необходимо ее выделить для углубленного анализа на стадии физического проектирования базы данных. Еще один часто встречающийся вариант замкнутого цикла с идентификацией и удалением лишних связей показан на рис. 3.16. Данный пример является хорошей иллюстрацией того как решение задачи идентификации и удаления лишних связей приводит к рационализации ЛМД.

Рис.3.16 Пример дублирующей связи объектов

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

На этапе 360 должны быть окончательно проверены все пути доступа запросов к данным и "Схема распространения эффектов". В "Каталоге требований" должны быть задокументированы все удаленные лишние связи.

3.9.9. Раскрытие связей типа m:n.

На ранних стадиях разработки ЛМД может содержать в себе очень много связей типа n:m, которые обычно отражают правила деловой жизни данной организации.

К тому же связи данного типа часто оказываются полезными при обсуждении модели с пользователями.

Все связи типа n:m должны быть раскрыты к концу этапа 340, так как они скрывают понятия главный/вспомогательный объект и делают невозможным четкое определение путей доступа к данным. Раскрытие связи данного типа обычно осуществляется введением в схему связанного объекта, который разбивает эту связь на две связи типа 1:m. Несмотря на внешнюю простоту используемого приема преобразований структуры, его применение не механический процесс, а мощный способ структурного анализа. При этом из исходного объекта, содержащего не ключевые атрибуты, выделяется связанный объект, который более точно описывает главные объекты и природу связи между ними.

Например, можно допустить, что есть необходимость в связи типа n:m между объектами "ЗАЯВЛЕНИЕ" и "СОБСТВЕННОСТЬ", описываемой следующим утверждениями:

• "Каждым заявлением может быть предложен один или более экземпляр собственности";

• "Каждый экземпляр собственности может быть предложен по одному или более заявлениям".

Но тогда мы наблюдаем, что упущены характеристики, на основе которых "СОБСТВЕННОСТЬ" распределяется по "ЗАЯВЛЕНИЯМ", т.е. объект "ПРЕДЛОЖЕНИЕ", включающий в свой состав такие атрибуты как "Дата предложения" (см. рис. 3.14).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]