8939

Создание физических моделей в ERwin

Книга

Информатика, кибернетика и программирование

Создание физических моделей в ERwin Изучаются особенности работы с пакетом ERwin 3.5 в процессе создания информационных физических моделей сложных систем. Предназначены для студентов специальности 22 02. Модель, колонка, валидация, индекс, триггер, ...

Русский

2015-02-01

2.93 MB

184 чел.

Создание физических моделей в ERwin

Изучаются особенности работы с пакетом ERwin 3.5 в процессе создания информационных физических моделей сложных систем.

Предназначены для студентов специальности 22 02.

Модель, колонка, валидация, индекс, триггер, хранимая процедура, представление

Печатается по решению методического совета Рязанской государственной радиотехнической академии.


Введение

Создание информационной системы предприятия – достаточно сложный итерационный процесс содержащий фазы разработки логической и физической модели данных [1].

На логическом уровне объектам модели (сущностям и атрибутам) даются имена понятные широкому кругу специалистов, в том числе и на кириллице.

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

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

На основе разработанной физической модели можно сгенерировать системный каталог СУБД или соответствующий SQL-скрипт. Этот процесс называется прямым проектированием (Forward Engineering). Тем самым достигается масштабируемость проекта – создав одну логическую модель данных, можно сгенерировать физические модели под любую поддерживаемую СУБД. С другой стороны, можно по содержимому системного каталога или SQL-срипту воссоздать физическую и логическую модель данных (Reverse Engineering). На основе полученной логической модели данных инструментальное средство проектирования способно сгенерировать физическую модель для другой СУБД, а затем сгенерировать ее системный каталог. В такой последовательности может быть решена задача переноса структуры данных с одного сервера на другой.

В предлагаемых читателю методических указаниях рассматриваются возможности применения инструментального средства ERwin на этапе создания физической модели данных. ERwin относится к категории малых интегрированных средств, поддерживающих несколько разновидностей методологии информационного моделирования, основанной на ER – диаграммах. ERwin далеко не только инструмент для рисования. Он автоматически создает базу данных (таблицы, колонки, индексы, хранимые процедуры, триггеры для обеспечения ссылочной целостности и другие объекты, необходимые для управления данными). Типичная сфера использования интегрированных средств – решение задач так называемой «кусочной» автоматизации предприятия.

Методические указания предназначены для студентов знакомых с ER – методом и имеющих навыки работы с ERwin на этапе создания информационной логической модели [2].


Создание физической модели данных

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

Физический уровень представления модели.  Если логическая модель уже создана, то для просмотра физической модели необходимо воспользоваться списком выбора, расположенным в правой части панели инструментов ERwin (рис.1).

Палитра инструментов. На физическом уровне палитра инструментов (рис.2) несколько отличается от палитры инструментов на логическом уровне:

- вместо кнопки категорий (третья кнопка слева в верхнем ряду) используется кнопка внесения представлений (View);

- кнопка связи «многие ко многим» (третья кнопка слева в нижнем ряду) заменена на кнопку связей представлений.

 Выбор сервера. Для выбора сервера служит редактор (рис.3) Target Server (меню Server/Target Server доступно только на физическом уровне). При составлении методических указаний использовалась СУБД типа InterBase, поэтому необходимо щелкнуть по кнопке рядом с названием этого сервера. В редакторе содержаться следующие окна:

- Default InterBase Datatype. Показывает тип данных, который по умолчанию присваивается каждой колонке таблицы.

- Table Name Macro. Шаблон генерации по умолчанию имени таблицы.

- Index Name Macro. Шаблон генерации по умолчанию имени индекса.

 - Default Non-Key Null Option. Позволяет разрешить или запретить значение NULL для не ключевых колонок.

- Trigger Delimiter. Разделитель для кода триггера.

Кнопка Reset Names вызывает диалог, позволяющий заменить имена (таблиц, колонок, индексов и т.д.), заданные вручную на значения по умолчанию.

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

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

Задание свойств таблицы. Свойства таблицы задаются в редакторе Table Editor (щелкните правой кнопкой мыши по изображению таблицы и выберите пункт Table Editor).

Окна Name и Owner (рис.4) используются для ввода имени таблицы и имени владельца таблицы, отличающегося от имени пользователя, производящего генерацию БД.

Опция Physical Only служит для указания на то, что данная таблица создается только на физическом уровне (в логической модели сущность не создается). Если выбрана опция Generate, то при генерации схемы БД будет выполняться команда CREATE TABLE. В окне Comment вводятся комментарии к созданной таблице.

Диалог Table Editor содержит ряд закладок, которые могут быть использованы на последующих этапах проектирования.

Задание свойств колонок. Свойства колонок таблицы задаются в редакторе Column Editor (щелкните правой кнопкой мыши по изображению таблицы и выберите пункт Column Editor).

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

Для редактирования используются следующие кнопки:

New, Rename, Delete. Служат соответственно для создания, переименования и удаления колонки.

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

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

DB Sync. Служит для запуска процесса синхронизации модели с системным каталогом БД.

Кнопки . Предназначены для перемещения выделенной колонки в списке на позицию вверх или вниз.

В правой части редактора Column Editor отображается информация, соответствующая одной из выбранных закладок:

General. Позволяет присвоить колонку таблицы определенному домену (String, Number и т.д.), создать колонку только на физическом уровне (окно Physical Only) и включить ее в состав первичного ключа (окно Primary Key).

Закладка, соответствующая выбранной СУБД (на рис.5 - InterBase). Имя закладки устанавливается автоматически и соответствует выбранной СУБД. Позволяет задать тип данных, опцию NULL, правила валидации и значения по умолчанию. Правила валидации и значения по умолчанию должны быть предварительно описаны и именованы соответственно в диалогах Validation Rule и Default/Initial Editor. Для вызова этих диалогов служат кнопки справа от соответствующих раскрывающихся списков.

Comment. Служит для внесения комментариев к каждой колонке.

UDP. Задание свойств, определяемых пользователем.

Index. Используется для включения колонки в состав индексов.

Для создания новой колонки необходимо щелкнуть по кнопке New, затем ввести в появившемся диалоге New Column имя атрибута и имя соответствующей ему колонки, а после этого указать домен.

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

Например, значения вводимое в колонку Age, должно быть больше 18, но меньше 40. Для описания этого условия можно было бы непосредственно создать правило валидации с именем «Проверка возраста», которое должно содержать выражение: Age BETWEEN 18 AND 40. Однако, при использовании ERwin этот процесс упрощается.

Для создания нового правила валидации необходимо войти в редактор Column Editor, открыть закладку InterBase и выполнить следующие действия:

  •  выбрать в списке Column нужную колонку;
  •  щелкнуть по кнопке справа от окна Valid;
  •  в окне редактора Validation Rule Editor (рис.6) щелкнуть по кнопке New, ввести имя правила валидации в поле Name диалога New Validation и нажать на кнопку OK;
  •  ввести значения нижней (окно Min) и верхней (окно Max) границы диапазона и выбрать , например, опцию Server.

Кнопка Set Expr диалога позволяет сгенерировать шаблон правила валидации в соответствии с синтаксисом выбранной СУБД с учетом границ диапазона значений (см. окно Server Expression). Полученное правило валидации может быть окончательно связано с именем конкретной колонки в редакторе Column Editor.

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

Например, для колонки Category можно создать список допустимых значений: «Местный», «Иногородний» и «Иностранный». Эта возможность может быть реализована, если после ввода имени нового правила валидации щелкнуть по кнопке Valid Value и перейти в редактор Valid Value.

Для определения значения в списке допустимых значений, следует щелкнуть по кнопке New, ввести значение в поле Name диалога New Valid Value и щелкнуть по кнопке ОК. В нижнем окне редактора Valid Value можно ввести определения для каждого значения. Кнопки Rename, Delete и Sort позволяют соответственно изменить, удалить и отсортировать введенные допустимые значения. Переключатель Insert должен быть выбран при необходимости изменения порядка вставки новых допустимых значений.

При выходе из редактора Valid Value (кнопка ОК) ERwin автоматически создает шаблон правила валидации, используя введенные допустимые значения, например, «%AttFieldName IN (’Местный’, ’Иногородний’, ’Иностранный’)».

Если включить опцию Copy (окно выбора в верхней части редактора Validation Rule), новому правилу будут присвоен список допустимых значений, связанный с уже имеющимися в списке и выбранным правилом валидации.

Чтобы автоматически заключить каждое значение списка в тексте правила валидации в одинарные кавычки, нужно включить опцию Quote. Опция Not позволяет сгенерировать правило валидации в инверсном виде.

Значение по умолчанию – значение, которое нужно ввести в колонку, если никакое другое значение не задано явным образом во время ввода данных. Иногда наиболее часто встречающиеся (наиболее вероятное) в колонке значение присваивается этой колонке в качестве значения по умолчанию. Например, в колонке «возраст призывника» по умолчанию может быть указано 18.

Для создания нового значения по умолчанию необходимо войти в редактор Column Editor, открыть закладку InterBase и выполнить следующие действия:

- войти в редактор InterBase Default/Initial (щелкнуть по кнопке  справа от окна Default);

- щелкнуть по кнопке New, ввести имя правила в поле Name диалога New Default и щелкнуть по кнопке ОК;

- ввести в окне Server Value значение (выражение) по умолчанию.

После выхода из редактора InterBase Default/Initial (кнопка ОК) ERwin автоматически покажет имя вновь созданного правила в окне Default редактора Column Editor. Это правило может быть связано с одной или несколькими колонками модели.

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

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

Имя индекса – строка символов, являющихся объединением трех составляющих:

ИМЯ ИНДЕКСА = Х + ИМЯ КЛЮЧА + ИМЯ ТАБЛИЦЫ,

где Х – первый символ строки имени индекса;

     ИМЯ ТАБЛИЦЫ – физическое имя таблицы.

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

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

Редактор Index Editor позволяет включить колонки в состав существующего индекса, создавать новые индексы (кнопка New), вводить соответствующие комментарии и т.д.

ERwin создает индексы, которые могут иметь либо уникальные, либо повторяющиеся значения. При создании нового уникального индекса (диалог New Index) следует включить опцию Unique. Если колонка вошла в состав уникального индекса, то при попытке вставить запись с неуникальным (повторяющимся значением) сервер выдаст ошибку и значение не будет вставлено.

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

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

Триггеры. Триггером называется процедура, которая выполняется автоматически как реакция на событие. Триггер ссылочной целостности (RI – триггер) – особый вид триггера, используемый для поддержания целостности между двумя таблицами, которые связаны между собой. Если в данной таблице выполняется ВСТАВКА (Insert), ИЗМЕНЕНИЕ (Update) или УДАЛЕНИЕ (Delete), то триггер ссылочной целостности сообщает СУБД, что нужно делать с теми строками у других таблиц, у которых значения внешнего ключа совпадают со значениями первичного ключа вставляемой, изменяемой или удаляемой строки.

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

RESTRUCT. Запрещает СУБД производить требуемое изменение (INSERT, UPDATE или DELETE). Например, при наличии идентифицирующей связи между сущностями КОМАНДА и ИГРОК это правило запрещает удаление названия команды (Parent Delete) до тех по, пока в ней числиться хотя бы один игрок.

CASCADE. Производит требуемое изменение в первой таблице и распространяет его на связанные с ней таблицы (вместе с названием команды удаляются все ее игроки). Использовать правило удаление каскадом следует с большой осторожностью.

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

SET DEFAULT. Работает как SET NULL, с той разницей, что вместо нулевого значения присваивает внешнему ключу значение по умолчанию.

NONE. Ничего не делает (ERwin не усиливает ссылочную целостность). Это правило используется, например, при вставке значений в родительскую таблицу (Parent Insert).

ERwin автоматически присваивает каждой связи значение ссылочной целостности, устанавливаемой по умолчанию, прежде чем добавить ее в диаграмму. Режимы RI, присваиваемые ERwin по умолчанию, могут быть изменены в редакторе Referent Integrity Default (рис.7), который вызывается, если щелкнуть по кнопке RI Defaults диалога Target Server (меню Server/Target Server).

Для генерации по умолчанию кода триггера на языке SQL используются встроенные шаблоны ссылочной целостности, которые автоматически присваиваются каждой связи. Если встроенные шаблоны не удовлетворяют бизнес – правилам, можно изменить коды, генерируемые на основе встроенных шаблонов. ERwin позволяет изменить шаблон и указать, что при генерации модифицированная версия должна заменить встроенный шаблон.

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

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

Для создания или редактирования хранимой процедуры следует щелкнуть правой кнопкой мыши по таблице и выбрать в каскадном меню пункт Table Editor/Stored Procedure. Появляется закладка Stored Procedure диалога Table Editor, которая содержит все элементы, необходимые для ввода, отображения, редактирования кода хранимой процедуры и связывания ее с таблицей.

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

ERwin имеет специальные инструменты для создания и редактирования представлений. Для внесения представления в модель нужно щелкнуть по кнопке в палитре инструментов (рис.2), затем по свободному месту диаграммы. По умолчанию представление получает номер V_n, где n – уникальный порядковый номер представления. Для установления связи нужно щелкнуть по кнопке , затем по родительской таблице и, наконец, по представлению (связь показывается пунктирной линией (рис.8)). Для редактирования представления служит диалог View Editor (рис.9). Для его вызова следует щелкнуть правой кнопкой мыши по представлению и выбрать в меню пункт View Editor.

Раскрывающийся список View позволяет выбрать для редактирования любое представление модели. Окно Name служит для редактирования имени, а Owner – владельца представления.

Диалог View Editor имеет следующие закладки:

Select (рис.9). Имеет два списка: в правом отображаются колонки представления, в левом – колонки доступные для включения в представление. Кнопка New Expression позволяет задать выражение в качестве выходного столбца.

 From. Позволяет выбрать родительские таблицы представления. Каждой таблице можно задать синоним (поле Alias), который будет использоваться при создании SQL-команды создания представления.

 Where. Закладка содержит три поля – Where, Group By и Having. На основе этой информации ERwin генерирует SQL-команду создания представления.

 SQL. Закладка содержит поле, в котором отображается SQL-запрос создания представления.

 Stored Procedure. Позволяет связать с представлением хранимые процедуры.

Для редактирования свойств колонок служит редактор View Column Editor. Для его вызова следует щелкнуть правой кнопкой мыши по представлению и выбрать пункт View Column Editor. Редактор позволяет ассоциировать колонку с доменом. По умолчанию колонка представления принадлежит тому же домену, что и колонка родительской таблицы. Так же как в диалоге View Editor (закладка Select, кнопка New), здесь можно создать выражение для колонки.

Более подробные сведения касающиеся различных особенностей процесса  создания физических моделей реляционных баз данных читатели могут найти в учебнике [3].

Библиографический список

1. Маклаков С.В. Bpwin и ERwin. CASE – средства разработки информационных систем. М.: ДИАЛОГ-МИФИ, 1999. 256с.

2. Создание логических моделей в ERwin: Методические указания к практическим занятиям / Рязан. гос. радиотехн. акад.;  Сост.: В.Е. Борзых,  А.В. Борзых. Рязань, 2000. 12 с.

3. Дейт, К., Дж. Введение в системы баз данных, 6-е издание: Пер. с англ. – К.; М.; СПб.: Издательский дом «Вильямс», 2000. 848 с.


-2-

Рис.1

Рис.2

-3-

Рис.3

-4-

Рис.4

Рис.5

-5-

-6-

Рис.6

-7-

-8-

9-

Рис.7

-10-

Рис.8

-11-

Рис.9

Рис.10

-12-


 

А также другие работы, которые могут Вас заинтересовать

41137. Проекции прямой 337 KB
  Положение прямой относительно плоскости проекций Определение натуральной величины отрезка. Следы прямой. Проецирование прямой на три плоскости проекции.
41138. Топологические элементы схемы: ветви, узлы, контуры 435 KB
  Электрическая схема представляет собой графическое изображение электрической цепи. Она показывает как осуществляется соединение элементов рассматриваемой электрической цепи. Электрическими элементами схемы служат активные и пассивные элементы цепи. Ветвь – участок схемы расположенный между двумя узлами и образованный одним или несколькими последовательно соединенными электрическими элементами цепи рис.
41139. Основные понятия теории вакуума 574 KB
  Первый принцип реализован в газоперемещающих насосах. Для удаления порции газа необходимо изолировать в рабочей камере насоса определенный объем газа переместить его от входного патрубка насоса к выходному сжать в процессе перемещения до давления большего чем давление в выходном сечении насоса и вытолкнуть газ за пределы насоса. Вакуумные насосы которые откачивают газ отдельными порциями в результате периодического изменения объема и положения рабочей камеры называются объемными вакуумными насосами. Объемными вакуумными насосами...
41140. Турбомолекулярные насосы 332 KB
  Поэтому вал таких насосов должен вращаться со скоростью 10 000–60 000 об мин в зависимости от диаметра насоса. По сравнению со многими другими сверхвысоковакуумными насосами турбомолекулярным насосам присущ ряд преимуществ: постоянная готовность к работе быстрый 10–15 мин запуск нечувствительность к резкому повышению давления вплоть до атмосферного широкий диапазон рабочих давлений 10–7 – 10–1 Па примерно одинаковая быстрота действия по большинству газов чрезвычайно высокая степень сжатия 1015 для газов с большой молекулярной...
41141. Объекты логистического управления 85 KB
  Материальные потоки их характеристика и классификация. Финансовые информационные потоки и потоки услуг. Материальные потоки их характеристика и классификация. Материальные потоки образуются в результате транспортировки складирования и выполнения других материальных операций с сырьем полуфабрикатами и готовыми изделиями начиная от первичного источника сырья вплоть до конечного потребителя.
41142. Программные средства шифрования 298.5 KB
  Все звучит довольно красиво, и, как правило, оправдывается на деле при использовании шифрования. Шифрование, несомненно, является важнейшим средством обеспечения безопасности. Механизмы шифрования помогают защитить конфиденциальность и целостность информации. Механизмы шифрования помогают идентифицировать источник информации.
41143. Первый закон термодинамики 154.5 KB
  Первый закон термодинамики. До формулировки Первого начала термодинамики в 1840х годах учеными Джоулем 1840 Майером 1842 и Гельмгольцем 1847 в науке наряду с материалистическим пониманием закона сохранения и превращения энергии одной из форм которого и является Первое начало термодинамики существовала теория теплорода. Формулировка Первого начала термодинамики основана на экспериментальных исследованиях. Первый закон термодинамики вообще говоря является постулатом.
41144. ПРИБОРЫ ДЛЯ ИЗМЕРЕНИЯ ДАВЛЕНИЯ 845.5 KB
  Неотъемлемой частью любой вакуумной системы является аппаратура для измерения давления разрежённого газа. Область давления используемая в современной вакуумной технике 105 – 1012 Па. В практике измерения давления разрежённых газов применяются различные типы преобразователей отличающиеся по принципу действия и классу точности. При малых давлениях непосредственное измерение силы давления невозможно из-за её малости.
41145. Пошук інформації в системі 103.5 KB
  Перегляд списку та маніполювання зі списками знайдених документів Ведуть записи 3 хв. Підведення підсумків уроку Що таке пошукові реквізити Які пошукові реквізити в системі Що називається динамічним навігатором Що таке перелік документів Які операції можна проводити з переліками Відповіді студентів 2 хв.Перегляд списку та маніпулювання зі списками знайдених документів 1. Перелік кнопок Додаткової Панелі Інструментів: Переводить Робочий Стіл системи в двовіконний режим роботи Задає слова для пошуку в назві Розташовує документи...