Объектно-реляционное отображение
Данный слой состоит из классов, которые с помощью драйверов доступа к БД осуществляют взаимодействие с СУБД. На рисунке 6.2 приведён пример базовых классов, на основе которых можно строить слой объектно-реляционного отображения.
Рисунок 6.28 – Классы объектно-реляционного отображения
В таблице приведено описание классов, изображённых на рисунке 6.2.
Таблица 6.13
Описание базовых классов объектно-реляционного отображения
Имя класса | Описание |
TConnection | Предназначен для управления соединением к базам данных и настройки параметров соединения. |
TTransactionObject | Предназначен для управления транзакцией (открытие, закрытие, откат) |
TDBObject | Предназначен для работы с базой данных. Использует классы TConnection и TTransactionObject |
TExecuteObject | Обеспечивает работу с SQL. |
Характеристики класса «TConnection»
Свойства класса TConnection представлены в таблице 6.5.
Таблица 6.14
Свойства класса TConnection
Название | Описание |
ServerName: string | Сетевое имя сервера СУБД |
DataBaseName: string | Полный локальный путь к файлу БД |
UserName: string | Имя пользователя СУБД используемое для авторизации |
Password: string | Пароль доступа к СУБД |
DataBase: TIBDatabase | Компонент доступа к базе данных, с которой работает объект |
TransactionObject: TTransactionObject | Транзакцию, с которой работает объект |
Методы класса TConnectionпредставлены в таблице6.6.
Таблица 6.15
Методы класса TConnection
Название | Описание |
Connect() | Открытие соединения с базой данных |
Disconnect() | Закрытие соединения с базой данных |
Характеристики класса «TTransactionObject»
Класс TTransactionObject является оболочкой к компоненту TIBTransaction, реализующего функции по работе с транзакциями. Свойства класса TTransactionObject представлены в таблице 6.7.
Таблица 6.16
Свойства класса TTransactionObject
Название | Описание |
Transaction: TIBTransaction | Определяет с какой транзакцией работает объект. |
InTransaction: Boolean | Определяет запущена ли транзакция у объекта. |
Методы класса TTransactionObject представлены в таблице 6.8.
Таблица 6.17
Методы класса TTransactionObject
Название | Описание |
StartTransaction() | Запуск транзакции |
Commit() | Подтверждение транзакции |
Rollback() | Отмена транзакции |
Характеристики класса «TDBObject»
Поля класса TDBObject представлены в таблице 6.9.
Таблица 6.18
Поля класса TDBObject
Название | Описание |
fOwn_transaction: Boolean | Определяет использует ли объект свою транзакцию или чужую переданную при создании класса. |
Свойства класса TDBObject представлены в таблице 6.10.
Таблица 6.19
Свойства класса TDBObject
Название | Описание |
Connection: TConnection | Подключение, используемое данным объектом. |
TransactionObject: TTransactionObject | Транзакция, используема данным объектом |
Класс TDBObject содержит те же методы что и класс TTransactionObject для реализации возможности работы со своей собственной транзакцией. Соответственно если он использует чужую транзакцию, он ничего не может с ней делать. Методы класса TDBObject представлены в таблице 6.11.
Таблица 6.20
Методы класса TDBObject
Название | Описание |
StartTransaction() | Запуск транзакции |
Commit() | Подтверждение транзакции |
Rollback() | Отмена транзакции |
Характеристики класса «TExecuteObject»
Класс TExecuteObject выполняет команды SQL и является оболочкой к компоненту TIBQuery, который работает с семейством СУБД BorlandIB. Свойства компонента TExecuteObject представлены в таблице 6.12.
Таблица 6.21
Свойства класса TExecuteObject
Название | Описание |
nfi[name: string]: Integer | Свойство доступа к полям набора данных. Используется, когда поле является целочисленным. |
nfs[name: string]: string | Свойство доступа к полям набора данных. Используется, когда поле является строковым. |
nff[name: string]: Extended | Свойство доступа к полям набора данных. Используется, когда поле является дробным. |
Методы класса TExecuteObject представлены в таблице 6.13.
Таблица 6.22
Методы класса TExecuteObject
Название | Описание |
ExecuteQuery(sql: string; params: array of variant) | Метод, выполняющий запрос к базе данным не возвращающий набора данных. |
SelectQuery(sql: string; params: array of variant; FetchAll: boolean=false) | Метод, выполняющий запрос к базе данным возвращающий набор данных. |
SelectStrings(sql: string; params: array of variant): TStringList | Метод, выполняющий запрос к базе данных и возвращающий коллекцию строк в классе TStringListиз первого поля запроса |
- «Технологии разработки программного обеспечения»
- Оглавление
- Введение
- Анализ проблемы. Постановка задачи
- Введение
- Описание примера
- Составление списка заинтересованных лиц
- Анкетирование и проведение интервью
- Список потребностей заинтересованных лиц
- Задания
- Контрольные вопросы
- Моделирование объекта автоматизации
- Введение
- Введение в методологиюAris
- Описание инструментаAris. Начало работы
- Построение организационной модели
- Построение диаграммы цепочек добавленного качества
- ПостроениеeEpCмодели
- Описание объектов автоматизации
- Задания
- Контрольные вопросы
- Разработка модели вариантов использования и их спецификаций
- Введение
- Разработка модели вариантов использования
- Модель вариантов использования
- Построение модели вариантов использования
- Спецификация вариантов использования
- Основной поток
- Альтернативные потоки
- Специальные требования
- Пример спецификации варианта использования
- Алгоритм расчёта рейтингов
- Задания
- Пример написания раздела
- Назначение документа
- Наименование системы
- Сведения о заказчике и исполнителе
- Основания для выполнения работ, сроки и финансирование
- Основные понятия, определения и сокращения
- Актуальность разработки системы
- Назначение и цели создания (развития) системы
- Требования к содержимому раздела
- Пример написания раздела
- Характеристики объекта автоматизации
- Требования к содержимому раздела
- Пример написания раздела
- Организация и планирование научно-исследовательской и инновационной деятельности
- Исполнители научно-исследовательских работ
- Учет и отчетность по научно-исследовательским работам
- Требования к системе
- Требования к содержимому раздела
- Пример написания раздела
- Требования к системе в целом
- Требования к структуре и функционированию системы
- Требования к численности и квалификации персонала
- Требования к функциям (задачам)
- Описание вариантов использования
- Состав и содержание работ по созданию системы
- Требования к содержимому раздела
- Пример написания раздела
- Порядок контроля и приемки системы
- Требования к содержимому раздела
- Пример написания раздела
- Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
- Требования к содержимому раздела
- Пример написания раздела
- Создание служб необходимых для функционирования системы
- Функциональные этапы внедрения системы
- Требования к документированию
- Требования к содержимому раздела
- Пример написания раздела
- Паспорт системы
- Общее описание системы
- Руководство администратора
- Руководство пользователя
- Регламент эксплуатации
- Источники разработки
- Правила оформления
- Задание
- Бизнес-логика
- Объектно-реляционное отображение
- Структура бд
- Создание проекта вBorlandDeveloperStudio
- Добавление нового модуля в проект
- Создание классов с помощью диаграммыUml
- Добавление полей
- Добавление свойств
- Добавление процедуры
- Добавление функции
- Создание отношений между классами
- Ассоциация
- Агрегация
- Наследование
- Пример создания классов
- Создание классов и отношений между ними слоя объектно-реляционного отображения
- Создание классов слоя бизнес-логики
- Невизуальные компоненты интерфейса используемые в примере
- TimageList
- TActionManager
- Визуальные компоненты используемые в примере
- TBitBtn
- TdbGrid
- TcomboBox
- TPageControl
- Пример разработки интерфейса
- Главная форма
- Форма редактирования параметров студента
- Форма редактирования книг
- Форма отображения списка книг
- Подключение классов
- Сохранение проекта
- Задание
- Шаблоны проектирования
- Шаблон InformationExpert(информационный эксперт)
- Преимущества
- Шаблон Creator(создатель)
- Преимущества
- Шаблон LowCoupling(слабое связывание)
- Преимущества
- Шаблон HighCohesion(высокое зацепление)
- Преимущества
- Шаблон Controller(контроллер)
- Преимущества
- Применение шаблонаInformationExpert
- Применение шаблонаCreator
- Использование шаблонаHighCohesion
- Применение шаблонаController
- Задание
- Технология eco
- Язык объектных ограничений ocl
- Mdi-контейнеры
- Создание простого mda-приложения
- Основные этапы разработки приложения
- Обзор возможностей Borland Developer Studio 2006 для разработки mda-приложения
- Создание моделиUml
- Создание бд и настройкаEcOкомпонент
- Создание интерфейса
- Связывание интерфейса с моделью
- Создание логики наOcl
- Задания
- Контрольные вопросы
- РазработкаMda-приложения с использованием машин состояний
- Введение
- Автоматы
- Состояния
- Подавтоматы
- Диаграммы состояний
- Создание mda-приложений с использованием машин состояний
- Модификация модели uml
- Создание машины состояний
- Обновление базы данных
- Модификация пользовательского интерфейса
- Связывание интерфейса с моделью
- Применение автоформ
- Расширение пользовательского интерфейса
- Задания
- Контрольные вопросы
- Расширенные возможности разработкиMda-приложений
- СозданиеMda-приложения с расширенными возможностями
- Модификация моделиUml
- Программное добавление объекта
- Программное удаление объекта
- Программное редактирование объекта
- Работа со справочником
- Поиск объектов
- Задания
- Контрольные вопросы
- Заключение
- Библиографический список