Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом_Mage / Диплом / !!! Диплом (сборка).doc
Скачиваний:
51
Добавлен:
16.04.2013
Размер:
2.94 Mб
Скачать

2.2.3. Связи в реляционной модели

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

2.2.4. Краткое описание возможностей ibExpert

IBExpert позволяет работать с базами данных всех официально объявленных на данный момент InterBase-серверов (от стандартного InterBase и бесплатной FireBird до российского клона Yaffil) и использование всех диалектов. При работе с любыми объектами базы ведется максимально возможная статистика по всем особенностям рассматриваемых объектов: описания, комментарии, зависимости от других объектов базы и от рассматриваемых в данный момент, анализ выполняемых запросов и хранимых процедур, права на объекты и поддержка версионности для ведения базы [5]. Для базы данных обеспечивается просмотр данных и представление самой структуры в виде DDL (Data Definition Language), а для процедур - расширенный блок предупреждений об ошибках. Кроме того предусмотрены:

  • поддержка мониторинга запросов к базе и генерация html-документации на разрабатываемую базу данных (включая описание объектов и навигацию по ним);

  • поддержка работы с метаданными, включая настройки выводимых скриптов, вывод в различные итоговые контексты (файл, экран, выполняемый скрипт);

  • управление всем блоком безопасности базы данных – пользователями и их правами;

  • встроенный менеджер отчетов на основе FastReport, позволяющий создавать свои собственные отчеты;

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

  • генератор тестовых данных;

  • объединение всех операций с физической базой данных (резервное копирование, восстановление, остановка, получение детальной статистики, тестирование соединения с внешним сервером).

Также следует отметить удобство настройки программы. Можно настраивать все панели инструментов, их содержимое (добавлять и удалять кнопки), все действия системы, переопределять действия программы на те или иные операции. Предоставлен доступ к блоку шаблонов - можно перенастроить все под потребности пользователя, изменив синтаксис генерируемого кода, а также поддержка внешних файлов помощи, встраиваемых в общую справочную систему и подключение внешних модулей (plug-ins). Кроме того, реализована поддержка нескольких языков в интерфейсе (восемь, включая русский) [5].

В IBExpert существует несколько инструментов для создания базы данных:

  • моделирование структуры БД с помощью Database Designer;

  • создание БД на основе предварительно сгенерированного SQL-скрипта;

  • создание БД «с нуля».

Рассмотрим последовательно каждый из них.

2.2.5. Моделирование с помощью Database Designer

Вызов редактора диаграмм производится из главного меню IBExpert выбором пункта Database Designer (Tools – Database Designer).

Процесс построения модели состоит из следующих шагов:

  • определение сущностей;

  • определение зависимостей между сущностями;

  • задание первичных и альтернативных ключей;

  • определение атрибутов сущностей;

  • приведение модели к требуемому уровню нормальной формы;

  • переход к физическому описанию модели: назначение соответствий имя сущности - имя таблицы, атрибут сущности - атрибут таблицы; задание триггеров, процедур и ограничений;

  • генерация базы данных.

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

Инструментарий для создания и управления диаграммами

Создание новой диаграммы производится при каждом вызове редактора из главного меню или при нажатии кнопки New Diagram панели инструментов окна редактирования модели.

Диаграмма Database Designer строится из трех основных блоков – таблиц (Table), представлений (View) и связей (Reference). Добавление нового блока производится путем выбора соответствующей кнопки панели инструментов и щелчком мыши на рабочей области диаграммы (рис. 2.1) [6].

Рис. 2.1. Добавление новой таблицы в диаграмму

Для каждой модели можно задавать настройки (Model Options), в которых указываются параметры отображения таблиц (имя и описание таблицы, имена и типы полей, указатели внешних ключей и т.д.) и связей (автоматическая трассировка связей, имена связей). Кроме того, можно задавать и изменять домены (Domains), исключения (Exceptions) и хранимые процедуры (Procedures) в соответствующих закладках (рис. 2.2).

Рис. 2.2. Окно редактирования параметров диаграммы

Для быстрого доступа к любому объекту модели предназначено специальное окно (рис 2.3). В выпадающем древовидном списке выбирается интересующий нас объект и двойным щелчком мыши происходит переход в режим его редактирования [6].

Рис. 2.3. Окно навигации по объектам модели

В режиме редактирования таблицы в окне на рис.2.2 появляется дополнительная закладка Table: <Имя таблицы>, на которой можно управлять любыми элементами таблицы (рис. 2.4).

Рис. 2.4. Закладка управления таблицей

В пункте Definition (Определение) задается имя таблицы и комментарий к ней. В пункте Columns (Столбцы) для любого поля (атрибута) таблицы можно задать название, тип, указать домен, длину и комментарий, а также указать принадлежность поля первичному ключу. Выбрав пункт Indexes (Индексы), можно задать для таблицы произвольный индекс, выбрав для него тип, порядок сортировки и индексируемые поля. В пункте Keys (Ключи) для таблицы могут задаваться первичные (Primary), уникальные (Unique), или альтернативные, и внешние (Foreign) ключи с указанием полей, по которым будут строиться данные ключи. В пункте Checks (Проверки) задаются ограничения на значения, которые будут храниться в таблице. В пункте Triggers (Триггеры) для таблицы устанавливаются, при необходимости, триггеры для совершения определенных действий при модификации таблицы (вставке, удалении, изменении строк). При предварительном просмотре (Preview) генерируется скрипт на языке SQL, который создает таблицу с заданными параметрами [6].

При двойном щелчке мыши на стрелке связи таблиц открывается окно редактирования связи (рис. 2.5). В нем можно указать название ограничения (внешнего ключа), а также поля родительской (Fields for Foreign Key) и дочерней (Reference Fields for Foreign Key) таблиц, по которым строится данный внешний ключ (Included Fields).

Рис. 2.5. Окно редактирования связи

В окне редактирования представления (рис. 2.6), которое вызывается аналогичным образом, присутствуют 4 закладки: General, SQL, Triggers и Preview. На первой из них указывается имя представления и примечание к нему, на второй – директива на языке SQL для вызова этого представления. На закладке Triggers задаются триггеры для таблиц, из которых состоит представление, чтобы сделать его модифицируемым. На последней закладке показывается сгенерированный SQL-скрипт для создания представления с заданными характеристиками.

Рис. 2.6. Окно редактирования представления

Созданные модели можно хранить на диске как в виде файлов Database Designer, так и в виде готовых SQL-скриптов. Для генерации такого скрипта служит команда меню Generate Script (Designer – Generate Script). После установки необходимых параметров (выбор итогового контекста, типа скрипта) происходит его создание.

Обратное проектирование

Database Designer также предоставляет возможность обратного проектирования баз данных (Reverse Engineering). Обратное проектирование, то есть восстановление информационной модели по существующей базе данных, используется при расширении (или модификации) существующей структуры, которая была построена без необходимой сопроводительной документации или с использованием других средств проектирования. После завершения процесса восстановления модели Database Designer автоматически «раскладывает» таблицы и представления на диаграмме. Теперь можно выполнять модификации уже с использованием логической схемы – добавлять таблицы, атрибуты, комментарии, связи и т.д. По завершении изменений одна команда – синхронизировать модель с базой данных – актуализирует все проведенные изменения. Построение модели может быть выполнено на основании выбранной базы данных, зарегистрированной в IBExpert [6].

Фрагмент модели базы данных, созданной в Database Designer, представлен на рис. 2.7.

Рис. 2.7. Фрагмент модели базы данных