1. Создание модели процессов в bpwin


Название1. Создание модели процессов в bpwin
страница14/20
ТипДокументы
1   ...   10   11   12   13   14   15   16   17   ...   20

Переопределение типа ссылочной целостности. Для каждой комбинации правил ссылочной целостности (например, Parent-Delete RESTRICT) ERwin позволяет создать переопределенный шаблон и использовать этот шаблон вместо шаблона, применяемого по умолчанию, для всех связей диаграммы, которым был присвоен этот тип правила ссылочной целостности. Используя в качестве основы встроенный код шаблона, можно изменить шаблоны ссылочной целостности во всей модели, изменяя коды триггера только в одном месте. Вновь определяемые шаблоны будут использоваться вместо стандартных шаблонов, если при генерации схемы включена опция RI Type Override.

  • Переопределение шаблона триггера для связи. Можно переопределить шаблон, задаваемый по умолчанию, для какой-то конкретной связи. Для этого используется диалог Relationship Template Editor, в котором можно описать шаблоны Relationship Override, применяемые вместо стандартных шаблонов (а также вместо шаблонов RI Type Override, если они есть). Шаблоны Relationship Override будут использоваться вместо стандартных шаблонов, если при генерации схемы включена опция Relationship Override.

  • Переопределение шаблона триггера для сущности. ERwin позволяет создавать собственные триггеры Entity Override для любой сущности в модели. Шаблоны Entity Override используются вместо стандартных шаблонов, а также вместо шаблонов RI Type Override и Relationship Override, если при генерации схемы включена опция Entity Override.

    ERwin имеет специальные редакторы, облегчающие создание и редактирование триггеров и процедур.

    Для редактирования триггера следует щелкнуть правой кнопкой мыши по таблице и выбрать во всплывающем меню пункт Trigger. Появляется диалог Table Trigger Viewer, в нижней части которого имеется две кнопки -Table Trigger и Trigger Template, которые вызывают диалоги, предназначенные для создания и редактирования пользовательских триггеров и шаблонов триггеров ссылочной целостности (рис. 2.78).



    Рис. 2.78. Диалог Table Trigger Viewer

     

    Рассмотрим простейший пример, в котором переопределим шаблон триггера для сущности. Предположим, бизнес-правила требуют, чтобы при любом изменении имени клиента (колонка CustomerName таблицы CUSTOMER, рис. 2.79) в таблице SECURITY создавалась строка, в которой бы фиксировалось прежнее значение имени, новое значение, дата изменения и имя пользователя, произведшего изменение.



    Рис. 2.79. Таблицы CUSTOMER и SECURITY

    Для создания триггера служит редактор Table Trigger Editor (вызывается кнопкой Table Trigger диалога Table Trigger Viewer) (рис. 2.80).



    Рис. 2.80. Диалог Table Trigger Editor

     

    Раскрывающийся список Table позволяет выбрать таблицу, на которой будет создан триггер. На рис. 2.80 это таблица CUSTOMER.

    В списке Trigger отображается имя триггера (SecurWrite). Если имя не задано, ERwin генерирует триггеры ссылочной целостности по умолчанию. Кнопки New, Rename и Delete служат соответственно для внесения нового триггера в список, переименования и удаления триггера из списка.

    Группа окон выбора Trigger On позволяет задать тип триггера - при каком событии триггер будет запускаться - при удалении Delete, вставке Insert или обновлении Update-строки таблицы. При выборе любого события ERwin автоматически формирует текст шаблона соответствующего триггера ссылочной целостности. Опции Before и After позволяют задать время выполнения триггера - до или после SQL-команд INSERT, UPDATE или DELETE. В примере на рис. 2.80 создается триггер, выполняемый до команды обновления UPDATE для колонки CustomerName таблицы CUSTOMER.

    Опции Table и Row (поддерживается ORACLE 7.x, SQLBase V6, Watcom V4 и AS/400 V3) показывают, каким образом будет выполняться триггер. При генерации в текст триггера будут соответственно включены предложения "FOR EACH TABLE" или "FOR EACH ROW".

    Old - ссылка на прежнее значение при обновлении поля, New - ссылка на новое значение при обновлении таблицы. В тексте шаблона триггера используется макрос %RefClause, при генерации текста триггера по шаблону включается предложение REFERENCES. В примере для нового значения установлено имя "newl", для старого - "oldl".

    В списке в нижней части диалога показываются имена родительской таблицы (Parent), дочерней таблицы (Child), имя связи (Verb Phrase) и правило ссылочной целостности (Integrity Rule) в случае, если редактируется триггер ссылочной целостности.

    В окне Template Code можно ввести код шаблона триггера. Код шаблона триггера, соответствующий бизнес-правилу рассматриваемого примера (создан на основе шаблона триггера ссылочной целостности), приведен ниже:

    create trigger %TriggerName

    %Fire %Actions(" or")

    on %TableName

    %RefClause

    %Scope

    /* ERwin Builtin %Datetime */ /* default body for %TriggerName */ begin

    Insert into Security (OldName.NewName, UserUpdate, UpdateDate) values (:old1.CustomerName,:new1,CustomerName, User, Sysdate);

    end;

    /

    В окне Expanded Code отображается код триггера (на языке выбранного сервера, в примере - Oracle 7.2), автоматически генерируемого по шаблону:

    create trigger SecurWrite BEFORE UPDATE OF

    CustomerName

    on CUSTOMER

    REFERENCING OLD AS old1 NEW AS new1

    for each row

    /* ERwin Builtin Tue Jan 26 21:24:371999 7

    /* default body for SecurWrite 7

    begin

    Insert into Security (OldName.NewName, UserUpdate, UpdateDate)

    values (:old1.CustomerName,:new1.CustomerName, User, Sysdate);

    end;

    /

    Ниже приведен текст SQL-команд и результат их выполнения (выполнены при помощи Oracle SQVPlus), иллюстрирующих работу триггера.

    SQL> insert into CUSTOMER (CustomerlD, CustomerName) values (20/lvanov');

    1 row created.

    SQL> update CUSTOMER set CuslomerName='Petrov' where CustomerlD=20;

    1 row updated.

    SQL> select* from SECURITY;

    UPDATEDATE OLDNAME NEWNAME USERUPDATE

    –––––––––––––––––––––––––––––––––––––––––––––––––––––––

    27-JAN-99 Ivanov Petrov SCOTT

     

    Любое изменение имени клиента в таблице CUSTOMER фиксируется в таблице SECURITY, причем регистрируется прежнее значение имени, новое значение, дата изменения и имя пользователя, производившего изменения.

    Кнопка Toolbox диалога Table Trigger Editor вызывает редактор ERwin Trigger Toolbox, который значительно облегчает создание текста шаблона триггера (рис. 2.81).



    Рис. 2.81. Диалог ERwin Template Toolbox

     

    Template Toolbox содержит три секции: слева расположены списки, содержащие макросы для таблиц, связей, колонок, ограничений и макросы общего назначения. Все макросы начинаются с символа %. Список макросов приведен в приложении. Если выделить макрос в каком-либо списке, в окне Description отобразится синтаксис макроса и пример его использования для связи между таблицами, показанными в правой секции редактора. Таблицы и связи, показываемые в правой части редактора, взяты из примера, содержащегося в файле MOVIES. ER1, который находится в директории Models.

    Для включения макроса в текст шаблона достаточно дважды щелкнуть левой клавишей мыши по соответствующему макросу в одном из списков. Макрос включается в текст шаблона в окне Template Code диалога Table Trigger Editor.

    Для изменения шаблона триггера ссылочной целостности (переопределение типа ссылочной целостности) служит редактор Trigger Template Editor (рис. 2.82).



    Рис. 2.82. Диалог Trigger Template Editor

     

    Для изменения шаблона нужно выделить тип триггера в списке, который находится в верхней части редактора, после чего щелкнуть по кнопке Detach ->, чтобы отсоединить тот шаблон, который связан с выбранным триггером. В списке Built-in Template или User Override нужно выбрать шаблон, который следует связать с выбранным триггером. Выделив имя шаблона, нужно щелкнуть по кнопке Attach над списком. ERwin свяжет выбранный шаблон с триггером и покажет его текст в окне Template Code. Для отмены связывания следует щелкнуть по кнопке <- Rebind. Для создания нового собственного шаблона надо задать его имя в окне Template Name и с помощью Trigger Toolbox (кнопка Trigger Toolbox”) создать текст шаблона триггера. Кнопка Add добавит новый шаблон в список User Override.

    Для переопределения шаблона триггера для связи следует правой кнопкой мыши щелкнуть по связи и во всплывающем меню выбрать пункт Relationship Template Editor. Появляется диалог Relationship Template Editor (рис. 2.83). Создание шаблона триггера и связывание его с определенным правилом ссылочной целостности аналогично созданию и связыванию шаблона в диалоге Trigger Template Editor.



    Рис. 2.83. Диалог Relationship Template Editor

     

    Для создания и редактирования хранимых процедур ERwin располагает специальными редакторами, аналогичными редакторам, используемым для создания триггеров. В отличие от триггера хранимая процедура не выполняется в ответ на какое-то событие, а вызывается из другой программы, которая передает на сервер имя процедуры. Хранимая процедура более Гибка, чем триггер, поскольку может вызывать другие хранимые процедуры. Ей можно передавать параметры, и она может возвращать параметры, значения и сообщения.

    ERwin не имеет встроенных шаблонов хранимых процедур, которые можно было бы использовать как основу при создании новой хранимой процедуры. Для создания или редактирования хранимой процедуры следует щелкнуть правой кнопкой мыши по таблице и выбрать в каскадном меню пункт Table Editor/Stored Procedure. Появляется закладка Stored Procedure диалога Table Editor (рис. 2.84).



    Рис. 2.84. Закладка Stored Procedure диалога Table Editor

     

    Список Attached SP Template содержит имена процедур, связанных с редактируемой таблицей. Список Unattached SP Template содержит имена процедур, которые могут быть связаны с таблицей. Кнопки <-Attach и Detach-> служат для связывания и открепления процедуры от таблицы.

    Кнопка SP Template вызывает диалог, в котором можно просмотреть и отредактировать код процедуры, включающий SQL-команды и макросы ERwin, Код процедуры показывается в окне SP Expansion, код шаблона - в окне SP Template. На рис. 2.84 в окне SP Template показан код шаблона процедуры с одним возвращаемым параметром, содержащим количество строк текущей таблицы (синтаксис Oracle 7.2).

    В окне SP Template можно непосредственно вводить выражения SQL (при условии соблюдения синтаксиса выбранной СУБД). В редакторе SP Template для внесения в текст шаблона макросов можно воспользоваться редактором ERwin Template Toolbox.

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

    Для создания хранимой процедуры на уровне схемы или для связывания хранимой процедуры с моделью нужно выбрать пункт меню Server/Schema Property. Вызывается редактор Schema Properties (рис. 2.85).



    Рис. 2.85. Редактор Schema Properties

     

    Редактор Schema Properties позволяет просматривать все хранимые процедуры, а также скрипты "до и после генерации схемы", которые связаны со схемой. Список Attached SP Template содержит имена процедур, связанных с моделью, список Unattached SP Template содержит имена процедур, которые могут быть связаны с моделью. Кнопки <-Attach и Detach-> служат для связывания и открепления процедуры от модели.

    Для создания нового шаблона процедуры следует щелкнуть по кнопке Schema SP Template... и в редакторе Stored Procedure Template с помощью ERwin Template Toolbox создать текст процедуры.

    Скрипты "до и после генерации". Скриптами "до и после генерации" (pre&post scripts schema-generation) называются скрипты SQL, которые ERwin выполняет до или сразу же после генерации таблиц или схемы в целом (pre&post schema-generation). Например, при прямом проектировании БД из модели ERwin может выполнить скрипт "до генерации схемы", который удаляет старую БД и создает новую до того, как начать генерацию таблиц и индексов.

    Скрипты уровня таблиц могут быть созданы в закладке Pre&Post Script диалога Table Editor.

    Скрипты уровня схемы связаны с моделью так же, как и хранимые процедуры. Скрипты уровня схемы определяются в закладке Pre&Post Script редактора Schema Properties (рис. 2.86). Создание скриптов аналогично созданию хранимых процедур.



    Рис. 2.86. Закладка Pre&Post Script диалога Schema Properties

     

    Для создания текста скриптов служат редакторы Table Template Editor и Schema Template Editor. Опция Generation Option позволяет задать тип скрипта - будет ли он выполнен до или после генерации таблицы или схемы. При создании текста скрипта так же, как и при создании текста хранимых процедур, может быть использован ERwin Template Toolbox.

     

    2.3.8. Проектирование хранилищ данных

     

    Хранилища данных (Data Warehouse) предназначены для хранения данных, которые редко меняются, но на основе которых часто требуется выполнение сложных запросов. Обычно они ориентированы на выполнение аналитических запросов, которые обеспечивают поддержку принятия решений для руководителей и менеджеров. Хранилища данных разгружают промышленные БД, и тем самым позволяют пользователям более эффективно и быстро извлекать необходимую информацию. К проектированию хранилищ данных предъявляются следующие требования:

    Структура данных должна быть понятна пользователям;

    Должны быть выделены статические данные, которые модифицируются по расписанию: ежедневно, еженедельно, ежеквартально;

    Должны быть упрощены требования к запросам с целью исключения запросов, которые могли бы требовать множественных утверждений SQL в традиционных реляционных СУБД;

    Должна быть обеспечена поддержка сложных запросов SQL, которые требуют последовательной обработки тысяч или миллионов записей. Эти требования существенно отличают структуру реляционных СУБД и хранилищ данных. Нормализация данных в реляционных СУБД приводит к созданию множества связанных между собой таблиц. В результате выполнение сложных запросов неизбежно приводит к объединению многих таблиц, что существенно увеличивает время отклика. Проектирование хранилища данных подразумевает создание денормализованной структуры данных (допускается избыточность данных и возможность возникновения аномалий при манипулировании данными), ориентированной в первую очередь на высокую производительность при выполнении аналитических запросов. Нормализация делает модель хранилища слишком сложной, затрудняет ее понимание и ухудшает эффективность выполнения запроса.

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

    В размерном моделировании принят стандарт модели, называемый схемой "звезда" (star schema), которая обеспечивает высокую скорость выполнения запроса посредством денормализации и разделения данных. Невозможно создать универсальную денормализованную структуру данных, обеспечивающую высокую производительность при выполнении любого аналитического запроса. Поэтому схема "звезда" строится так, чтобы обеспечить наивысшую производительность при выполнении одного самого важного запроса либо группы похожих запросов.

    Схема "звезда" обычно содержит одну большую таблицу, называемую таблицей факта (fact table), помещенную в центр, и окружающие ее меньшие таблицы, называемые таблицами размерности (dimensional table), соединенные с таблицей факта в виде звезды радиальными связями. В этих связях таблицы размерности являются родительскими, таблица факта - дочерней. Схема "звезда" может иметь также консольные таблицы (outrigger table), присоединенные к таблице размерности. Консольные таблицы являются родительскими, таблицы размерности - дочерними.

    В размерной модели иконка показывает роль таблицы в схеме "звезда":





    Прежде чем создать БД со схемой типа звезды, необходимо проанализировать бизнес-правила предметной области с целью выяснения центрального вопроса, ответ на который наиболее важен. Все прочие вопросы должны быть объединены вокруг этого основного вопроса, и моделирование должно начинаться с этого основного вопроса. Данные, необходимые для ответа на этот вопрос, должны быть помещены в центральную таблицу модели - таблицу факта. Например, если необходимо создавать отчеты об общей сумме дохода от продаж за определенный период как по типу товара, так и по продавцам, следует разрабатывать модель так, чтобы каждая запись в таблице факта представляла сумму продаж, осуществленных тем или иным продавцом, с указанием доходов по каждому покупателю и типов проданных товаров (рис. 2.87). В примере таблица факта содержит суммарные данные о продажах (SALE), а таблицы размерности содержат данные о заказчике и заказах (CUSTOMER), продуктах (PRODUCT), продавцах (SALESPEOPLE) и периодах времени (TIME).



    Рис. 2.87. Схема звезда

     

    Таблица факта является центральной таблицей в схеме "звезда". Она может состоять из миллионов строк и содержать суммирующие или фактические данные, которые могут помочь ответить на требуемые вопросы. Она соединяет данные, которые хранились бы во многих таблицах традиционных реляционных БД. Таблица факта и таблицы размерности связаны идентифицирующими связями, при этом первичные ключи таблицы размерности мигрируют в таблицу факта в качестве внешних ключей. В размерной модели направления связей явно не показываются - они определяются типом таблиц. Первичный ключ таблицы факта целиком состоит из первичных ключей всех таблиц размерности. В примере (таблица факта SALE) первичный ключ составлен из четырех внешних ключей: Customer ID, SalespeopleID, TimeID и ProductID.

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

    В примере на рис. 2.87 таблица SALE - таблица факта; CUSTOMER, TIME, SALESPEOPLE и PRODUCT - таблицы размерности, которые позволяют быстро извлекать информацию о том, кто и когда сделал покупку, какой продавец и на какую сумму продал и какие именно товары были проданы.

    ERwin поддерживает использование вторичных таблиц размерности, называемых консольными таблицами (outrigger), хотя они не требуются для схемы "звезда". Консольные таблицы могут быть связаны только таблицами размерности, причем консольная таблица в этой связи родительская, а таблица размерности - дочерняя. Связь может быть идентифицирующей или неидентифицирующей. Консольная таблица не может быть связана таблицей факта. Она используется для нормализации данных в таблицах размерности. Нормализация данных полезна при моделировании реляционной структуры, но она уменьшает эффективность выполнения запросов к хранилищу данных. В размерной модели главной целью является обеспечение высокой эффективности просмотра данных и выполнения сложных запросов.

    Схема "снежинка" (так называется размерная модель, в которой консольные таблицы используются для нормализации каждой таблицы размерности, рис. 2.88) обычно препятствует эффективности, потому что требует объединения многих таблиц для построения результирующего набора данных, что увеличивает время выполнения запроса. Поэтому при проектировании не следует злоупотреблять созданием множества консольных таблиц.

    Если денормализованная таблица размерности получается слишком большой, при этом к части колонок запросы делаются чаще, чем к остальным, целесообразно для повышения эффективности разбить одиночную таблицу размерности на две отдельные таблицы размерности. Две полученные таблицы можно связать неидентифицирующей связью. В примере на рис. 2.87 таблица размерности PRODUCT'содержит как информацию о конкретном товаре, так и информацию о типах товаров. Если запросы, связанные с типами товаров, делаются чаще, чем по отдельным товарам, можно создать новую таблицу PRODUCT_TYPE и перенести в нее информацию о типах (рис. 2.89). В этом случае за счет того, что колонки, к которым наиболее часто обращаются запросы, переносятся в новую таблицу, уменьшается время выполнения запроса.



    Рис. 2.89. Нормализация таблиц размерности

     

    ERwin поддерживает методологию размерного моделирования благодаря использованию специальной нотации для физической модели -Dimensional. Наиболее простой способ перейти к нотации Dimensional -при создании новой модели (меню File/New) в диалоге ERwin Teamplate

    Selection выбрать из списка предлагаемых шаблонов DIMENSION (рис. 2.90).

    В шаблоне DIMENSION сделаны все необходимые для поддержки нотации размерного моделирования настройки, которые, впрочем, можно

    установить вручную, преобразовав обычную диаграмму в размерную модель:



    Рис. 2.90. Выбор шаблона DIMENSION

     

    Для физического уровня выбрана методология DM (Dimensional Modeling). Эта опция устанавливается в закладке Methodology диалога Preferences (меню Option/Preferences), рис. 2.91. При этом показываются иконки размерности для таблиц. В списке выбора в левой части панели инструментов физический уровень показывается как Dimensional и изменяется вид палитры инструментов на физическом уровне (рис. 2.92).



    Рис. 2.91. Выбор нотации DM

     

    Установлена опция отображения связей диагональными линиями (Orthogonal). (Устанавливается в группе Relationship lines закладки General диалога Stored Display Editor, меню Edit/Stored Display.)

    Отображаются типы данных для колонок и обозначения внешних ключей.



    Рис. 2.92. Палитра инструментов размерной модели

     

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

      • таблица факта не является в связи дочерней (рис. 2.93);

      • консольная таблица не является в связи родительской;

      • установлена идентифицирующая связь между консольной таблицей и таблицей факта.



    Рис. 2.93. Предупреждение о нарушении синтаксиса

     

    Для внесения новой таблицы в модель можно воспользоваться кнопкой в палитре инструментов. В диалоге описания свойств таблицы Table Editor появляется новая закладка Dimensional, в которой задаются специфические свойства таблицы в размерной модели (рис. 2.94):
  • 1   ...   10   11   12   13   14   15   16   17   ...   20

    Похожие:

    1. Создание модели процессов в bpwin icon2 Создание отчетов в bpwin
    Для создания отчетов по функциональной модели можно также использовать генераторы отчетов третьих фирм, например Crystal Reports

    1. Создание модели процессов в bpwin iconМоделирование бизнес-процессов с bpwin 0
    Этот инструмент используют в основном системные аналитики и специалисты по внедрению информационных систем. Erwin предназначен для...

    1. Создание модели процессов в bpwin iconПояснительная записка Цель: Создание модели школьного образовательного...
    Цель: Создание модели школьного образовательного пространства на основе системно-деятельностного подхода, обеспечивающей становление...

    1. Создание модели процессов в bpwin iconС. Г. Пудовкина моделирование, анализ
    Учебное пособие предназначено для студентов, изучающих дисциплины «Математические методы и модели в экономике», «Математическая экономика»,...

    1. Создание модели процессов в bpwin iconСоздание бизнеса в регионе на основе действующей модели (на примере компании «Рыбный день»)
    Федеральное государственное автономное образовательное учреждение высшего образования

    1. Создание модели процессов в bpwin iconЛабораторная работа по курсу «Информационные системы анализа и оптимизации бизнес-процессов»
    ...

    1. Создание модели процессов в bpwin iconФедеральное государственное автономное учреждение высшего профессионального...
    Идентификация бизнес-процессов ООО «Газпром информ» и описание модели. 20

    1. Создание модели процессов в bpwin iconПрограмма развития муниципального бюджетного дошкольного образовательного...
    Концепция построения программы «Создание модели доу общеразвивающего вида на основе социокультурного взаимодействия»

    1. Создание модели процессов в bpwin iconПрограмма внедрения sap erp 5 Функциональные требования к еасуп 6...
    Фт-14. 2 Определение потребностей в обучении и формирование предварительного бюджета на период (год, квартал, месяц) 17

    1. Создание модели процессов в bpwin iconПример заполнения раздела «Технические характеристики версии модели»...
    Комментарии: в обозначении модели принтера, особенно для ккм более ранних выпусков, может отсутствовать символ "V" или "N". При наличии...

    Вы можете разместить ссылку на наш сайт:


    Все бланки и формы на filling-form.ru




    При копировании материала укажите ссылку © 2019
    контакты
    filling-form.ru

    Поиск