Учебное пособие: Основы баз данных
Связь между таблицей и компонентом Table устанавливается через его свойство TableName типа TFileName, которое определяет имя таблицы (и имя файла, содержащего данные). По умолчанию в набор данных Table попадают все записи связанной с ним таблицы. Для отбора данных можно использовать фильтрацию.
Для того чтобы запретить пользователю изменять записи, можно использовать свойство ReadOnly типа Boolean. По умолчанию это свойство имеет значение False. Это означает, что пользователь может редактировать записи.
Установить текущий индекс можно с помощью свойства IndexNameтипа String. Текущий индекс выбирается из списка индексов, которые были заданы при создании таблицы. На этапе разработки приложения все возможные значения свойств IndexNameсодержат раскрывающиеся списки, доступные в Инспекторе объектов.
Наборы данных могут находиться в открытом или закрытом состоянии, на что указывает свойство Active типа Boolean. Если свойству Active установлено значение True, то набор данных открыт. Если значение свойства Active равно False (по умолчанию), то набор данных закрыт и его связь с БД разорвана.
Для вывода содержимого набора данных в табличном виде удобно использовать сетку, представленную компонентом DBGrid. Внешний вид сетки соответствует внутренней структуре таблицы БД и набора данных, при этом строке сетки соответствует запись, а столбцу – поле.
Компонент DataSource – источник данных. Используется как промежуточное звено между набором данных и визуальными компонентами, с помощью которых пользователь управляет этим набором данных. Для указания набора данных, с которым связан источник данных, используется свойство DataSet типа TDataSet последнего. Визуальные компоненты связаны с источником данных через свои свойства DataSource при проектировании в Инспекторе объектов.
2. Задания к лабораторным работам
Вариант 1
1. Спроектировать базу данных в первой, второй и третьей нормальных формах для ежедневного учета работы водителей в трамвайном депо. Учет ведется на основании документа – путевой лист. В путевом листе содержится следующая информация: дата, маршрут, график, смена, табельный номер водителя, фамилия, время начала работы, время окончания работы, номер вагона, простои на линии. Простои содержат следующую информацию: код простоя, начало простоя, окончание простоя. За водителем закреплен номер вагона и номер маршрута. Водитель может работать и на другом вагоне, и на другом маршруте. График содержит: идеальное (по графику) время начала работы, время окончания работы, номер маршрута, номер смены.
2. Создать запросы, в которых необходимо:
· вывести коды простоев за последний месяц, которые произошли в первую смену;
· вывести список водителей, работающих на “своем” и на “другом” маршруте;
· вывести табельные номера водителей, работающих по две смены в день.
3. С помощью запроса создать таблицу “Опасные маршруты”, содержащую список маршрутов, у которых за последний месяц были простои по вине дорожно-транспортных происшествий.
4. В путевом листе измените поле “Дата”, проставив текущую дату для маршрута № 2.
5. Определить, сколько простоев было по кодам простоя за последний месяц на каждом маршруте.
6. Вывести информацию о всех графиках для любого маршрута, заданного пользователем в режиме диалога.
7. Создать формы для ввода справочной информации (о водителе, маршруте, вагонах, простоях, графиках для каждого маршрута), а также текущей информации для путевого листа.
8. Создать многотабличную форму с помощью Мастера форм. Главная форма – путевой лист, подчиненная – информация о простоях.
9. С помощью Мастера отчетов создать отчет на основе таблицы “Путевой лист”, сгруппировав данные по табельному номеру водителя. Вывести дату, номер маршрута, номер графика, номер смены, номер вагона, реальное время начала и окончания работы. Отсортировать данные по дате.
Вариант 2
1. Спроектировать базу данных в первой, второй и третьей нормальных формах для организации компьютерного учета перемещения узлов трамвая в ходе ремонтов. В накладной необходимо учитывать следующую информацию: номер трамвая, номер узла, дату установки узла на трамвай, дату снятия узла с трамвая, причину снятия узла, фамилию слесаря, получившего задание. Для слесаря определенной квалификации оформляются отдельно две накладные (для снятия или установки узлов вагона).
2. Создать запросы, в которых необходимо:
· вывести номера вагонов, в которых за последний месяц устанавливали один тип узла, например колесную пару;
· вывести номера узлов, которые были установлены и сняты в течение последнего квартала.
3. С помощью запроса создать таблицу ”Часто заменяемые узлы”, в которой вывести список названий узлов, снятых с вагона по причине, например, перегорания предохранителей в течение последнего квартала.
4. Обновить информацию о слесаре, который снимал детали по причине перегорания предохранителей, например: 01.01.2006.
5. Определить, сколько было замен узлов за определенный период на каждом вагоне.
6. Вывести информацию о всех вагонах, в которых произошли замены любого узла, заданного пользователем в режиме диалога.
7. Создать формы для ввода справочной информации (о вагоне, узле, слесаре, причинах замены узлов), а также текущей информации по накладной для установки узла на вагон и накладной для снятия узла с вагона.
8. Создать многотабличную форму с помощью Мастера форм. Главная форма – накладная для установки узла на вагон. Подчиненная – накладная для снятия узла с вагона.
9. С помощью Мастера отчетов создать отчет на основе таблицы “Накладная для установки узла на вагон”, сгруппировав данные по номеру вагона. Вывести номер узла, дату установки узла. Отсортировать данные по номеру узла.
Вариант 3