- •Базы данных
- •Содержание
- •Введение
- •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 порядок выполнения лабораторных работ
- •Библиографический список
Приложение 1 варианты заданий к лабораторным работам Вариант 1. Прием заказов
клиенты (A) |
|
заказы (B) |
|
состав заказов (C) |
|
товары (D) |
Код клиента |
|
Код заказа |
|
Код заказа |
|
Код товара |
Название |
Код клиента |
Код товара |
Наименование |
|||
Адрес расч. счета |
Дата размещения |
Кол-во товара |
Цена товара |
|||
Город |
Дата исполнения |
Цена заказа |
|
|||
Страна |
|
Скидка |
Выполнить SQL-запросы для созданной БД:
Получить сведения о заказах и составе заказов для каждого клиента (вывод данных из нескольких таблиц).
Вывести даты размещения заказов, в которых количество товара более 100 и цена товара больше 200 (простой вложенный).
Определить какие заказы включают товар с заданным наименованием (коррелированный подзапрос)
Вывести название клиента, город, страну и наименование товара для заказов, сделанных за указанный месяц (со сложным условием).
Определить адреса расчетных счетов для клиентов, которые заказали товар в количестве более 300. (с EXISTS)
Вывести код заказа, где количество = 10, либо цена < 5000, либо то и другое (с UNION).
Увеличить цену товара в два раза для кода товара = 4 (UPDATE).
Определить суммарное количество каждого товара, заказанного за последний месяц (с использованием встроенных функций).
Вариант 2. Поставки товаров
фирмы (А) |
|
состав партий (В) |
|
партии товаров (С) |
|
товары (D) |
К од фирмы |
|
Код фирмы |
|
Код партии |
|
Код товара |
Название |
Код партии |
Дата поставки |
Наименование |
|||
Страна |
Код товара |
|
Цена |
|||
Город |
Количество товара |
|
|
Выполнить SQL-запросы для созданной БД:
Получить информацию о дате поставки, наименовании, количестве товара и его цене (вывод данных из нескольких таблиц).
Вывести наименование товаров, поставленных из г. Тулы (вложенный запрос).
Указать страну и город, из которых поставлены товары партией с заданным кодом (например, 236101001) (коррелированный подзапрос).
Выбрать коды партий товаров, поставленных из Санкт-Петербурга в III квартале фирмами, в названии которых содержится «ЗАО…» (со сложным условием, с BETWEEN).
Выдать наименования товаров, изготовленных не в России (с EXISTS).
Выбрать шифры фирм для всех городов с буквы «N» или для всех поставленных товаров, количество которых больше 100, или то и другое (с UNION).
Во всех записях, где количество товара менее 50 и цена менее 100, заменить значение поля «количество товара» на 50 (UPDATE).
Выдать номера партий стоимостью более 500000 (с использованием вычисляемых полей).