
Обобщенная методология
1.1 Создание локальной модели данных
Создание локальной концептуальной модели данных предприятия на основе представления предметной области каждого отдельного типа производства.
В представлении, как правило, выделяется подсистема и информационная система, которая в свою очередь определяются на основе реальных бизнес процессов предприятия. В зависимости степени из перекрытия некоторые пользовательские представления объединяются, и создается общее представление, которому присваивается подходящее имя.
Определение типов сущности – анализ спецификации требований, появление документирования типов сущности. После выделения каждый сущности ей следует присвоить определенное осмысленное имя, которое обязательно должно быть понятно пользователю. Выбранное имя и описание сущности помещается в словарь данных. Если это возможно следует установить и внести в документацию данные об ожидаемом количестве экземпляров каждой сущности.
Если сущность известна пользователю под разными именами, все дополнительные имена рекомендуется определить как синонимы или псевдонимы и также занести в словарь данных.
1.2 Определение типов связи
Определение важнейших типов связи существующих между сущностями. Проектировщиков интересуют только те связи, которые необходимо для удовлетворения требований проекта.
В большинстве случаев связи являются двухсторонними.
Особое внимание стоит уделять проверки тому, были ли выделены все связи, явно или неявно присутствующие в спецификации к требованиям. То есть проверка на полноту.
1.3 Применение ЕР диаграмм для наглядного отображения сущностей и связей
Определение ограничений кратности
После выявления необходимых связей требуется проверить, служит ли каждая связь в модели подлинным отображением зависимости реального мира. Кроме того следует убедиться в том, нет ли в модели не выявленных дефектов соединения: дефект типа разветвления и дефект типа разрыв.
Проверка того, участвует ли каждая сущность, по меньшей мере, в одной связи.
Дефект типа разветвления – имеет место в том случае, когда модель отображает связь между типами сущности, но путь между отдельными сущностями этого типа определен не однозначно (несколько связей типа 1:* исходят из одной сущности).
Дефект типа разрыв – появляется в том случае, когда в модели предполагается наличие связи между типами сущности, но не существует пути между отдельными сущностями этих типов. Существует одна сущность с минимальной кратностью = 0, которая обозначает необаятельное участие. Эти связи составляют часть пути, между взаимосвязанными сущностями.
1.4 Определение атрибутов и сопоставление их с типами сущностей и связей
Выявление простых составных атрибутов, однозначных – многозначных атрибутов, и производных.
К каждому выявленному атрибуту следует присвоить осмысленное имя, понятное пользователю.
О каждом атрибуте в документацию помещаются следующие сведения:
Имя и описание
Тип данных и размерность значений
Характеристика псевдонима
Информация о том, является ли атрибут составным, и если это так, из каких атрибутов он состоит
Информация о том, является ли атрибут многозначным
Информация о том, является ли атрибут производным и если это так, какой метод используется для вычисления его значения
Значение по умолчанию
Допускаются ли пустые значения NULL
1.4 Определение доменных атрибутов
Домены должны содержать следующие данные:
Набор допустимых значений для атрибута
Сведения о размере и формате каждого из атрибутов
1.5 Определение атрибутов являющихся потенциальными первичными ключами\
Определение потенциального ключа для каждого типа сущности, если таковых несколько, следует выбрать один в качестве первичного.
Документирование сведений о первичных ключах для каждой сильной сущности.
1.6 Анализ необходимости применения расширенных понятий моделирования
(расширенная ER модель)
Уточнение-обобщение, агрегирование, композиция
1.7 Проверка модели на отсутствие избыточности
Повторное исследование связи 1:1 (исключение дубликатов сущности, удаление избыточных связей)
Избыточность – представленная в ней информация может быть получена с помощью других связей
1.8 Проверка соответствия локальной концептуальной модели пользовательским транзакциям
Транзакция – действие, операция
1.9 Обсуждение локальных концептуальных моделей с конечными пользователями
2. Построение и проверка локальной, логической модели данных для каждого представления
Исключение особенностей несовместимых с реляционной моделью:
- Удаление связей многие ко многим *:*
- Удаление сложных связей
- Удаление многозначных атрибутов
Если в концептуальной модели данных присутствует сложная связь, необходимо выполнить ее декомпозицию для выявления промежуточных сущностей. Сложная связь заменяется необходимым количеством двухсторонних связей, со вновь выявленной сущностью.
Определение набора отношений исходя из структуры локальной логической модели данных, необходимого для представления сущностей связей и атрибутов, выявленных в процессе концептуального моделирования
(Документирования сведений об отношениях и атрибутах внешних ключей, а также о новых первичных и потенциальных ключах)
Сильные типы сущности:
Для каждой сильной сущности в модели данных создается отношение, включающее все простые атрибуты этой сущности
В случае составных атрибутов в отношения включаются только составляющие их простые атрибуты
Слабые типы сущности:
Для каждой слабой сущности создается отношение, включающее все простые атрибуты этой сущности
Первичный ключ слабой сущности частично или полностью зависит от ключа сущности владельца и поэтому выявление первичного ключа слабой сущности невозможно выполнить до тех пор, пока не завершено преобразование в отношения всех связей сущностей владельцев
Двухсторонние связи типа 1:*
Для каждой двухсторонней связи 1:* сущность, находящаяся на стороне связи 1, определяются как родительская, а сущность на стороне связи * как дочерняя.
Для обозначения этой связи копия атрибута первичного ключа родительской сущности передается в отношение соответствующее дочерней сущности для использования в качестве внешнего ключа. В дочернюю сущность передаются также все атрибуты связи
Двухсторонние связи типа 1:1
Обязательное участие обеих сторон – объединить сущности в одно отношение. Необходимо выбрать один из первичных ключей первоначальных сущностей для использования в качество первичного ключа нового отношения, а другой первичный ключ, если он существует, для использования в качестве альтернативного ключа. В том случае, если связь 1:1 с обязательным участием обеих сторон имеет один или несколько атрибутов, эти атрибуты должны быть также включены в создаваемое отношение
Обязательное участие одной стороны – сущность, которая характеризуется не обязательным участием в связи, обозначается как родительская, а сущность, которая должна обязательно участвовать, обозначается как дочерняя – данный внешний ключ образует так же первичный ключ дочернего отношения
Необязательное участие обеих сторон – произвольный выбор, если отсутствует дополнительная информация, позволяющая обосновать правильный выбор