- •Введение
- •Функциональные возможности AllFusion ERwin DM 7.2
- •Инструментальная среда AllFusion ERwin DM
- •Интерфейс AllFusion ERwin DM 7.2
- •Уровни отображения модели (Display Level)
- •Подмодели (Subject Area).
- •Хранимые отображения (Stored Display)
- •Навигатор модели (Model Explorer)
- •Журнал изменений модели (Action Log)
- •Русификация ERwin DM
- •Поддерживаемые методологии: IDEF1X, IE, DM
- •Краткая характеристика методологий
- •Особенности методологий IDEF1X и IE
- •Панель инструментов для добавления объектов в модель данных
- •Разработка и поддержка баз данных с ERwin DM
- •Начало создания модели в AllFusion ERwin DM
- •Уровни модели данных
- •Создание логического уровня модели
- •Сущности
- •Атрибуты
- •Связи
- •Связи идентифицирующие и неидентифицирующие
- •Связь "многие ко многим"
- •Типы зависимых сущностей
- •Иерархия категорий (иерархия наследования).
- •Ключи
- •Домены
- •Нормализация и денормализация
- •Создание физического уровня модели
- •Выбор сервера
- •Таблицы
- •Колонки
- •Представления (View)
- •Материализованные представления (materialized view)
- •Правила валидации и значения по умолчанию
- •Индексы
- •Задание объектов физической памяти
- •Триггеры и хранимые процедуры
- •Скрипты «до и после генерации»
- •Прямая генерация
- •Обратная генерация
- •Сравнение и синхронизация с Complete Compare
- •Уровни проектирования
- •Трансформация
- •Документирование моделей данных в ERwin DM
- •Создание отчетов с помощью Report Template Builder
- •Создание отчетов с помощью Data Browser
- •Практическая работа с ERwin Data Modeler
- •1. Создание концептуальной модели данных
- •2. Порождение новой модели из концептуальной
- •3. Проработка модели на уровне первичных ключей
- •4. Автотрансформация связей «многие ко многим»
- •5. Доработка модели до полно атрибутивной модели
- •6. Проработка физического уровня модели
- •7. Генерация каталога базы данных из модели данных
- •8. Обратная генерация каталога базы данных в модель
- •9. Сравнение и синхронизация каталога базы данных и модели
- •10. Документирование модели данных
- •Опись созданных файлов
- •Задание для самостоятельной работы
- •Литература и источники
диалогов Validation Rules и Default Values соответственно. Активировать эти диалоги можно через меню Model или через контекстные меню сущностей или таблиц (через закладку Constraint в диалогах Attributes и Columns).
Индексы
В таблице базы данных данные обычно хранятся в том же порядке, в котором их ввели в таблицу. Многие реляционные СУБД имеют страничную организацию, при которой физически таблица может храниться фрагментарно в разных областях диска, причем строки таблицы располагаются на страницах неупорядоченно. Хотя такой способ хранения позволяет быстро вводить новые данные, но для нахождения нужной строки, придется просмотреть всю таблицу. В промышленных СУБД каждая таблица может содержать миллионы строк, поэтому простой перебор ведет к катастрофическому падению производительности информационной системы.
Индекс – особый объект СУБД, который помогает решить проблему поиска данных. Он подобен содержанию книги, которое указывает на все номера страниц, посвященных определенной теме. Индекс содержит отсортированную по колонке или по нескольким колонкам информацию и указывает на строки, в которых хранится конкретное значение колонки.
При генерации схемы физической базы данных ERwin DM может автоматически создать отдельный индекс на основе первичного ключа каждой таблицы, а также на основе всех альтернативных ключей, внешних ключей и инверсных входов, поскольку эти колонки наиболее часто используются для поиска данных. Можно отказаться от генерации индексов по умолчанию и для повышения производительности создать собственный индекс. Администратор СУБД должен анализировать наиболее часто выполняемые запросы и создавать индексы с различными колонками и порядком сортировки для увеличения эффективности поиска при работе конкретных приложений.
При создании индекса на основе ключа ERwin DM вводит в его состав все колонки ключа. Следовательно, на уровне логической модели можно неявно создать индекс, включая колонки в состав альтернативных ключей и инверсных входов. ERwin DM автоматически генерирует имя индекса, созданного на основе ключа.
Изменить характеристики существующего индекса или создать новый можно в диалоге Indexes (меню Model/Indexes). Набор изменяемых параметров индекса зависит от выбранной СУБД.
Задание объектов физической памяти
ERwin DM поддерживает объекты физической памяти для некоторых СУБД. Для создания и редактирования этих объектов используются диалоги, вызвать которые можно из меню DataBase. В зависимости от СУБД и ее
77
версии набор объектов и соответственно набор пунктов меню различается.
Например, для Informix 7.x – это DBspace, для Oracle 8i – это Tablespace, Rollback Segment, Database и др., для SQL Server 2000 – это Filegroup.
Триггеры и хранимые процедуры
Триггеры и хранимые процедуры – это именованные блоки кода
SQL, которые заранее откомпилированы и хранятся на сервере для того, чтобы быстро производить выполнение запросов, валидацию данных и выполнять другие часто вызываемые функции.
Хранение и выполнение кода на сервере позволяет создавать код только один раз, а не в каждом приложении, работающем с базой данных, что экономит время при написании и сопровождении программ. При этом гарантируется, что целостность данных и бизнес-правила поддерживаются независимо от того, какое именно клиентское приложение обращается к данным. Триггеры и хранимые процедуры не требуется пересылать по сети из клиентского приложения, что значительно снижает сетевой трафик.
Хранимой процедурой называется именованный набор предварительно откомпилированных команд SQL, который может вызываться из клиентского приложения или из другой хранимой процедуры.
Создать хранимую процедуру в ERwin DM можно в диалоге Stored Procedures (меню Database/Stored Procedures). При создании текста храни-
мых процедур можно использовать макросы (макрокоманды) ERwin DM. При генерации кода хранимой процедуры вместо макрокоманд подставляются имена таблиц, колонок, переменные и другие фрагменты кода, соответствующие синтаксису выбранной СУБД. В зависимости от размерности модели данных использование макрокоманд ERwin DM позволяет сократить число строк SQL, написанных проектировщиком, в десятки, сотни и даже тысячи раз.
Триггером называется процедура, которая выполняется автоматически как реакция на событие. Таким событием может быть вставка, изменение или удаление строки в соответствующей таблице. Триггер сообщает СУБД, какие действия нужно совершить при выполнении команд SQL INSERT, UPDATE, DELETE для обеспечения дополнительной функциональности, выполняемой на сервере.
Триггер ссылочной целостности – это особый вид триггера, исполь-
зуемый для поддержания целостности между двумя таблицами, которые связаны между собой. Если строка в одной таблице вставляется, изменяется или удаляется, то триггер ссылочной целостности (RI-триггер) сообщает СУБД, что нужно делать с теми строками в других таблицах, у которых значение внешнего ключа совпадает со значением первичного ключа вставленной (измененной или удаленной) строки.
По умолчанию ERwin DM генерирует триггеры, дублирующие декларативную ссылочную целостность. Для генерации триггеров ERwin DM
78