
- •Министерство образования Российской Федерации
- •Базы данных Методические указания
- •1 Уровни представления данных
- •2 Построение концептуальной модели предметной области
- •3 Методология инфологического проектирования idef1x
- •3.1 Основные элементы lDeFlX-диаграммы
- •3.2 Построение мифологической модели
- •3.2.1 Определение сущностей
- •3.2.2 Определение зависимостей между сущностями
- •3.2.3 Определение альтернативных ключей
- •3.2.4. Связи категоризации
- •3.3 Средство автоматизации разработки концептуальной, додели предметной области eRwin
- •3.3.1 Создание сущностей и связей между ними
- •3.3.2 Определение атрибутов
- •3.3.3 Определение характеристик связи
- •3.3.4 Другие возможности системы eRwin
- •3.3.5 Пример построения ideFlX-диаграммы
- •4. Логическое проектирование
- •4.1. Обоснование необходимости нормализации.
- •4.2 Нормальные формы отношений
- •4.3 Нормализация через декомпозицию
- •Idef1x – диаграмма
- •Содержание курсового проекта
3 Методология инфологического проектирования idef1x
Методология IDEF1X была разработана для ВВС США и теперь используется, в частности, в правительственных, аэрокосмических и финансовых учреждениях, а также в большом числе частных компаний.
В декабре 1993 года лаборатория компьютерных систем Национального института стандартов и технологии определила IDEFIX как стандарт моделирования данных.
Методология 1DEFIX определяет стандарты терминологии, используемой при информационном моделировании, и графического изображения типовых элементов на диаграммах.
3.1 Основные элементы lDeFlX-диаграммы
IDEFlX-диаграмма строится из трех основных блоков - сущностей, атрибутов и связей. Если рассматривать диаграмму, как графическое представление правил предметной области, то сущности являются существительными, а связи-глаголами.
Сущность – это, например, человек, место, вещь, событие, концепция, о которых хранится информация. Сущности именуются обычно существительными, такими, как "покупатель", "компьютер"', "служащий", "продажа".
Более точно сущность - это множество индивидуальных объектов-экземпляров, причем все эти объекты являются различными.
Связь – это функциональная зависимость между сущностями. Например, СЛУЖАЩИЙ совершает ПРОДАЖИ.
Каждая сущность обладает атрибутами. Атрибут - это свойство объекта, характеризующее его экземпляр. Сущность СЛУЖАЩИЙ может иметь атрибуты Имя, Дата рождения и т.д.
3.2 Построение мифологической модели
Процесс построения инфологической модели состоит из следующих шагов:
- определение сущностей;
- определение зависимостей между сущностями;
задание первичных и альтернативных ключей;
определение атрибутов сущностей;
приведение модели к требуемому уровню нормальной формы.
3.2.1 Определение сущностей
Первый шаг моделирования - извлечение информации из интервью и выделение сущностей.
Каждая сущность должна обладать уникальным идентификатором. Каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от всех других экземпляров данного типа сущности. Каждая сущность должна обладать некоторыми свойствами:
иметь уникальное имя, и к одному и тому же имени должка всегда применяться одна и та же интерпретация. Одна и та же интерпретация не может применяться к различным именам, если только они не являются псевдонимами;
обладать одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через связь;
обладать одним или несколькими атрибутами, которые однозначно идентифицируют каждый экземпляр сущности;
может обладать любым количеством связей с другими сущностями модели.
На диаграмме сущность изображается прямоугольником (рис. 2). Прямоугольник может содержать имя сущности, ее описание, список ее атрибутов и другие сведения.
Рис. 2 Пример изображения сущности
Каждой сущности присваивается уникальное имя и номер, разделяемые косой чертой “/” и помещаемые над блоком.
Следующим шагом моделирования является идентификация атрибутов.
Атрибут - любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности.
Горизонтальная линия прямоугольника разделяет атрибуты сущности на два набора - атрибуты, составляющие первичный ключ в верхней части, и прочие (не входящие в первичный ключ) - в нижней части.
Каждая сущность должна обладать хотя бы одним возможным ключом.
Возможный ключ сущности - это один или несколько атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. При существовании нескольких возможны ключей один из них обозначается в качестве первичного ключей, а остальные – как альтернативные ключи.
Первичный ключ - это атрибут или набор атрибутов, уникально идентифицирующий экземпляр сущности.
Помимо того факта, что ключ обязан однозначно идентифицировать сущность, все атрибуты ключа должны удовлетворять свойству однозначной идентификации (правило наименьшего ключа). Таким образом, при определении» должен ли наследуемый атрибут быть частью ключа, требуется выяснить, необходим ли этот атрибут для однозначной идентификации. Однозначной идентификации родителя при этом недостаточно.
Существует два правила зависимости.
Правило полной функциональной зависимости утверждает, что первичный ключ состоит из множества атрибутов. Все не ключевые атрибуты должны функционально зависеть от всего первичного ключа.
Правило не транзитивной зависимости утверждает, что каждый не ключевой атрибут должен функционально зависеть только от ключевых атрибутов.
Кроме того, ни одна из частей ключа не должна иметь значение NULL, т. е. не должна быть незаполненной или отсутствующей.
Если несколько наборов атрибутов могут уникально идентифицировать сущность, то выбор одного из них осуществляется разработчиком на основании анализа предметной области.
Правила, по которым вы выбираете первичный ключ из списка предполагаемых ключей, могут быть следующими:
уникальным образом идентифицировать экземпляр сущности;
не использовать неопределенные (NULL) значения;
не изменяться со временем (экземпляр идентифицируется с помощью ключа. При изменении ключа соответственно меняется экземпляр сущности);
быть как можно более коротким для использования, индексирования и получения данных.
Если вам нужно использовать ключ, являющийся комбинацией ключе из других сущностей, убедитесь в том, что каждая из частей ключа соответствует правилам.
Сущности, как правило, соответствует таблица в реальной СУБД.
Сущность является независимой, если каждый экземпляр сущности может быть однозначно идентифицирован без определения его отношений с другими сущностями (сущность СЛУЖАЩИЙ на рис. 3).
Сущность называется зависимой, если однозначная идентификация экземпляра сущности зависит от его отношения к другой сущности (сущность ДЕТИ на рис, 3).
Р
ис.
3 Пример зависимости и независимости
сущности
Экземпляры независимой сущности могут быть уникально идентифицированы без определения ее связей с другими сущностями.
Зависимая сущность, наоборот, не может быть уникально идентифицирована без определения ее связей с другими сущностями.
Зависимая сущность отображается прямоугольником с закругленными углами.