Case средство Silverrun

Рисунок 4.

5.2. Реляционное моделирование

На рис.5 показана созданная в ERX модель, перенесенная в модуль реляционного моделирования RDM и доработанная для непосредственной реализации в реляционной базе данных. В нижней части символов таблиц показаны действия над записями. А три колонки справа от имен столбцов таблиц отражают действия, производимые над этими столбцами при операциях считывания, присваивания и модификации значений. В генерируемой мостом схеме базы данных этим действием будут соответствовать триггеры. Также можно определять глобальные действия на уровне всей модели (в схеме базы данных - хранимые процедуры).

Рисунок 5.

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

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

Для поддержки различных методологий модуль RDM предоставляет возможность переопределения нотации. На рис.6 изображен экран выбора графических символов для представления различных характеристик связей.

Рисунок 6.

Различные группы пользователей имеют доступ к разным подмножествам базы данных и к ограниченному набору операций над ними. Для моделирования пользовательских (внешних по терминологии ANSI SPARC) представлений в модуле RDM используется механизм подсхем. Подсхема - это подмножество модели данных, доступное конкретному приложению или группе пользователей. SILVERRUN позволяет управлять "прозрачностью" границы между схемой и подсхемой, а также по требованию интерактивно переносить изменения из схемы в подсхему и наоборот. Число уровней подсхем не ограничено: можно создавать подсхемы подсхем.

5.3. Генерация приложений и схем баз данных

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

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

Генерация схемы базы данных происходит путем создания файла с SQL-операторами, в которые переводятся конструкции модели данных. Этот файл используется для физического создания базы данных на сервере. На рис.7 приведен фрагмент схемы для СУБД Informix OnLine, полученной из модели, изображенной на Рис.5. - ====================================- table: Order- ====================================create table Order( OrderNum INTEGER not null, OrderDate DATE default TODAY not null, OrderCost MONEY not null, CustomerName CHAR not null, primary key (OrderNum));- ================================================================- referential integrity triggers section- ================================================================ - =======================================- Procedure raise_exception for errors messages- =======================================create procedure messages_errors(errno INTEGER, isam INTEGER, errmsg char(255)) raise exception errno, isam, errmsg;end procedure;- ===================================================- Controls the INSERT action on table Order.- Rule : CHILD INSERT RESTRICT- Parent : Customer- Child : Order- Direction : Order_Customer- ===================================================create trigger tr_ins_Order insert on Order referencing NEW as inserted for each row when ( (select count(*) from Customer where inserted.CustomerName = Customer.CustomerName ) = 0 ) ( execute procedure messages_errors ( -746, 0, "Insert of "Order" denied: corresponding "Customer" does not exist." ) );- ===================================================- Controls the DELETE action on table Customer.- Rule : PARENT DELETE RESTRICT- Parent : Customer- Child : Order- Direction : Customer_Order- ===================================================create trigger tr_del_Customer delete on Customer referencing OLD as deleted for each row when ( exists ( select * from Order where Order.CustomerName = deleted.CustomerName ) ) ( execute procedure messages_errors ( -746, 0, "Delete of "Customer" denied: referencing "Order" exists." ) );

Рисунок 7. Фрагмент схемы базы данных для СУБД Informix OnLine.

Заключение.

SILVERRUN постоянно развивается. В начале 1995 г. выпущена версия под ОС Solaris для платформ Intel и Sparc. К концу года закончилась реализация модулей реинжениринга бизнес-процессов и ERX для версии SILVERRUN Enterprise. Постоянно обновляющиеся мосты позволяют работать с последними версиями поддерживаемых продуктов.

Список используемых источников.

1. Журнал "Системы управления базами данных", #03, 1995 год// Издательство "Открытые системы" (http://www.osp.ru/) Постоянный адрес статьи: http://www.osp.ru/dbms/1995/03/36.htm

2. Методология DATARUN и CASE-системы SILVERRUN. http://www.citforum.urbannet.ru/.

3. Характеристики CASE-средств SILVERRUN. http://www.cs.ifmo.ru/koi/education/documentation/case/glava5~1.shtml.

4. Методология DATARUN и CASE-системы SILVERRUN. http://www.sdteam.com/.


Страница: