Создание БД и настройка ECO компонент
1) Перейдем на закладку projDeanOfficeEcoSpace рабочего окна Delphi (см. Рисунок 8.6). На этой закладке настраивают особенности функционирования объектного пространства проекта. Пока что объектное пространство пусто – оно работает стандартным способом. Элементы модели доступны в других окнах в виде диаграмм UML.
Рисунок 8.6 – Окно настройки объектного пространства
2) Выберем в палитре инструментов компонент BdpConnection из категории Borland Data Provider, предназначенный для связи с СУБД, и добавим его в проект.
3) Настроим этот компонент на доступную базу данных. В качестве учебного примера пропишем путь к пустой базе данных DeOffDB.gbd выбранной СУБД.
4) В свойстве ConnectionString компонента BdpConnection выберем имя соединения IBConn1.
5) Настроим автоматическую связь модели MDA с выбранной СУБД. Синхронизация содержимого пространства ЕСО с данными на внешних носителях (файлах или базах данных) выполняется компонентами, наследующими базовые характеристики класса PersistenceMapper. Этот класс отвечает за отображение структуры объектного пространства в схемы представления данных, например реляционные. Добавим к проекту компонент PersistenceMapperBdp из категории Enterprise Core Objects. Он предназначен для раскладки объектного пространства в схемы баз данных, доступ к которым происходит по технологии BDP.NET. Этот компонент располагается в окне projDeanOfficeEcoSpace рядом с объектом BdpConnection1 (экземпляром компонента BdpConnection).
6) Свяжем компонент PersistenceMapperBdp через свойство Connection с объектом BdpConnection1 (см. Рисунок 8.7). Компонент PersistenceMapperBdp полностью ответствен за все аспекты автоматического сохранения и загрузки копии объектного пространства модели в выбранную базу данных. Фактически, добавив компонент PersistenceMapperBdp к проекту, мы тем самым реализовали все основные аспекты взаимодействия приложения MDA с базой данных.
Рисунок 8.7 – Настройка связи ECO с СУБД
7) Сгенерируем схему базы данных. Компонент PersistenceMapperBdp самостоятельно создает в выбранной базе данных специальные таблицы, поля и отношения между ними. В этих таблицах хранятся объекты пространства ЕСО. В контекстном меню компонента PersistenceMapperBdp выберем пункт, обеспечивающий автоматическую настройку всех нужных свойств для конкретной СУБД. В случае использования СУБД Interbase нужный пункт имеет вид Interbase [dialect3] setup, в случае СУБД Microsoft SQL Server – SQL Server setup и так далее. В нашем случае выбираем пункт Interbase [dialect3] setup, так как используется СУБД Firebird 2.0 (см. Рисунок 8.8).
Рисунок 8.8 – Настройка свойств СУБД
8) Сгенерируем таблицы, описывающие структуру объектного пространства. Для этого нажмем кнопку Generate Schema в нижней части окна, представляющего пространство ЕСО. В текущей базе данных автоматически сформируются таблицы, содержащие поля для хранения модели проекта (см. Рисунок 8.9).
9) В ходе генерации схемы среда Delphi проверит содержимое базы данных. Если в ней имеются таблицы, не имеющие отношения к текущей модели, будет предложено их удалить. По умолчанию режим удаления лишних таблиц выключен.
10) Компонент PersistenceMapperBdp, настроенный на конкретную СУБД, надо задействовать как связующее звено между объектным пространством ЕСО и СУБД. Для этого обратимся к текущему объектному пространству проекта и щелкнем на свободном месте окна projDeanOfficeEcoSpace. В свойстве PersistenceMapper в окне Инспектора объектов Properties для объектного пространства зададим ссылку на объект PersistenceMapperBdp1 (единственный экземпляр компонента PersistenceMapperBdp). Связь объектного пространства с СУБД установлена.
Рисунок 8.9 – Автоматическая генерация схемы модели
Далее нам необходимо представить создаваемые объекты модели (экземпляры классов Кафедра и Преподаватель) в таблице. Объект следует добавлять в таблицу, удалять его и обновлять БД по нажатию кнопок Добавить, Удалить и Сохранить соответственно. Проделаем всю работу исключительно с помощью визуальных средств Delphi, не прибегая к ручному программированию.
Дата добавления: 2021-12-14; просмотров: 267;