- •Экзаменационный билет №1
- •1. База данных: определения, признаки базы данных.
- •2. DataBase Desktop: задание ключей в базе данных формата «Paradox».
- •Экзаменационный билет №2
- •1. Классификация баз данных.
- •2. DataBase Desktop: задание связей в базе данных формата «Paradox»
- •Экзаменационный билет №3
- •1. Иерархические базы данных.
- •2. Компоненты Delphi для работы с бд: tDatabase (назначение, свойства, методы события).
- •Свойства компонента
- •Методы компонента
- •Экзаменационный билет №4
- •1. Сетевые базы данных.
- •2. Компоненты Delphi для работы с бд: tTable (свойства и методы, используемые для подключения таблиц).
- •Экзаменационный билет №5
- •1. Реляционные базы данных.
- •2. Компоненты Delphi для работы с бд: tTable (свойства и методы, используемые для перемещения по таблице).
- •Экзаменационный билет №6
- •1. Объектно-ориентированные базы данных.
- •2. Компоненты Delphi для работы с бд: tTable (свойства и методы, используемые для сортировки таблиц).
- •Экзаменационный билет №7
- •1. Реляционная модель данных.
- •2. Компоненты Delphi для работы с бд: tTable (свойства и методы, используемые для фильтрования данных таблиц).
- •Экзаменационный билет №8
- •1. Структурная часть реляционной модели данных: типы данных, используемых в реляционной модели данных.
- •Типы данных
- •Простые типы данных
- •2. Компоненты Delphi для работы с бд: tTable (свойства и методы, используемые для манипулирования данными в таблицах).
- •Экзаменационный билет №9
- •1. Домен.
- •2. Компоненты Delphi для работы с бд: tDataSource (назначение, свойства, методы события).
- •Свойства компонента
- •Методы компонента
- •Сотрудники (Номер_сотрудника, Фамилия, Зарплата, Номер_отдела)
- •1 Иванов 1000 1
- •2 Петров 2000 2
- •3 Сидоров 3000 1
- •Вычисляемые Поля
- •Управление tdbGrid во время выполнения
- •Вычисляемые поля
- •Экзаменационный билет №13
- •Простые и составные ключи
- •Естественные и суррогатные ключи
- •Операторы sql
- •Операторы ddl (Data Definition Language) - операторы определения объектов базы данных
- •Операторы dml (Data Manipulation Language) - операторы манипулирования данными
- •Операторы защиты и управления данными
- •Отбор данных из одной таблицы
- •Отбор данных из нескольких таблиц
- •Использование имен корреляции (алиасов, псевдонимов)
- •Использование агрегатных функций в запросах
- •Использование агрегатных функций с группировками
- •Использование подзапросов
- •Использование объединения, пересечения и разности
- •Синтаксис оператора выборки данных (select)
- •Синтаксис оператора выборки
- •Синтаксис соединенных таблиц
- •Синтаксис условных выражений раздела where
- •Порядок выполнения оператора select
- •Стадия 1. Выполнение одиночного оператора select
- •Стадия 2. Выполнение операций union, except, intersect
- •Стадия 3. Упорядочение результата
- •Как на самом деле выполняется оператор select
- •Оператор соединения
- •Оператор пересечения
- •Оператор деления
- •1) Первая нормальная форма (1nf)
- •1) Вторая нормальная форма (2nf)
- •Панель компонент Rave
- •Компоненты вывода
- •Классы Rave
- •Целостность сущностей
- •Внешние ключи
- •2) Мост к данным
- •Об именовании компонент подключения данных
- •Управление видимостью подключения
- •Пользовательские подключения данных
- •5. Настройка подключений данных Использование событий для настройки ваших подключений данных
- •Замечания к правилам целостности сущностей и внешних ключей
- •2) Визуальная среда создания отчетов
- •Для родительского отношения
- •2) Описание tRvRenderPreview
- •Свойства tRvRenderPreview
- •События tRvRenderPreview
- •Свойства и события tRvRenderPrinter
- •Описание tRvRenderPdf
- •Описание tRvRenderHtml
- •Описание tRvRenderRtf
- •Описание tRvRenderText
- •Применение стратегий поддержания ссылочной целостности
- •При обновлении кортежа в родительском отношении
- •При удалении кортежа в родительском отношении
- •При вставке кортежа в дочернее отношение
- •При обновлении кортежа в дочернем отношении
- •2) 4. Rave подключения данных Мост к данным
- •Об именовании компонент подключения данных
- •Управление видимостью подключения
- •Пользовательские подключения данных
- •5. Настройка подключений данных Использование событий для настройки ваших подключений данных
- •Событие OnGetCols
- •Событие OnValidateRow
- •Событие OnRestore
- •2.2. Создание таблицы
- •2.3. Создание полей
2) 4. Rave подключения данных Мост к данным
Как было отмечено ранее, подключения данных (data connections) предоставляют мост между данными в вашем приложении и Rave отчетом. Первая вещь, которую вы должны сделать, это выбор типа подключения данных. Определяется это типом компонентов баз, которые Вы используете. Ниже приведенная таблица поможет вам сделать выбор, какой тип подключения лучше использовать:
Компонент подключения данных |
Лучшее использовать с … |
Как подключить |
TRvCustomConnection |
Массивы, обычне файлы или не TDataSet компоненты |
Определить события, такие как OnFirst, OnNext, OnEOF, OnGetCols и OnGetRow. |
TRvDataSetConnection |
Наследники TDataSet от третьих сторон |
Установите свойство DataSet соответствующему компоненту TDataSet |
TRvTableConnection |
TTable, заменитель TTable или его наследники |
Установить свойство Table компоненты |
Об именовании компонент подключения данных
Свойство Name компоненты подключения данных используется для именования подключения. Очень важно использовать уникальные имена для ваших компонент подключений, поскольку не может быть дублирования в вашем приложении. Также является хорошей практикой использование уникальных идентификатор в имени подключения, поскольку все подключения данных видны во всех других приложениях. Например, если ваше приложение называется Wizbang Object Wizard, то вы можете предварять имена префиксом WOW в каждом подключении, что бы имена ваших подключений были уникальными.
Управление видимостью подключения
Свойство Visible компоненты подключения данных используется для управления видимостью подключения для других приложений или версий визуального дизайнера, поставляемых конечному пользователю. Значение по умолчанию FALSE означает, что подключение данных будет видно только в отчете, печатаемом из того же самого приложения или из поставляемой программистом версии визуального дизайнера Rave. Значение TRUE означает, что подключения будут видны любому отчету, запущенному из любого приложения или из пользовательской версии дизайнера Rave. Хотя подключения данных видны в дизайнере конечного пользователя, они не показываются при попытке создать новое представление данных, поскольку они принадлежат приложению, запустившим данный дизайнер. Если Вы желаете сделать подключение из другого приложения доступным конечному пользователю, то лучшим методом будет создание проекта отчета с программисткой версией визуального дизайнера, в которой будут уже определены представления для внешних подсоединений данных.
Пользовательские подключения данных
В будущем, могут появиться и другие пользовательские подключения данных, написанные специально для других компонент баз данных. Смотри подробности в файле CUSTOMDB.TXT, который находится в папке с исходными текстами.
5. Настройка подключений данных Использование событий для настройки ваших подключений данных
В ы можете управлять, как данные будут поступать в ваш отчет через события компонент подключения данных. Для данных, поступающих не из баз, используйте компонент TrvCustomConnection, Вы можете предоставить доступ к вашим данным через его события. Для подключения данных из баз, используйте компоненты, такие как TRvDataSetConnection, достаточно будет переписать событие OnValidateRow. События подключений данных следующие:
Событие |
Описание |
OnEOF |
Вызывается, когда Rave желает определить, достигнут ли конец данных. При отсутствии данных требуется вернуть значение TRUE, если больше нет строк или если вызов события OnNext был сделан за пределы последней строки. |
OnFirst |
Вызывается, когда Rave желает, что бы курсор был перемещен на первую строку данных. С развитой системой буферизации Rave, это событие обычно возникает только раз в начале сессии данных. |
OnGetCols |
Вызывается, когда Rave желает получить мета данные. Это включает в себя имена полей, типы, размеры символов, полные имена и описание. Подробности смотри ниже. |
OnGetRow |
Вызывается, когда Rave желает получить данные для текущей строки. Подробности смотри ниже. |
OnGetSorts |
Вызывается, когда Rave желает получить доступные методы сортировки. |
OnNext |
Вызывается, когда Rave желает переместить курсор на следующую строку. |
OnOpen |
Вызывается, когда Rave желает инициализировать начало сессии. Должно быть сохранено текущее состояние, что бы потом его можно было восстановить в событии OnRestore. |
OnRestore |
Вызывается, когда Rave желает восстановить состояние предыдущей сессии, которое было перед ее открытием. |
OnSetFilter |
Вызывается, когда Rave желает фильтровать данные, такие как Master-Detail отчеты. |
OnSetSort |
Вызывается, когда Rave желает сортировать данные. Подробности смотри ниже. |
OnValidateRow |
Вызывается для каждой строки, позволяя тем сам управлять фильтрацией данных. Для пользовательских приложений, данное событие обычно не нужно, поскольку фильтрация данных через событие OnNext более эффективно. Тем не менее, данное событие очень полезно для других, более автоматизированных подключений, таких как TRvDataSetConnection. Подробности смотри ниже. |
ПРИМЕЧАНИЕ:
Компонент TRvCustomConnection имеет свойства DataIndex и DataRows типа integer. Они предназначены для использования в событиях пользовательских подключений и если используются, то могут быть определены в OnFirst, OnNext и OnEOF событиях. DataIndex используется как позиция курсора, первая строка имеет номер 0. DataRows используется как счетчик строк данных. Например, если вы определяете пользовательское подключение к массиву данных, вам будет достаточно установить свойство Connection.DataRows равным количеству элементов в массиве и затем позволить Rave управлять OnFirst, OnNext и OnEOF событиями. В событии OnGetRow, Вы должны, обратиться к свойству Connection.DataIndex для определения какой элемент массива требуется вернуть назад (не забывайте, что нумерация идет с 0).