Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРС_проект_ИС.doc
Скачиваний:
18
Добавлен:
11.08.2019
Размер:
3.38 Mб
Скачать

4.4. Проектирование и анализ структуры базы данных

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

В системе Delphi 7 имеется возможность представления структуры БД, используемой в проекте, в графическом виде. Реализуется она следующим образом. Прежде всего, надо перейти к окну редактора и в правой нижней части выбрать вкладку Diagram. Исходно панель пуста. Ее можно заполнять, перетаскивая объекты из окна дерева объектов.

Схема большой БД может быть представлена совокупностью диаграмм, показывающих отношения между отдельными таблицами. Новая диаграмма создается щелчком на кнопке New Diagram, ненужная диаграмма удаляется из схемы щелчком на кнопке Delete Diagram. Имя диаграммы вводится в окне Name, краткое описание диаграммы – в окне Description.

Переместим объект Naklad.DB из окна дерева объектов на панель Diagram. Этот объект наглядно представляется в виде таблицы со списком полей. Ключевое поле выделено полужирным шрифтом, виртуальные поля, не присутствующие в физической таблице, – курсивом. При проектировании отношений между элементами БД можно использовать примечания к различным объектам схемы. Блок примечаний добавляется щелчком на кнопке Comment Block с последующим щелчком на схеме. Появляется прямоугольник, в котором можно вводить произвольный текст. Затем надо щелкнуть на кнопке Allude Connector и протянуть линию от примечания к н ужному объекту (рис. 22).

Рис. 22. Наглядное представление НД с комментарием

С ледующим переместим объект SourceNak (источник данных), и между НД и источником сразу же возникает связь (рис. 23).

Рис. 23. Связь между НД и источником данных

Если на основе существующего НД требуется создать новый источник данных, то, не обращаясь к инспектору объектов, это можно сделать следующим образом:

  1. Разместить в модуле данных новый объект класса TDataSource и вернуться на панель Diagram.

  2. Перетащить созданный объект из окна дерева объектов на правую панель (пока он не связан ни с каким НД).

  3. Щелкнуть на кнопке Property Connector, после чего провести линию от НД до нового источника данных. Связь создастся при этом автоматически.

  4. Для удаления связи, надо выделить ее при помощи мыши, после чего в контекстном меню выбрать пункт Remove.

В ыше было показано, как связать два НД с помощью свойств MasterSource / MasterFields. Если к текущей схеме данных добавить НД Snakl при сохранении описанной связи, то на схеме у этого НД появятся две новые связи. Вторая связь, начинающаяся и заканчивающаяся значками в виде прямоугольников, описывает главный НД Naklad для подчиненного НД Snakl. Главный НД выделен более крупным прямоугольником (рис. 24).

Рис. 24. Создание связи между НД при помощи схемы данных

Удалим эту связь, выделив ее и выбрав в контекстном меню пункт Remove, а затем создадим снова. Для этого, щелкнув на кнопке Master / Detail connector, проведем линию при нажатой левой кнопке мыши от НД Naklad (главного) к НД Snakl (подчиненному). На экране появится описанное ранее диалоговое окно Field Link Designer (рис. 20), в котором указываются необходимые поля. Если теперь закрыть окно, на схеме появится связь, которую мы ранее удалили. В дальнейшем ее можно отредактировать, выделив мышью и выбрав в контекстном меню пункт Edit.

Кнопка Lookup Connector позволяет показать в проектируемой БД связи по полям соответствия. Эти связи со значком в виде «глаза» указывают, из какого НД подставляются значения. Эти связи нельзя редактировать, их можно лишь удалять и создавать заново. Для установки связи необходимо, щелкнув на кнопке Lookup Connector, протянуть линию от НД, в котором имеются поля соответствия, к подстановочному НД. Возникнет диалоговое окно (рис. 21), в котором определяется новое поле соответствия. Однако практика показывает, что этот способ создания связей реально не работает.

С помощью кнопки Allude Connector можно представлять в виде стрелок дополнительные взаимосвязи между объектами схемы без всяких ограничений. При этом с помощью пунктов контекстного меню Start with и End with для каждой связи можно формировать оригинальный вид, задавая разную форму начальной и конечной областей линии связи.

Для каждой связи и любого объекта схемы данных имеется возможность выбрать оригинальные цвета. Объект можно также переместить на передний план схемы с помощью пункта Bring to front из контекстного меню, если таблица закрыта другими объектами. Переместить объект на задний план позволяет команда контекстного меню Send to back. Допустимо также изменение размеров и положения любых элементов схемы данных, в том числе подписей у связей.

Р уководствуясь представленными методиками, создадим схемы связей НД демонстрационной базы данных так, как это показано на рис. 25 – 30.

Рис. 25. Связь НД Naklad и Snakl по ключевому полю

Рис. 26. Связь НД Naklad и Zakazcik по подстановочным полям

Р ис. 27. Связь НД Snakl и Izdelie по подстановочным полям

Р ис. 28. Связь НД Plateg и Splat по ключевым полям

Рис. 29. Связь НД Plateg и Zakazcik по подстановочным полям

Р ис. 30. Связь НД Splat и Izdelie по подстановочным полям