- •Назначение и основные компоненты системы баз данных. Одно, двух и трехзвенная архитектура системы бд.
- •Субд, их функции и виды, обзор современных субд.
- •Архитектура приложений бд, механизмы доступа к данным.
- •Модели данных: иерархическая, сетевая, реляционная, объектно – ориентированная модель.
- •Реляционная модель данных (структурная часть): домен, атрибут, кортеж, отношение и его свойства, первичный ключ.
- •6. Реляционная модель данных (целостная часть): целостность отношений и ссылок, внешний ключ, индексы.
- •Реляционная модель данных (манипуляционная часть): язык манипулирования данными для реляционной модели; реляционная алгебра.
- •Создание базы данных (на примере InterBase, FireBird), объекты, входящие в состав бд и их назначение.
- •Описание таблицы:
- •Sql, выбор данных, назначение и примеры использования инструкций: select, all, distinct, from, where,order by, вычисляемых полей, логических выражений.
- •Sql, выбор данных, назначение и примеры использования инструкций: union, group by, having, агрегатных функций.
- •11. Sql, выбор данных из нескольких таблиц, примеры внутреннего и внешнего соединения.
- •12.Sql, подзапросы, назначение и примеры использования инструкций: exist, singular, all, any
- •13. Sql, добавление, изменение, удаление данных.
- •Values ('Иванов', 35);
- •15.Хранимые процедуры, использование переменных, циклов.
- •16.Триггеры.
- •Лабораторная работа 9 задание 3
- •17.Представленния (view).Генераторы.
- •18.Транзакции их назначение и реализация
- •19.Транзакции уровни изоляции и управление транзакциями в приложении.
- •Уровни изоляции транзакции:
- •20.Администрирование сервера
- •25. Разработка печатных документов с использованием редактора отчетов.
- •Разработка приложения баз данных в Delphi. Использование компонентов InterBase eXpress (ibx): tibStoredProc, tibsql, динамическое формирование запросов sql.
- •Разработка приложения баз данных в Delphi. Использование компонентов InterBase eXpress (ibx): tibDatabase. Создание модифицируемых наборов данных, механизм master-detail.
25. Разработка печатных документов с использованием редактора отчетов.
Отчет позволяет создать макет печатного документа, в который при печати подставляются данные из базы, позволяет использовать графические объекты, проводить вычисления, группировку, сортировку данных.
Rave Report – редактор отчетов.
В основе этой технологии лежит отделение идеи разработки отчета и его использование на основе проекта отчета.
Проект отчета создается в соответствующем дизайнере TOOLS/Rave Design и сохраняется в файле *.rav (рис. 12).
Для связывания приложения и отчета используется компонент ТRvProject, в свойстве которого ProjectFile указывается имя файла проекта.
Компоненты TRvDataSetConnection, TRvTableConnection, TRvQueryConnection, TRvCustomConnection используются для связывания отчета с набором данных.
Проект отчета
Содержит:
1) библиотеку отчетов;
2) каталог глобальных страниц, т.е. страницы, доступные из любого отчета;
3) каталог объектов данных. Возможно соединение с набором данных, созданным в приложении (Direct Data View) либо непосредственное соединение с источником данных (Database Connection, Driver Data View).
Простой отчет – распечатка данных одного набора данных.
Пункт меню TOOLS / Simple Table – формирование одиночного отчета в виде таблицы.
Отчет «главный - детальный»
Группирующий отчет
Разработка приложения баз данных в Delphi. Использование компонентов InterBase eXpress (ibx): tibStoredProc, tibsql, динамическое формирование запросов sql.
Использование хранимых процедур в приложении
Цель работы: изучение компонентов TIBDataSet, TIBStoredProc, TIBSQL, динамическое формирование запросов SQL.
Теоретическая часть
TIBDataSet – предназначен для получения и редактирования данных, является потомком стандартного класса TDataSet и полностью совместим со всеми визуальными компонентами. Основные методы: Prepare, Open, Close, Insert, Append, Edit, Delete, Refresh.
TIBStoredProc – предназначен для выполнения хранимых процедур и получения набора данных на основе результатов выполнения процедуры. Получаемый набор данных является нередактируемым. Компонент совместим с визуальными компонентами. Основное свойство – StoredProcName. Основной метод – ЕхесРгос.
TIBSQL – предназначен для выполнения SQL-запросов. В отличие от TIBQuery или TIBDataSet TIBSQL не имеет локального буфера для набора данных и несовместим с визуальными компонентами. Основной метод – ExecQuery. Основное свойство – SQL- текст запроса.
Разработка приложения баз данных в Delphi. Использование компонентов InterBase eXpress (ibx): tibDatabase. Создание модифицируемых наборов данных, механизм master-detail.
Механизм master-detail
Механизм мастер-деталь часто используется в приложениях для работы с базами данных, поскольку именно он позволяет легко связывать данные из разных таблиц, полученных в результате нормализации базы. Пусть на форме содержатся компоненты:
IBDataProf: TIBDataSet;
SourceProf: TdataSource
и
IBDataStud: TIBDataSet;
SourceStud: TdataSource;
Необходимо установить между ними связь по коду специальности, т.е. отображаться должны только студенты с текущим кодом специальности.
Для этого, во-первых, нужно задать свойство IBDataStud.DataSource=SourceProf.
Во-вторых, надо изменить IBDataStud. SelectSQL:
select ID, F, I, O, SPROF from STUD where SPROF=:ID.
Значение параметра :ID будет автоматически браться из одноименного поля IBDataProf.ID.
Свойства
Database и Transaction связывают набор данных с базой данных и транзакцией.
SelectSQL – задает запрос Select , формирующий набор данных.
ModifySQL – задает запрос UPDATE, который выполняется при внесении изменений в наборе данных, и только после этого изменения, сделанного пользователем, окажутся в базе данных.
InsertSQL и DeleteSQL – задают запросы, которые выполняются при установке новой записи и удалении записи пользователем.
Обратите внимание, префикс OLD_ в названии параметра означает, что IBDataSet должен подставить в параметр значение поля до изменения пользователем. После выполнения любого модифицирующего действия IBDataSet выполнит запрос, указанный в свойстве RefreshSQL. Этот запрос должен возвращать только одну запись – текущую и нужен для обновления значений полей текущей записи после сделанных исправлений.
IBX предоставляет нам возможность быстро сгенерировать необходимые модифицирующие запросы при помощи редактора IBDataSet. Выбрав из списка Table Name нашу таблицу и нажав кнопку Get Table Fields, мы сформируем списки Key Fields и Update Fields.
В списке Key Fields нужно выделить те поля, которые будут формировать условие WHERE в наших запросах. Очевидно, что это должны быть поля, которые определяют первичный ключ у таблицы. Остается нажать кнопку Generate SQL, чтобы получить все запросы flnsertSQL, ModifySQL, DeleteSQL и RefreshSQL.
Обратите внимание, префикс OLD_ в названии параметра означает, что IBDataSet должен подставить в параметр значение поля до изменения пользователем.
22.Разработка приложения баз данных в Delphi. Использование компонентов InterBase eXpress (IBX): TIBDatabase, TIBTransaction, TIBDataSet. Компоненты для доступа и отображения данных: TDataSource, TDBGrid.
InterBase Express – это компоненты для работы с базами данных InterBase, которые используют прямое InterBase API, т.е. обращаются к серверу непосредственно, без каких-то промежуточных (middle-ware) средств.
Фактически, если разрабатывать приложения баз данных с использованием IBX, то для работы таких приложений нужно лишь наличие GDS32.DLL на диске в доступном месте.
Компоненты
TIBDatabase – предназначен для подключения к базе данных. Основные методы: Open, Close.
TIBTransaction – предназначен для явного управления транзакцией. Основные методы: StartTransaction, Commit, Rollback, CommitRetaining, RollbackRetaining.
Основным является свойство Params, в котором можно указать уровень изоляции транзакции. TIBTransaction ссылается на компонент базы данных при помощи свойства DefaultDatabase. Если указать также свойство DefaultTransaction у TIBDatabase, то в дальнейшем любые компоненты (TIBDataSet, TIBSQL и т.д.), которые ссылаются на TIBDatabase, будут автоматически «подхватывать» и указанную транзакцию.
TIBDataSet – предназначен для получения и редактирования данных, является потомком стандартного класса TDataSet и полностью совместим со всеми визуальными компонентами. Основные методы: Prepare, Open, Close, Insert, Append, Edit, Delete, Refresh.