Материал: Методы и модели проектирования соврем. ИС(ЛР, 09.05.01)

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

ки справа от соответствующего списка выбора (Valid и Default).

Функции других закладок диалога Domain Dictionary Editor:

General. Задание родительского домена (Domain Parent) и имени, при-

сваиваемого колонке при ее создании с помощью Independent Column

Browser. С помощью опции Phisical Only домен можно определить только на уровне физической модели.

Comment. Внесение комментария к атрибуту.

UDP. Свойства, определяемые пользователем. Visual Basic – PowerBuilder. Задание специальных свойств домена для кодогенерации кли-

ентского приложения.

Задание. На основе ранее созданной функциональной модели и описа-

ния заданного отдела создать логическую модель с использованием пакета

ERwin.

Лабораторная работа №6 Проектирование физической модели в

ERwin” Сервер

Физический уровень представления модели зависит от выбранного сер-

вера. Для выбора СУБД служит редактор Target.

Server (меню Server/Target Server... доступно только на физическом уровне). ERwin поддерживает практически все распространенные СУБД, все-

го более 20 реляционных и нереляционных БД. Диалог Target Server позволяет задать тип данных и опцию NULL для новых колонок, а

также правила ссылочной целостности, принимаемые по умолчанию. Группа кнопок Default Non-Key Null Option позволяет разрешить или запретить зна-

чения NULL для неключевых колонок. По умолчанию ERwin генерирует имена таблиц и индексов по шаблону на основе имен соответствующих сущ-

ностей и ключей логической модели. Окна Table Name Macro и Index Name

56

Macro позволяют изменить шаблон генерации имен. Кнопка Reset Names вы-

зывает диалог Globally Reset DBMS Property, который позволяет заменить все имена таблиц, связей, индексов, колонок и соответствующих свойств, за-

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

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

он будет заменен на символ "_". При смене СУБД ERwin предлагает автома-

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

жайший, доступный для новой СУБД.

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

лице и выбрав во всплывающем меню пункты Table Editor или Column Editor, можно вызвать редакторы для задания свойств таблиц и колонок.

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

нерации имени таблицы или колонки по умолчанию все пробелы автома-

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

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

Редактор Table Editor позволяет задать свойства любой таблицы моде-

ли, отличные от значения по умолчанию, в том числе имя таблицы, синони-

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

лога.

Окно Name служит для задания имени текущей таблицы. Окно Owner

позволяет внести имя владельца таблицы, отличное от имени пользователя,

57

производящего генерацию схемы БД. Окно выбора Physical Only служит для создания объектов только на физическом уровне. Если выбрана опция

Generate, при генерации схемы БД будет выполняться команда CREATE TABLE. Кнопка DB Sync служит для немедленной синхронизации модели с системным каталогом БД.

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

вых значений всем неключевым колонкам, исходя из значений по умолча-

нию, устанавливаемых в редакторе Target Server. Для колонок первичного ключа и альтернативных ключей устанавливается режим NOT NULL. При создании связи колонки первичного ключа родительской таблицы мигрируют в состав колонок дочерней таблицы в качестве внешнего ключа. Кнопка

Migrate вызывает диалог Migrate Column Property, который позволяет опре-

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

димо включить соответствующую опцию в диалоге Migrate Column Property,

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

Представления Представления (view), или, как их иногда называют,

временные или производные таблицы, представляют собой объекты БД, дан-

ные в которых не хранятся постоянно, как в таблице, а формируются дина-

мически при обращении к представлению. Представление не может сущест-

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

58

имеет специальные инструменты для создания и редактирования представ-

лений. Палитра инструментов на физическом уровне содержит кнопки вне-

сения представлений и установления связей между таблицами и представле-

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

ставление получает номер V_n, где n - уникальный порядковый номер пред-

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

ниями и прямоугольники представлений показываются на диаграмме пунк-

тирными линиями. Для редактирования представления служит диалог ^ View Editor. Для его вызова следует щелкнуть правой кнопкой мыши по представ-

лению и выбрать в меню пунктView Editor.

Правила валидации и значения по умолчанию

ERwin поддерживает правила валидации для колонок, а также значе-

ние, присваиваемое колонкам по умолчанию. Правило валидации задает спи-

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

ние по умолчанию (если выбранная СУБД поддерживает домены).

Если щелкнуть по кнопке , расположенной справа от раскрывающе-

гося списка Valid , появляется диалог^ Validation Rule Editor, который слу-

жит для задания правил валидации. В нем можно задать максимальное и ми-

нимальное значение и тип валидации (где проверять - на сервере или в кли-

ентском приложении). Например, значение, вводимое в колонку Age, должно быть больше 18, но меньше 180. Для описания этого правила можно создать правило валидации с именем "Проверка_возраста", которое содержит выра-

жение: Age BETWEEN 18 AND 180. Использование этого правила валидации гарантирует, что диапазон вводимых значений будет от 18 до 180. СУБД вы-

даст сообщение об ошибке, если вводимый возраст находится вне границ за-

59

данного диапазона. После создания правила валидации и значения по умол-

чанию можно присвоить одной или нескольким колонкам или доменам.

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

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

цию и указывает на строки, в которых хранится конкретное значение колон-

ки.

Например, если необходимо найти клиента по имени (рис.22), можно создать индекс по колонке CustomerName таблицы CUSTOMER. В индексе имена клиентов будут отсортированы в алфавитном порядке. Для имени ин-

декс будет содержать ссылку, указывающую, в каком месте таблицы хра-

нится эта строка. Для поиска клиента серверу направляется запрос с критери-

ем поиска (CustomerName ="Иванов"). При выполнении запроса СУБД про-

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

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

чительно уменьшает время выполнения запроса. Индекс можно создать для

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

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

тивных ключей, внешних ключей и инверсионных входов, поскольку эти ко-

60

Источник: https://studfile.net/preview/16408801/