- •Базы данных
- •Содержание
- •Введение
- •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 порядок выполнения лабораторных работ
- •Библиографический список
Вариант 9. Аэропорт
рейсы (A) |
|
вылеты (В) |
|
пассажиры (С) |
Номер рейса |
|
Код вылета |
|
Код вылета |
Аэропорт вылета |
Номер рейса |
Номер места |
||
Аэропорт назначения |
Дата вылета |
Серия паспорта |
||
Время вылета |
Код самолета |
Номер паспорта |
||
Продолжительность полета |
Командир экипажа |
ФИО пассажира |
||
Стоимость билета |
|
|
||
|
|
самолеты (D) |
||
|
|
Код самолета |
||
|
|
Тип самолета |
||
|
|
Количество мест |
||
|
|
Дальность полета |
Выполнить SQL-запросы для созданной БД:
Вывести информацию о рейсах, обслуживаемых самолетами «ТУ-154» (вывод данных из нескольких таблиц).
Определить фамилии командиров экипажей для самолетов типа «Boeing-727» (простой вложенный).
Найти, каким рейсом вылетает пассажир с паспортными данными 5203 № 123465 (коррелированный подзапрос).
Определить типы самолетов, летающих рейсами с продолжительностью полета более 2 ч. (со сложным условием).
Выбрать номера рейсов, обслуживаемых самолетами, дальность полета которых более 3000 км (с EXISTS).
Вывести номера рейсов до Хабаровска либо для типа самолета «ТУ-134», либо с продолжительностью полета не более 3 ч., либо и то и другое (с UNION).
Изменить время вылета для указанного рейса (UPDATE).
Определить количество проданных мест на указанные номер рейса и дату вылета (с использованием встроенных функций).
Вариант 10. Диагностический центр
пациенты (А) |
|
обследования (В) |
|
протоколы (С) |
|
исследования (D) |
Н омер пациента |
|
Номер протокола |
|
Номер протокола |
|
Код исследования |
ФИО |
Номер пациента |
Код исследования |
Вид исследования |
|||
Пол |
|
Дата исследования |
|
|||
Дата рождения |
|
Номер кабинета |
|
|||
Адрес |
|
|
|
|||
Поликлиника |
|
|
|
|||
Номер страх. полиса |
|
|
|
Выполнить SQL-запросы для созданной БД:
Вывести ФИО, номер протокола и вид исследования для пациентов, обследовавшихся 20.09.2005 г. (вывод данных из нескольких таблиц).
Вывести номера протоколов последнего зарегистрировавшегося пациента (простой вложенный).
Выбрать номера пациентов, для которых код исследования «02» (коррелированный подзапрос).
Выбрать виды исследования для пациента с фамилией «Фаворов» и номером страхового полиса «00310028074» (с EXISTS).
Вывести ФИО пациентов, прошедших УЗИ в сентябре (со сложным условием, с BETWEEN).
Вывести номер и ФИО для пациентов женского пола или с датой рождения ранее 1941 года или и то и другое (с UNION).
Изменить номер кабинета для исследования пациенту с номером 001325 (UPDATE).
Вывести номера пациентов, имеющих более 3 протоколов исследования.