WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 14 |

• Rolename/Rl Action (имя роли/установка ссылочной целостности). Имя роли - это дополнительная характерис тика, которая присваивается мигрирую- щему атрибуту первичного ключа (рис. 21), в тех случаях, когда сущность свя- зана со многими сущностями или сама с собой циклической связью.

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

Существуют следующие виды дейс твий или правил, определенных в логи- ческой модели:

•- REST RICT - запрет удаления, вставки или изменения экземпляра сущности.

• CASCADE — при удалении родительской сущности удаляются все экземпляры дочерней сущности, ссылающиеся на удаляемый экземпляр.

• SET NULL - при удалении экземпляра родительской сущности атрибутам внешнего ключа всех экземпляров дочерней сущности присваивается значение NULL.

• SET DEFAULT - то же самое, только вместо NULL присваивается значение по умолчанию.

-32- • NONE - никаких действий не принимается.

При добавлении связи в диаграмму ERwin по умолчанию ус танавливает набор правил, которые можно редактировать в диалоге «Referential Integrity Defaults Editor», вызывающемся из диалогового окна «Target Server» на- жатием «RI Defaults» (рис. 22). При нажатии на «Rebind» (переназначить) новые установки умолчаний переносятся в текущую модель, если же прос то выйти из диалога, то измененные установки влияют только на новые модели.

Табл. 8. Набор допустимых правил для различных типов связей ТИП СВЯЗИ RELATIONSHIP ТЕ) Наименова- ИДЕНТИ- НЕИДЕНТИ- НЕИДЕНТИ- КАТЕГОРИ- ФИЦИ- ФИЦИРУЮ- ФИЦИРУЮ- АЛЬНАЯ ние действия (операции) РУЮЩАЯ ЩАЯ ЩАЯ СВЯЗЬ Child Delete RESTRICT RESTRICT RESTRICT RESTRICT (Удаление до- CASCADE CASCADE CASCADE CASCADE NONE NONE NONE NONE чернего объ- SET NULL SET DEFAULT екта) SET DEFAULT Child Insert RESTRICT RESTRICT RESTRICT RESTRICT CASCADE CASCADE CASCADE CASCADE (Вставка до- NONE NONE NONE чернего объ- NONE SET NULL SETDEFAULT екта) SET DEFAULT Child Update RESTRICT RESTRICT RESTRICT RESTRICT (Изменение CASCADE CASCADE CASCADE CASCADE NONE NONE NONE NONE дочернего SET NULL SET DEFAULT объекта) SET DEFAULT Parent Delete RESTRICT RESTRICT RESTRICT RESTRICT (Удаление ро- CASCADE CASCADE CASCADE CASCADE NONE NONE NONE NONE дительского SET DEFAULT SET NULL объекта) SET_DEFAULT Parent Insert RESTRICT RESTRICT RESTRICT RESTRICT (Вставка ро- CASCADE CASCADE CASCADE CASCADE NONE NONE NONE дительского NONE SET NULL SET DEFAULT объекта) SET DEFAULT Parent Update RESTRICT RESTRICT RESTRICT RESTRICT CASCADE CASCADE (Изменение CASCADE CASCADE NONE NONE родительского NONE NONE.

SET NULL SET DEFAULT объекта) SET DEFAULT Наборы допустимых правил для каждого типа связи в зависимости от вида действия приведены в табл. 8. Например, установки для связи «Группа - Сту- дент», присвоенные по умолчанию, запрещают вставку и изменение экземпля- ра дочерней сущности, а также удаление и изменение родительской сущности.

-33- Это означает, что не допускается удаление или изменение класса, если в нем имеются учебные мес та, а также ввод учебного места без указания класса или со ссылкой на соответствующий класс.

• UDP позволяет присвоить связи свой набор пользовательских свойств. Итак, мы создали неидентифицирующую связь между сущностями «ГРУППА» и «СТУ- ДЕНТ» с условием «NO Nulls».

Между сущностями «КАФЕДРА» и «ПРЕПОДАВАТ ЕЛЬ» имеет место связь того же типа, так как преподаватель может существовать отдельно от кафедры и имеет свой идентификационный код «Табельный номер». Внесите эту связь в диаграмму, как мы это описали выше, выбрав сущность «КАФЕДРА» в качестве родительской, а «ПРЕПОДАВАТЕЛЬ» - дочерней. Вызовите редактор связей и из- мените глагольную фразу на «состоит из», остальные установки связи оставьте неизменными. При этом атрибут «код кафедры» мигрирует в состав неключе- вых атрибутов сущности «ПРЕПОДАВАТЕЛЬ».

Рис. 23. ER-диаграмма после установки связей После установки всех связей диаграмма на уровне сущностей будет иметь вид, показанный на рис. 23. На диаграмме графическое изображение связи за- висит от типа. Графическое изображение зависит еще и от принятой методоло- гии построения диаграммы. Например, в нотации IDEFIX, используемой в этом примере, принято изображение связей, показанное на рис. 24. Помимо типа свя- зи, на диаграмме могут отображаться и установки ссылочной целостности - для этого необходимо выбрать в контекстном меню диаграммы пункт «Display -34- Рис. 24. Изображение связей в нотации IDEFIX Options/Relationships/Referential Integrity». Обозначение ссылочной целостности на схеме представляет собой две алфавитные группы, разделенные двоеточием.

Первый символ обозначает действие, к которому относится правило цело- стности: D - delete, I - insert, U - update.

Вторая группа обеспечивает правило: R - REST RICT, с - CASCADE, SN - SET NULL, SD - SET DEFAULT.

Рис. 25. Диалог выбора сервера - 35- Таким образом, запрет удаления обозначается — D:R, а установка NULL при изменении U:SN. Обозначения прос тавляются у родительского или дочернего конца связи, в зависимости от того, к какой сущности они относятся. Итак, мы определили на диаграмме предметную область, состоящую из четырех сущно- стей, описывающих материальное обеспечение процесса обучения.

2.2. СОЗДАНИЕ ФИЗИЧЕСКОЙ МОДЕЛИ БД Конечный этап моделирования БД - переход к физическому уровню моде- ли, на котором модель также представлена в виде диаграммы. Переключите диаграмму на физический уровень. Физический уровень представления модели зависит от выбранного сервера, поэтому в первую очередь нужно определить сервер, для которого создается физическая модель.

2.2.1. ВЫБОР СЕРВЕРА Выбор сервера можно выполнить несколькими способами:

• на логическом и физическом уровнях выбор можно осуществить в диалого- вом окне «Diagram Editor», которое вызывается через главное меню «Edit \Diagram...»;

• с помощью диалогового окна «Target Server», вызываемого через глав- ное меню «Server\Target Server...», выбор можно осуществить только на фи- зическом уровне.

Диалог «Target Server» (рис. 25) позволяет задать тип и версию сервера, тип данных и условие NULL для вновь созданных колонок. В поле «Table Name Macro» вводится шаблон для образования имен таблиц, а в поле «index Name Macro» - шаблон для имени индексов. Некоторые опции данного диало- гового окна зависят от выбранного типа сервера. Например, для сервера InterBase необходимо ввести разделитель триггеров в поле «Trigger Delimiter».

Кнопка «Reset Names...» вызывает диалог «Глобальный сброс имен СУБД», позволяющий заменить все имена объектов физического лица модели - таблиц, колонок, связей и т. д. на имена по умолчанию (рис. 26). Как правило, имена по умолчанию генерируются на основе имен соответствующих объектов логического уровня, причем, пробелы в них заменяются на символ «-».

Кнопка «RI Defaults» вызывает диалог «Referential Integrity Defaults Editor» (Редактор умолчаний ссылочной целостнос ти), позволяю- щий задать набор правил ссылочной целостнос ти, присваиваемый по умолча- нию каждой новой связи. После выбора сервера, ввода установок и нажатия кнопки OK ERwm предложит автоматически преобразовать типы данных, свя- занные с атрибутами диаграммы, в типы данных, доступные на новом сервере.

-36- Рис. 26. Диалог глобального сброса имен СУБД 2.2.2. ТАБЛИЦЫ И КОЛОНКИ В диалоге «Target Server» предусмотрено поле для шаблона имени табли- цы, в котором по умолчанию стоит вызов макроопределения %EntityName ( ).

Это макроопределение устанавливает в качестве имени таблицы имя сущности логической диаграммы, что не Табл. 9. Сущности и их таблицы может устраивать, так как сервер СУЩНОСТЬ ТАБЛИЦА InterBase не допускает символов СТУДЕНТ STUDENT кириллицы в именах объектов ме- ГРУППА GROUP таданных. Поэтому нам необхо- | ПРЕПОДАВАТЕЛЬ TEACHER димо изменить имена таблиц, сге- КАФЕДРА | CATHEDRA нерированные ERwin автоматиче- ПРЕДМЕТ SUBJECT ски, на новые, не содержащие ИЗУЧЕНИЕ ! STUDYING символов кириллицы, которые УСПЕВАЕМОСТЬ ADVANCING приведены в табл. 9. Для переиме- нования таблицы необходимо вы- звать пункт «Table» ее контекстного меню и или выбрать в главном меню пункт «Edit\Table».

При этом появится «Table Editor» (рис. 27), в списке «Table» которого выбирается необходимая таблица, а новое имя вводится в поле «Name». Здесь — 37 — же в поле «Owner» можно указать владельца таблицы, если он отличается от пользователя, генерирующего схему БД.

Рис. 27. Редактор таблиц В нижней части окна содержатся следующие элементы управления:

• флажок «Physical Only», который указывает, что таблица существует только на физическом уровне;

• флажок «Generate» - если он установлен, то при генерации схемы БД бу- дет выполняться запрос CREATE TABLE;

• кнопка «DB Sync» запускает процесс полного сравнения модели с физиче- ской базой, находящейся на сервере.

Кроме того, редактор таблиц содержит следующие страницы с закладками:

• Comment - страница предназначена для ввода комментариев к таблице;

• Volumetrics - содержит поля для ввода оценочных данных, используемых при расчете объема, занимаемого таблицей;

• UDP - обеспечивает ввод значений пользовательских свойств, связанных с таблицей;

• Validation - служит для задания правил и корректности ввода данных в таблицу;

• stored Procedure- служит для управления хранимыми процедурами;

• Рге & Post Script - управляет сценариями, выполненными до и после генерации таблицы;

-38- • Power-Builder - задаются расширенные атрибуты системы PowerBuilder для таблиц, входящих в модель.

После приведения имен таблиц в соответс твие с требованиями, займемся именами и типами данных полей. Ранее, когда мы вводили домены, в редакторе словаря доменов «Domain Dictionary Editor» справа находилась закладка «InterBase», позволяющая устанавливать физические параметры домена (см.

рис. 12). Важными для нас в данный момент являются параметры «InterBase Datatype» и «Null Options». Сервер InterBase поддерживает типы данных, приведенные в табл. 10.

Домены удобны, когда несколько таблиц в БД содержат одинаковые опре- Табл. 10. Типы данных, поддерживаемые сервером InterBase ТИП РАЗМЕР ДИАПАЗОН/ТОЧНОСТЬ ОПИСАНИЕ Размер сегмента ограничен BLOB переменный 64 К Текстовая строка фик- CHAR(n) n символов 1 - 32767 байт сированной длины DATE 64 бита С 1 января 100 г. Включает также ин- по 29 февраля 32768 г. формацию о времени precision =1-15 общее DECIMAL число знаков, scale - 1 - 15 Число с scale знаков переменный (precision, число знаков после деся- после десятичной точ- scale) тичной точки должно быть ки < или = precision DOUBLE 64 бита 1.7*10-308- 1.7*1 0308 Точность до 15 знаков PRECISION.

FLOAT 32 бита 3.4*10-38-3.4*Длинное целое со зна- INTEGER 32 бита -2147483648-ком precision =1-15 общее Число с scale знаков число знаков, scale - 1 - NUMERIC переменный после десятичной точ- число знаков после деся- ки тичной точки должно быть < или = precision Короткое целое со зна- SMALLINT 16 бит -32768 - ком Текстовая строка пе- VARCHAR(n) n символов 1 - 32767 байт ременной длины деления колонок. В нашей модели это все домены полей, входящих в первич- ный ключ, поэтому мы создадим для них физические домены. Создадим также -39- домены для некоторых полей, которые встречаются несколько раз (t_note).

Для этих доменов установите флажок «Domain», а для остальных — отключите.

2.2.3. РЕДАКТИРОВАНИЕ СВОЙСТВ ПОЛЕЙ Для редактирования свойств вызовите редактор колонок (Column Editor/ Для этого выберите пункт главного меню «Edit/Column...» (кроме того, его можно вызвать и через контекстное меню таблицы, выбрав «column Editor...»).

Рис. 28. Редактор колонок Редактор колонок (см. рис. 28) внешне напоминает редактор атрибутов, рассмотренный ранее. Редактируемая таблица выбирается в списке «Table», находящемся в верхней части диалога. Рядом имеется кнопка, позволяющая вызвать диалоговое окно редактора таблиц «Table Editor».

В левой нижней час ти редактора имеется несколько кнопок:

• New - добавление новой колонки к таблице;

• Rename - редактирование имени колонки;

• Delete - удаление колонки;

• DB Sync - запуск процесса синхронизации модели с физическим систем- ным каталогом СУБД;

• Migrate - вызывает диалог, в котором можно выбрать, какие свойства ко- лонки должны мигрировать в колонки внешнего ключа;

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

-40- В правой части окна редактора находится ряд страниц с закладками:

• General- обеспечивает выбор или изменение домена, к которому относит- ся колонка. Домены представлены в виде дерева, содержимое которого может сортироваться либо по алфавиту, либо по иерархическому принципу. По флаж- ку Physical Only можно указать, что поле относится только к физической мо- дели, а по флажку Primary Key - включить выбранное поле в первичный ключ;

• InterBase - на этой странице можно задать физические свойства колонки:

тип данных, опцию NULL, правило валидации и значение по умолчанию.

• Comment - используется для ввода комментария для поля;

• UDP - обеспечивает создание свойств для физических полей таблицы;

• index - обеспечивает создание индексов для таблицы. В окне списка пока- заны существующие индексы для данной таблицы. В нижней части имеется флаг «show FK index», при включении которого показываются как первичный, так и внешние индексы. Те индексы, в которых участвует выбранная колонка, помечены крестиком (см. рис. 29).

Кнопка в верхнем углу вызывает диалог редактора индексов «index Editor».

Рис.29. Страница индексов 2.2.4. ГЕНЕРИРОВАНИЕ SQL-СЦЕНАРИЯ СОЗДАНИЯ БД Основной целью процесса проектирования является генерация физической схемы БД. Для генерации схемы БД следует выбрать пункт меню «Tasks/ Forward Engineer/Schema Generation...».

-41- Рис. 30. Диалог генератора физической схемы БД Физическая схема БД генерируется на основе логической схемы и набора установок, задаваемых в диалоговом окне генератора схем (рис. 30). Эти установки определяют, какие элементы должны войти в схему БД.

Для каждой логической схемы можно создать несколько таких наборов установок. Текущий набор установок выбирается в списке «Option Set». Для создания нового набора установок нажмите «New» и введите имя набора - «База данных InterBase» (рис. 31). В окне диалога содержатся и другие кнопки:

• Rename - позволяет переименовать текущий набор установок;

• Delete- позволяет удалить текущий набор установок.

Для выбора установок перейдите на страницу с закладкой Options.

Элементы генерируемой схемы организованы по разделам, список которых находится в левом окне страницы. В правом окне находится список элементов отмеченного раздела с флажками. Для выбора элемента, который Рис. 31. Создание набора установок должен использоваться при генерации схемы БД, следует проставить флажок рядом с этим элементом.

-42- На странице Summary показываются элементы, выбранные на странице Op- tions.

Страница Comment обеспечивает ввод комментариев к каждой из схем генерации.

В нижней части окна редактора имеется ряд кнопок:

• Filter- вызывает редактор фильтра таблицы, с помощью которого выби- Рис. 32. Диалоговое окно фильтра таблиц раются таблицы (сущности), входящие в схему (рис. 32). Диалоговое окно фильтра состоит из двух списков, содержащих имена таблиц (переключатель «Display Names» в положении Physical) или сущностей (переключатель «Display Names» в положении Logical). В левом списке находятся имена таб- лиц, исключенные из схемы генерации, в правом - вошедшие в схему;

• Preview - обеспечивает просмотр сгенерированного SQL-сценария созда- ния БД. Вызванное окно содержит стандартное текстовое окно и набор кнопок для редактирования, просмотра и пе- чати текста сценария (рис. 31). Полу- ченный сценарий можно сохранить в файле; кнопка «Generate» вызывает диалог генерации системного каталога БД;

• Print - обеспечивает печать SQL- сценария на принтере;

• Report - обеспечивает сохранение Рис. 33. Диалог связи с БД SQL-сценария в текстовом файле;

Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 14 |






















© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.