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

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

Если щелкнуть по кнопке [...], расположенной справа от раскрывающе­гося списка, появляется диалог Validation Rule Editor, который служит для задания правил валидации. В нем можно задать максимальное и минимальное значение и тип валидации (где прове­рять - на сервере или в клиентском приложении).

В верхней части редактора Validation Rule содержится список всех суще­ствующих правил валидации. Для создания нового правила валидации сле­дует щелкнуть по кнопке New, ввести имя правила в поле Name диалога New Validation и щелкнуть по кнопке ОК. После этого можно ввести выра­жение для правила валидации. Поля Min и Мах служат для задания нижней и верхней границы диапазона значения.

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

Раскрывающийся список в верхней части редактора Valid Value содер­жит все правила валидации. Чтобы ввести новое значение в список допус­тимых значений, нужно щелкнуть по кнопке New и ввести значение. Если включить опцию Copy (окно выбора в верхней части редактора), новому правилу будет присвоен список допустимых значений или диапазон, свя­занный с имеющимся правилом валидации. В нижнем окне диалога Valid Value можно ввести определение для каждого значения. Чтобы изменить имеющееся значение, нужно щелкнуть по кнопке Update. Для удаления значения служит кнопка Delete. Изменить порядок значений в списке можно либо пользуясь методом drag&drop, либо при помощи кнопки Sort. В последнем случае значения будут отсортированы по возрастанию.

При выходе из редактора Valid Value (кнопка OK) ERwin автоматически изменяет правило валидации, используя введенные допустимые значения, например "%AttFieldName IN ('Местный', 'Иногородний', 'Иностранный')".

Кнопка Set Ехрг диалога Validation Rule Editor позволяет сгенерировать правила валидации соответственно синтаксису выбранной СУБД с учетом границ диапазона или списка значений.

По умолчанию ERwin создает выражение - команду языка СУБД, ис­пользуя значения, связанные с правилом валидации, и разделяя значения запятыми (например, С, D, М). В некоторых случаях правила синтаксиса СУБД требуют, чтобы каждое значение в команде заключалось в одинар­ные кавычки ('С', 'D', 'М'). Чтобы автоматически заключить каждое зна­чение в одинарные кавычки, нужно включить опцию Quote.

Диалог Validation Rule Editor содержит также две закладки, в которых отображается текст правил валидации, генерируемый ERwin на сервере и для клиентского приложения.

Редактор Default/Initial Editor позволяет создать значение, которое автоматически, по умолчанию, присваивается колонке. Для вызова редактора служит кнопка [...] справа от раскрывающегося списка Default диалога Column Editor. Например, дате приема сотрудника может быть присвоено значение по умолчанию "сегодняшнее число", то есть автоматически задается, что все новые сотрудники зачисляются в день вво­да информации о них в БД.

Для создания нового значения по умолчанию следует щелкнуть по кнопке New, ввести имя правила в поле Name диалога New Default и щелк­нуть по кнопке ОК. В окне Default Name показывается список всех имен значений по умолчанию. Колонка Type в этом списке отображает тип зна­чения - присваивать его на клиентской части и/или на сервере. Для удале­ния и переименования значения служат соответственно кнопки Delete и Rename.

Поля Client и Server служат для внесения значения для клиентской час­ти и сервера.

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

Индексы

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

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

ERwin автоматически генерирует имя индекса, созданного на основе ключа по принципу "X" + имя ключа + имя таблицы (физическое имя таб­лицы, а не логическое имя сущности!), где имя ключа "РК" для первичного ключа, "IFn" - для внешнего, "AKn" - для альтернативного, "IEn" - для инверсионного входа.

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

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

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

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

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

По умолчанию ERwin автоматически сохраняет значения в индексе в порядке возрастания (значения сортируются по алфавиту от А до Z, а числа от 0 до 9). Если нужно изменить порядок сортировки для колонки и выбранная СУБД поддерживает режим сортировки по убыванию, следует выбрать колонку и включить опцию DESC. Редактор Index Editor содержит следующие закладки:

Members - позволяет включить колонки в состав индекса;

Comment - содержит комментарий для каждого индекса; ' UDP - позволяет связать с индексом свойства, определяемые пользователем,

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

При создании индекса для СУБД ORACLE, SYBASE или SQL Server можно выбирать, в каком объекте физической памяти будет храниться индекс, и изменять параметры хранения.

Некоторые СУБД поддерживают кластеризованные и кластеризованные хешированные индексы. ERwin позволяет создать такие индексы для DB2/MVS, DB2/390, HiRDB, INFORMIX, MS Access, MS SQL Serve:

SYBASE и SQLBase. Для того чтобы сделать индекс кластеризованным, нужно включить опцию CLUSTER в закладке, соответствующей выбранной СУБД. Кластеризованный индекс - это специальная техника индексирования, при которой данные в таблице физически располагаются в индексированном порядке. Использование кластеризованного индекса значительно ускоряет выполнение запросов по индексированной колонке.

Поскольку данные физически расположены в индексированном поряд­ке, для каждой таблицы может существовать только один кластеризованный индекс. Если СУБД поддерживает использование кластеризованного индек­са, то ERwin автоматически создает индекс первичного ключа кластеризо­ванным. При создании кластеризованного индекса не по первичному клю­чу ERwin автоматически снимает кластеризацию с индекса по первичному ключу. Для СУБД SQLBase (CENTURA) ERwin позволяет создать класте­ризованный хешированный индекс (clustered hashed index). Хеширование -альтернативный способ хранения данных в заранее заданном порядке с целью ускорения поиска, но физически это более сложно, чем простое со­хранение строк в алфавитном порядке или в соответствии с числовыми значениями.

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








Дата добавления: 2016-05-16; просмотров: 813;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.