- •Базы данных
- •Содержание
- •Введение
- •1. Создание приложений с использованием технологии bde
- •1.1. Лабораторная работа № 1: создание базы данных
- •1.1.1. Создание таблиц dBase IV
- •1.1.2. Создание индексов
- •1.1.3. Создание таблиц Paradox 7
- •1.1.4. Задание свойств таблицы Paradox 7
- •Задание на лабораторную работу № 1
- •1.2. Лабораторная работа № 2: установление связей между таблицами в многотабличной базе данных
- •1.2.1. Создание алиаса
- •1.2.2. Связывание таблиц
- •Задание на лабораторную работу № 2
- •1.3. Лабораторная работа № 3: работа с полями и компонентом dbGrid
- •1.3.1. Использование объектов-полей
- •1.3.2. Обращение к значению поля
- •1.3.3. События объекта-поля
- •1 Рис. 10. Пример использования события OnCellClick .3.4. События сетки dbGrid
- •1.3.5. Создание объектов-столбцов в dbGrid
- •1.3.6. Формирование списка возможных значений столбца
- •Задание на лабораторную работу № 3:
- •1.4. Лабораторная работа № 4: работа с наборами данных (компонент Table)
- •1.4.1. Открытие и закрытие набора данных
- •1.4.2. Доступ к записям
- •1.4.3. Навигация по набору данных
- •1.4.4. Поиск записей в наборах данных
- •1.4.5. Реализация каскадных изменений
- •1.4.6. Пример выполнения лабораторной работы
- •Задание на лабораторную работу № 4
- •1.5. Лабораторная работа № 5: работа с отчетами
- •1.5.1. Создание простейшего отчета
- •1.5.2. Создание отчета для связанных наборов данных
- •1.5.3. Использование выражений (компонент qrExpr)
- •1.5.4. Группирование данных в отчете
- •Задание на лабораторную работу № 5:
- •1.6. Лабораторная работа № 6: sql-запросы (компонент Query)
- •Задание на лабораторную работу № 6
- •2. Создание приложений, работающих с базами данных interbase
- •2.1. Лабораторная работа № 1: создание схемы базы данных
- •2.2. Лабораторная работа № 2: доступ к базе данных InterBase c использованием dbExpress
- •2.3. Лабораторная работа № 3: транзакции
- •2.4. Лабораторная работа № 4: отображение данных запроса
- •2.5. Лабораторная работа № 5: вычисляемые, агрегатные и подстановочные поля
- •2.5.1. Вычисляемые поля
- •2.5.2. Агрегатные поля
- •2.5.3. Подстановочные поля
- •2.6. Лабораторная работа № 6: связь Master-Detail
- •2.7. Лабораторная работа № 7: локальная репликация данных
- •Приложение 1 варианты заданий к лабораторным работам Вариант 1. Прием заказов
- •Вариант 2. Поставки товаров
- •Вариант 3. Исполнители
- •Вариант 4. Картинная галерея
- •Вариант 5. Порт
- •Вариант 6. Студенты
- •Вариант 7. Строительная компания
- •Вариант 8. Автосалон
- •Вариант 9. Аэропорт
- •Вариант 10. Диагностический центр
- •Вариант 11. Реклама
- •Вариант 12. Быстрая пицца
- •Вариант 13. Клуб собаководов
- •Вариант 14. Грузоперевозки
- •Вариант 15. Аптека
- •Вариант 16. Автовокзал
- •Вариант 17. Общественная организация
- •Вариант 18. Учет потребления газа
- •Приложение 2 порядок выполнения лабораторных работ
- •Библиографический список
Вариант 17. Общественная организация
клиенты (А) |
|
рассмотрение дел (С) |
|
документы (D) |
Код клиента |
Код дела |
Код документа |
||
Фамилия |
Код клиента |
Тип (вход./исх.) |
||
Имя |
Код документа |
Дата поступления |
||
Отчество |
Код сотрудника |
Название |
||
Адрес |
Срок рассмотрения |
|
||
|
Отметка о закрытии |
архив (E) |
||
сотрудники (В) |
|
Код документа |
||
Код сотрудника |
|
Номер шкафа |
||
ФИО |
|
Номер папки |
||
Должность |
|
Дата уничтожения |
Выполнить SQL-запросы для созданной БД:
Получить сведения о делах, срок рассмотрения которых — текущий месяц, с выдачей информации о клиентах, документах и сотрудниках, ведущих эти дела (вывод данных из нескольких таблиц).
Сформировать список сотрудников, работающих с клиентами 21.03.2005 г. (простой вложенный).
Получить список документов по делу клиента Петрова Александра Ивановича, проживающего по адресу «пр. Мира, 38» (коррелированный подзапрос).
Вывести информацию о месте хранения документов (с указанием кода документа), которые необходимо уничтожить в следующем месяце (со сложным условием).
Определить список клиентов, обращавшихся в организацию с 30.12.2004 г. (с EXISTS).
Вывести коды входящих документов, либо коды документов по делам, которые вел сотрудник Галкин, либо и то и другое (с UNION).
Установить новый срок рассмотрения дела клиента Петухова, проживающего по адресу «Химиков, 36» (UPDATE).
Определить количество закрытых дел за предыдущий месяц (с использованием встроенных функций).
Вариант 18. Учет потребления газа
абоненты (А) |
|
льготники (В) |
|
льготы (D) |
К од абонента |
Код абонента |
Код категории |
||
ФИО |
ФИО льготника |
Основание |
||
Адрес |
Код категории |
Коэффициент |
||
Площадь дома |
|
|
||
Кол-во прописанных |
учет (С) |
тарифы (Е) |
||
Кол-во льготников |
Код абонента |
Код тарифа |
||
Участок газификации |
Показания счетчика |
Год |
||
|
Дата снятия |
Месяц |
||
|
Код тарифа |
Тариф |
Выполнить SQL-запросы для созданной БД:
Вывести информацию о потребителях газа с указанием льготников и предоставленных им льгот (вывод данных из нескольких таблиц).
Определить, какой объем газа израсходовали за I квартал 2005 г. на участке Азовского района (вложенный).
Получить сведения о последней дате снятия показаний счетчика для абонента «Кошкин» (коррелированный подзапрос).
Вывести ФИО и адрес абонента, показания счетчика, дату снятия показаний и тариф за предыдущий месяц (со сложным условием).
Получить сведения о том, какими льготами пользуется абонент, проживающий по адресу «Серова 2, кв. 7» (с EXISTS).
Вывести фамилию и код абонентов, для которых предоставляются льготы на 50 %, или фамилию и код абонентов, которые имеют более одного льготника, либо то и другое (с UNION).
Изменить количество прописанных для абонента «Новиков», проживающего по адресу «Лукашевича 29, кв. 45» (UPDATE).
Определить средний месячный расход газа для каждого участка газификации в текущем году (с использованием встроенных функций).