Васючкова Т.С. Теория систем и структурный подход к моделированию - файл n2.doc

Васючкова Т.С. Теория систем и структурный подход к моделированию
Скачать все файлы (695.2 kb.)

Доступные файлы (2):
n1.doc303kb.05.12.2012 15:02скачать
n2.doc1002kb.05.12.2012 15:12скачать

n2.doc

1   2   3   4   5   6   7
2.6.3.1. Логические модели данных.

Логические модели данных универсальны. Посредством этих моделей отображается абстрактный взгляд на данные. Объекты логической модели соответствуют объектам реального мира и могут носить такие же названия. Например: Отдел, Сотрудник, Ведомость и т.п.

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


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


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


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

2.6.3.2. Физические модели данных.

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


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


Модель получается путем автоматической генерации из трансформационной модели и является отображением системного каталога СУБД.
2.6.3.3. Инструменты ERwin.
Наиболее важными и используемыми в процессе разработки логической и физической моделей являются следующие инструменты ERwin:
Кнопка указателя мыши – для выбора обьекта.



м Кнопка внесения на диаграмму сущности.





Кнопка создания категориальной связи.


T


Кнопка внесения текстового блока.



Кнопка создания идентифицирующей связи.


Кнопка создания связи многие-ко-многим.





Кнопка создания неидентифицирующей связи.
Кнопки переключения уровней просмотра модели:




уровень сущностей, уровень атрибутов, уровень определений.


Создание в среде ERwin новой модели данных.
При создании новой модели данных (меню File/New) следует указать тип модели Logical/Phisical, чтобы иметь возможность работать с моделью на двух уровнях: Логическом и Физическом. Также нужно выбрать из списка Target Database желаемый сервер СУБД.



Установка шрифта.

Выполняется в окне Default Font&Color, которые открывается в меню Format. Установку шрифта следует выполнить для каждого типа обьекта – сущности, атрибута, связи, открыв соответствующую вкладку. Шрифт можно также установить для конкретного обьекта, открыв его контекстное меню по правой кнопке мыши и выбрав соответствующий режим.


2.6.3.4. Создание логической модели.

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


Сущности.

В качестве сущности может выступать обьект, событие, процесс или концепция. Именуется существительным в единственном числе. Имя сущности дается по имени ее экземпляра. Например: Студент, Класс, Отдел.

Чтобы создать на диаграмме сущность, нужно использовать соответствующую кнопку на панели инструментов, и затем по правой кнопке выбрать пункт меню Entity Editor для редактирования сущности. В окне Entity Editor в поле Name следует задать имя сущности, а в поле Definition- описание сущности.
На вкладке UDP для каждой сущности можно внести свойства, определяемые пользователем. (UDP- User Defined Properties). Для этого в строке таблицы нужно щелкнуть по кнопке со знаком + и внести имя, тип данных, значение по умолчанию и определение. Например:





Name

Type

Default




Document

Command

D:\zz/doc




Level

List

A,b,c,d


ERwin поддерживает для UDP следующие типы данных:


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


Номер отдела
Название отдела


Область ключа

Область данных


Зависимые и независимые сущности.

Сущность называется независимой (родительской) если для идентификации ее экземпляров (записей) не требуются атрибуты других сущностей. Независимые сущности отображаются на диаграмме в виде прямоугольника с прямыми углами. Зависимые сущности изображаются на диаграмме в виде прямоугольника со скругленными углами. Вид сущности устанавливается в момент создания связи между сущностями. (См.ниже)


Атрибуты сущностей.

Каждый атрибут является характеристикой сущности, описанием ее свойства.

Для описания атрибутов нужно выделить сущность, по правой кнопке открыть меню и выбрать пункт Attribute Editor – редактор атрибутов.



Создание и описание нового атрибута.

Для создания нового атрибута нужно в окне Attribute Editor щелкнуть по кнопке New и в окне New Attribute указать имя атрибута, название соответствующего ему столбца в таблице физической модели и домен (тип данных). При описании атрибута первичного ключа во вкладке General нужно поставить галку в окне Primary Key.
Связи.

Связи показывают, как сущности соотносятся друг с другом логически. Связь именуется глаголом или глагольной фразой (Relationship Phrases). Например:
СТУДЕНТ <выполняет> ЗАДАНИЯ
Идентифицирующая связь.

Сущности делятся на зависимые и независимые в зависимости от типа связей между ними. Идентифицирующая связь, установленная от родительской сущности к дочерней, превращает дочернюю сущность в зависимую. Установление идентифицирующей связи сопровождается миграцией ключевого атрибута родительской сущности в область ключа дочерней сущности. Мигрирующий ключ в дочерней сущности помечается справа как внешний ключ (FK). Идентифицирующая связь изображается в виде сплошной линии с точкой на конце связи на стороне дочерней сущности.






Неидентифицирующая связь.

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

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





Изменение типа связи.

Тип связи можно изменить. Для этого нужно выделить связь и открыть меню по правой кнопке мыши. В окне Relationship Editor на вкладке General можно установить тип связи посредством опции Relationship Type:

Identifying (идентифицирующая) или Nonidentifying (неидентифицирующая).

При установке опции в значение Nonidentifying становится доступным режим установки опции Null:

Null Allowed - значения Null разрешены (на конце связи на стороне родителя появляется белый ромб)

No Nulls - значения Null запрещены (на конце связи на стороне родителя ромба нет).


Мощность связи(Cardinality).

Отношение числа экземпляров родительской сущности к числу экземпляров дочерней отображается при помощи Мощности связи – опция Cardinality на вкладке General окна Relationship Editor. Различают 4 типа мощности связи:

Родитель

Потомок

Описание

1

0,1 или много

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

1

1 или много

одному экземпляру родительской сущности соответствует 1 или много экземпляров дочерней. Связь помечается символом Р

1

0 или 1

одному экземпляру родительской сущности соответствует 0 или 1 экземпляров дочерней. Множественные значения исключены. Связь помечается символом Z

1

Конкретное число

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


Связь типа многие-ко-многим возможна только в логической модели. При переходе к физической модели эта связь автоматически разрешается в связи типа один-комногим.

Преобразование выполняется путем добавления новой таблицы, отображающей взаимодействие между исходными сущностями. Например:


КНИГИ

ЧИТАТЕЛИ
оо оо



Для того, чтобы на диаграмме отобразился символ обозначения мощности связи нужно выбрать пункт меню Display Option/Relationship и включить опцию Cardinality.

Для отображения на диаграмме имени связи (Verb Phrase) в меню Display Option/Relationship надо включить опцию Verb Phrase.
Правила ссылочной целостности(RI- Referential Integrity).

Для обеспечения целостности базы данных по ссылкам, то есть соответствия друг другу значений первичных и внешних ключей отношений (сущностей), можно задать логические правила, которые будут выполняться при выполнении операций добавления, удаления и редактирования записей. Эти правила можно прописать для каждой связи при помощи закладки Rolename/RI Action для того, чтобы система сгенерировала соответствующие триггеры. Триггеры – это программы, которые выполняются CУБД всякий раз при выполнении команд вставки, замены или удаления (INSERT, UPDATE, DELETE).

Например:

Две сущности Отдел и Сотрудник связаны идентифицирующей связью.

Предположим, удаляется запись из таблицы Отдел. В таблице Сотрудники записи с кодом удаленного отдела как бы «повисают в воздухе». По коду отдел невозможно идентифицировать, так удалена соответствующая запись в таблице Отдел. Сотрудники

оказываются без Отдела. Сотрудник не может существовать без Отдела, т.к. значение Null для атрибута Номер Отдела запрещено. Правила ссылочной целостности требуют создания правила, в соответствии с которым или нельзя удалять Отдел, пока в нем есть сотрудники, или удалять Отдел вместе с сотрудниками, которые к нему относятся. Такие правила удаления называются “ограничение(RESTRICT)” и “каскад(CASCADE)”.

Если мы зададим правило RESTRICT, то при попытке удаления сервер СУБД выдаст ошибку.

ERwin автоматически устанавливает правило ссылочной целостности для каждой связи по умолчанию, но эти правила по желаю разработчика могут быть изменены в режиме Model/Model Properties/RI Defaults.



Типы зависимых сущностей и иерархия наследования.

Зависимые дочерние сущности бывают следующих типов:

Характеристическая. Связана только с одной родительской и хранит информацию о характеристиках родительской сущности.


Книга

Жанр


Ассоциативная. Связана с несколькими родительскими сущностями. Хранит информацию о связях сущностей.

Книга

Обмен книг

Читатель





Именующая. Частный случай Ассоциативной сущности. Содержит только атрибуты родительских сущностей, мигрировавшие в качестве внешнего ключа.
Категориальная. Дочерняя сущность в иерархии наследования(категорий).

Для каждой категории можно указать дискриминатор – атрибут родового предка, по которому можно определить, как одна категориальная сущность отличается от другой.

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

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

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







- символ неполной категории





Пример неполной иерархии категорий:


В нижеследующем примере: Тип – пример неполной категории, Пол – пример полной категории.



2.6.3.5. Создание физической модели данных.
Выбор сервера СУБД.

При создании новой модели выбирается сервер СУБД. Выбранный сервер определяет физический уровень представления модели. Для того, чтобы переключится на физический уровень модели, нужно выбрать кнопку Phisical/Logical на панели инструментов.

Сервер СУБД можно изменить при помощи пункта меню Database/Choose Database.

В окне Target Server можно выбрать новый сервер СУБД.

На основе данных логической модели Erwin автоматически создаст имена таблиц и столбцов (атрибутов) на языке описания данных выбранной СУБД.
Изменение модели на физическом уровне.

На физическом уровне в модель можно добавить новую таблицу. Свойства таблицы можно описать в окне Table Editor.




Представления.

Представления – это виртуальные таблицы, которые не существуют физически и не хранят данные, а формируются динамически по запросу. С помощью представления можно показать данные нескольких таблиц. Представления позволяют показать данные одной или нескольких таблиц в форме удобной и привычной для пользователя. Данные, отображаемые в представлении, уже не должны отвечать требованиям нормализации и быть избыточными. Кнопка для создания представления и добавления его в диаграмму похожа на кнопку для создания сущности, но отличается тем, что границы сущности обозначены пунктирной, а не сплошной линией. Представление на диаграмме и связи его с таблицами также изображаются пунктирной линией. В окне View Editor в диалоге можно описать структуру представления, выбрав из таблиц необходимые атрибуты.
Генерация физической схемы базы данных.

Генерация физической схемы базы данных из логической модели данных выполняется в режиме так называемого прямого проектирования (Forward Engineering). Физическая схема базы данных включает в себя все характеристики таблиц, описанные на этапе проектирования модели(характеристики атрибутов, триггеры ссылочной целостности, индексы и т.д.). Для выполнения прямого проектирования служит меню Tool/ Forward Engineering/Schema Generation.



Возможна обратная генерация логической модели данных из физической схемы. Этот процесс называется обратным проектированием (Reverse Engineering). Выполняется из соответствущего пункта меню Tools/Reverse Engineering.




1   2   3   4   5   6   7
Учебный текст
© perviydoc.ru
При копировании укажите ссылку.
обратиться к администрации