- •Лабораторная работа № 1 средства для работы с базами данных
- •1. Основная часть
- •Инструментальные средства
- •Компоненты
- •2. Задания и порядок выполнения работы
- •Компоненты для работы с бд
- •Наборы данных
- •Доступ к полям в составе текущего индекса можно получить с помощью свойств IndexFieldsCount и IndexFields.
- •Лабораторная работа № 2
- •1. Основная часть
- •2 Задания и порядок выполнения работы
- •Лабораторная работа № 3
- •1. Основная часть
- •Лабораторная работа №4
- •1. Основная часть
- •4.2. Проект и план создания компонентов субд
- •2. Задания и порядок выполнения работы
- •2.1. Создание экранной формы для меню субд
- •Лабораторная работа № 5
- •1) Представление содержания одной таблицы бд на экранной форме.
- •2) Представление содержания двух таблиц бд
- •2.1) Отображение данных таблиц бд на экранной форме без установления связи между ними
- •2.2) Отображение данных таблиц бд на экранной форме с учетом связи между ними, т.Е. Реализация связи Master-Detail между наборами данных
- •Лабораторная работа № 6
- •Лабораторная работа № 7
- •Лабораторная работа № 8
- •5.1. Компоненты для построения отчетов
- •5.2. Создание простейшего отчета
- •Использование tqrBand для представления заголовков столбцов
- •Использование tqrBand для показа заголовка и подвала страницы
- •Использование компонента tqrSysData для показа вспомогательной и системной информации
- •5.3. Группировки данных в отчете
- •5.4. Формирование отчета с использованием фильтра
- •Заключение
Компоненты для работы с бд
Таблицы БД располагаются на диске. Они являются физическими объектами. Для операции с данными, содержащимися в таблицах, используются наборы данных.
Наборы данных
Наборы данных это совокупность записей, взятых из одной или нескольких таблиц БД. Набор данных является логической таблицей, записи которой отбирается по определенным правилам. Взаимодействия набора данных и таблицы аналогично взаимосвязанного физического файла и файловой переменной. В Delphi для работы с НД используются компоненты Table, Query, StoredProc и DesisionQuery.
StoredProc - для организации взаимодействия с удаленной БД,
DesisionQuery. – для построения систем принятия решений.
Основные возможности доступа к БД обеспечивает класс TDataSet – это перемещение по НД и их редактирование. Компоненты ТTable и ТQuery происходят от класса TBDE TDataSet – потомка класса TDataSet через (класс TBDE TDataSet). Для указания местоположения таблиц БД используется свойство DataBaseName. Для ТQuery дополнительно можно задать в SQL- запросе путь доступа к каждой таблице. Число записей, составляющих НД, определяет свойство RecordCount типа Longint. Управление числом записей в НД осуществляется косвенно путем отбора: через фильтрацию или SQL- запрос.
При организации операций с наборами данных используются два способа доступа к данным:
Навигационный
Реляционный
Навигационный способ доступа заключается в обработке каждой отдельной записи набора данных. Этот способ применяется для работы с локальными БД или небольших удаленных БД. При навигационном способе доступа текущей записи. указатель определяет запись, с которой могут выполняться такие операции, как редактирование или удаление.
Реляционный способ доступа основан на обработке группы записей. Если необходимо обработать одну запись, все равно обрабатывается группа, которая рассматривается как одна. Реляционный способ основан на SQL – запросах и называется SQL ориентированным. Используется для работы с удаленной БД.
Особенности набора ТTable
Компонент ТTable представляет набор данных, который может быть связан с одной таблицей БД. Используется для локальних БД и основан на навигационном способе доступа.
В наборе данных Table возможно указать текущий индекс, который нужен для следующих операций:
сортировка записей
поиск записей
установка связей между таблицами.
Установить текущий индекс можно с помощью свойств Index Name или Index Fieldnames muna String.
Текущий индекс выбирается из списка индексов, которые были заданы при создании таблицы.
Оба свойства Index Name и IndexFieldNames похожи и используются одинаково, но значением IndexName является имя индекса, заданное при создании таблицы, а значением свойства IndexFieldNames – имя поля, для которого был создан индекс. Если используется индекс, состоящий из нескольких полей, то для свойства IndexName по-прежнему задается имя этого индекса, а для свойства IndexFieldNames перечисляются (через точку с запятой) имена полей, которые входят в этот индекс.
ЗАДАНИЯ:
1. Задание текущего индекса:
Table1. IndexName:= ‘indName’
Table2. IndexFieldsName:= ‘Name’;
Компоненты Table1.и Table2.связаны с одной таблицей, для поля Name которой определен индекс indNamе. Этот индекс устанавливается текущим для обоих наборов данных.
Для таблиц Paradox главный индекс можно сделать текущим с помощью свойства IndexFieldsName, перечислив ключевые поля таблицы. Через свойство IndexName главный индекс недоступен.
2 . Задание в качестве текущего главного индекса:
Table1. IndexFieldsNames:= ‘Name; Post; BirthDay’;
Для таблицы БД с которой связан компонент Table1., определен главный индекс, в которой входят ключевые поля Name Post; BruthDay. Этот индекс устанавливается в качестве текущего.
