Концептуальное моделирование структуры данных

Тема 10. CASE – средства, их функциональные возможности и характеристика.

Событийное программирование

Логика приложения, построенного с помощью RAD, является событийно-ориен­тированной. Это означает следующее: каждый объект, входящий в состав прило­жения, может генерировать события и реагировать на события, генерируемые дру­гими объектами. Примерами событий могут быть: открытие и закрытие окон, нажатие кнопки, нажатие клавиши клавиатуры, движение мыши, изменение дан­ных в базе данных и т. п.

Разработчик реализует логику приложения путем определения обработчика каж­дого события — процедуры, выполняемой объектом при наступлении соответству­ющего события. Например, обработчик события «нажатие кнопки» может открыть диалоговое окно. Таким образом, управление объектами осуществляется с помо­щью событий.

Обработчики событий, связанных с управлением базой данных (DELETE, INSERT, UPDATE), могут реализовываться в виде триггеров на клиентском или серверном узле. Такие обработчики позволяют обеспечить ссылочную целостность базы дан­ных при операциях удаления, вставки и обновления, а также автоматическую ге­нерацию первичных ключей.

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

Широкое распространение реляционных СУБД и их использование в самых раз­нообразных приложениях показывает, что реляционная модель данных достаточ­на для моделирования предметных областей. Однако проектирование реляцион­ной базы данных в терминах отношений на основе рассмотренного нами ранее механизма нормализации (см. главу 4 «Реляционные базы данных») часто пред­ставляет собой очень сложный и неудобный для проектировщика процесс. Это обусловлено некоторой ограниченностью реляционной модели данных, которая особенно ярко проявляется в следующих аспектах:

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

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

О хотя весь процесс проектирования происходит на основе учета зависимостей, реляционная модель не содержит никаких средств для представления этих за­висимостей;

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