Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ERWin_hw5w1xxa4sjc.pdf
Скачиваний:
289
Добавлен:
07.06.2015
Размер:
4.06 Mб
Скачать

диалогов 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]