Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Теоретические сведения. Лабораторная работа № 6 Проектирование модели данных с использованием методологии IDEF1Х




Лабораторная работа № 6 Проектирование модели данных с использованием методологии IDEF1Х

 

Цель работы: знакомство с нотацией IDEF1Х методологии проектирования моделей данных. Приобретение практических навыков при проектировании модели данных в заданной предметной области с использованием CASE -средства.

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

CASE -средство ERwin представляет собой инструмент разработки модели данных, способный автоматически создавать таблицы и генерировать текст хранимых процедур для всех популярных СУБД (более 20 реляционных и не реляционных БД).

ERwin имеет два уровня представления модели - логический и физический. Логический уровень - это абстрактный взгляд на данные. Объекты модели, представляемые на логическом уровне, называются сущностями, атрибутами и связями. Для создания моделей данных логического уровня в ERwin можно использовать две нотации: IDEF1X и IE (InformationEngineering). Модель данных на физическом уровне, зависит от конкретной СУБД, определенной для реализации, фактически являясь отображением системного каталога. В физической модели содержится информация обо всех объектах БД: таблицах, представлениях, индексах, триггерах, хранимых процедурах, триггерах ссылочной целостности. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей.

Различают три уровня логической модели, отличающихся по глубине представления информации о данных: диаграмма сущность-связь, модель данных, основанная на ключах и полная атрибутивная модель.

Основные элементы диаграммы модели данных IDEF1X

Сущность (Entity) описывает собой совокупность или набор экземпляров реального мира похожих по свойствам, но однозначно отличаемых друг от друга по одному или нескольким признакам.

Атрибут (Attribute) хранит информацию об определенном свойстве сущности. Каждый экземпляр сущности индивидуален и должен отличаться от всех остальных экземпляров. Атрибут или группа атрибутов, которые идентифицируют каждый экземпляр сущности, называется первичным ключом (PrimaryKey, PK).

С точки зрения реляционной БД (физическая модель) каждой сущности соответствует таблица, экземпляру сущности - строка в таблице, а атрибуту - колонка таблицы.

Согласно синтаксису IDEF1X имя сущности и имя атрибута должны быть уникальны в рамках модели.

Связь (Relationship) является логическим соотношением между сущностями. На логическом уровне могут быть установлены следующие виды связей: идентифицирующая связь один-ко-многим или один-ко-одному, связь многие-ко-многим и неидентифицирующая связь один-ко-многим.

Различают зависимые и независимые сущности. Тип сущности определяется ее связью с другими сущностями. Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Когда устанавливается идентифицирующая связь, ERwin автоматически преобразует дочернюю сущность в зависимую. Экземпляр зависимой сущности определяется только через отношение к родительской сущности. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешний ключ - (ForeignKey, FK).В дальнейшем, при генерации схемы БД, атрибуты первичного ключа получат признак NOT NULL.

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

Мощность связи (Cardinality) служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней. Различают четыре типа мощности:

- одному экземпляру родительской сущности соответствуют 0, 1 или много экземпляров дочерней сущности (по умолчанию);

- одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (символ Р);

- одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (символ Z);

- одному экземпляру родительской сущности соответствует заранее заданное число экземпляров дочерней сущности (число).

Имя связи – глагольная фраза, характеризующая отношение между родительской и дочерней сущностями. Связь многие-ко-многим должна именоваться двумя фразами - в обе стороны. Это облегчает чтение диаграммы.

Для неидентифицирующей связи можно указать обязательность (NoNulls). В случае обязательной связи при генерации схемы БД атрибут внешнего ключа получит признак NOT NULL, несмотря на то, что внешний ключ не войдет в состав первичного ключа дочерней сущности. Необязательная неидентифицирующая связь помечается прозрачным ромбом со стороны родительской сущности.

При установке связи также необходимо указать правила ссылочной целостности.

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

Различают несколько типов зависимых сущностей: характеристическая, ассоциативная, именующая и категориальная. Категориальные сущности в иерархии наследования создают в случаях, когда несколько сущностей имеют общие по смыслу атрибуты. Иерархия наследования может быть полной или неполной. Для каждой категории можно указать дискриминатор - атрибут родового предка, который показывает, как отличить одну категориальную сущность от другой.

Как и в реляционных схемах баз данных, в ER -схемах вводится понятие нормальных форм, причем их смысл соответствует смыслу реляционных нормальных форм.

Физическая модель содержит всю информацию, необходимую для реализации конкретной БД. Модель СУБД автоматически генерируется из трансформационной модели и является точным отображением системного каталога СУБД.

По умолчанию ERwin генерирует имена таблиц, колонок и индексов по шаблону на основе имен соответствующих сущностей, атрибутов и ключей логической модели, учитывая синтаксические ограничения, накладываемые целевой СУБД. ERwin поддерживает правила валидации для доменов и колонок, а также значение, присваиваемое по умолчанию. Правило валидации задает список допустимых значений и/или правила проверки допустимых значений.

ERwin имеет специальные инструменты для создания и редактирования представлений. Представления (View) представляют собой объекты БД, данные в которых не хранятся постоянно, как в таблице, а формируются динамически при обращении к представлению. Применение представлений позволяет разработчику БД обеспечить каждому пользователю или группе пользователей свой взгляд на данные, что решает проблемы простоты использования и безопасности данных.

Чтобы решить проблему поиска данных, СУБД использует особый объект, называемый индексом. Индекс содержит отсортированную по колонке или нескольким колонкам информацию и указывает на строки, в которых хранится конкретное значение колонки. При генерации схемы физической БД ERwin автоматически создает отдельный индекс на основе первичного ключа каждой таблицы, а также на основе всех альтернативных ключей, внешних ключей, поскольку эти колонки наиболее часто используются для поиска данных. Можно отказаться от генерации индексов по умолчанию и для повышения производительности создать собственные индексы. Администратор СУБД должен анализировать наиболее часто выполняемые запросы и создавать индексы с различными колонками и порядком сортировки для увеличения эффективности поиска при работе конкретных приложений.

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

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

Триггер выполняется автоматически как реакция на одно из событий (вставка, изменение или удаление строки). Хранимая процедура может вызываться из клиентского приложения или из другой хранимой процедуры.

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

Для генерации триггеров ERwin использует механизм шаблонов - специальных скриптов, использующих макрокоманды. При генерации кода триггера вместо макрокоманд подставляются имена таблиц, колонок, переменные и другие фрагменты кода, соответствующие синтаксису выбранной СУБД. Шаблоны триггеров ссылочной целостности, генерируемые ERwin, по умолчанию можно изменять, кроме того, можно переопределить как триггеры для конкретной связи, так и шаблоны во всей модели в целом.

 

Задание к выполнению

 

В соответствии с вариантом, определяющим предметную область, разработать модель данных с использованием CASE -средства ERwin на двух уровнях представления модели: физическом и логичес-ком, следуя следующим рекомендациям:

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

2. Выполнить проектирование логической модели данных предметной области, которая обязательно должна включать в себя все типы сущностей: независимые и зависимые (характеристическую, ассоциативную, именующую и категориальную) в соответствии с семантикой предметной области.

3. Использовать в модели данных различные виды связей между сущностями: идентифицирующие и неидентифицирующие. На основе знаний о предметной области определить для всех связей имена, обязательность или необязательность и типы мощностей. Для каждой связи должно быть приведено текстовое описание бизнес-правила.

4. На основе логической модели создать физическую модель, используя в качестве целевой СУБД выбрать SQL -сервер Interbase.

5. Продемонстрировать в работе возможности ERwin по созданию просмотров, индексов, правил валидации, задания значений по умолчанию, переопределению типов ссылочной целостности.

6. Познакомиться с SQL кодом серверной части ИС, автоматически сгенерированным ERwin на основе физической модели.

7. Для повышения наглядности ER -диаграмм использовать возможности ERwin по форматированию шрифта и объектов диаграммы.

 

Контрольные вопросы

1. Уровни моделирования данных. Архитектура ANSI / SPARC?

2. Назначение и возможности CASE -средства ERwin?

3. Основные элементы модели данных логического уровня, их назначение, графическое изображение?

4. Виды сущностей логической модели данных?

5. Виды связей логической модели данных, их различие?

6. Виды и назначение зависимых сущностей?

7. Правила именования различных видов связи и определение типов мощностей для них?

8. В чем отличие обязательной и необязательной связей?

9. Порядок перехода от модели логического уровня к реляционной модели данных?

10. Назначение объектов БД, работу с которыми поддерживает ERwin?

11. Возможности ERwin при работе с правилами ссылочной целостности?

12. Нормализация концептуальной модели данных?





Поделиться с друзьями:


Дата добавления: 2017-01-14; Просмотров: 432; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.021 сек.