Лабораторное задание и порядок его выполнения
Ознакомиться с приведенными в лабораторной работе сведениями о сервере InterBase и утилитах, предназначенных для работы с ним.
Скопировать учебную БД Zgrad.gdb с сетевого диска на личный диск Н: в папку Delphi.
Запустить локальный сервер InterBase.
Запустить утилиту SQL Explorer и ознакомиться с ее интерфейсом.
С помощью утилиты SQL Explorer создать псевдоним IBZgrad для учебной БД, скопированной на личный диск, задав параметры server name = Н:\DELPHI\ Zgrad.gdb и User name = SYSDBA. Содержимое таблиц учебной БД приведено ниже.
Таблица Person
NOM FIO RDATE POL SUMD ADR
1 Иванов Иван Ильич 27-NOV-1950 М 1510 Зеленоград, 801-1
2 Ильин Илья Ильич 11-JAN-1955 М 0 Зеленоград, 801-268
3 Петров Петр Петрович 20-JUL-1967 М 1200 Зеленоград, 120-5
5 Иванова Лидия Ивановна 11-NOV-1911 Ж 1410 Зеленоград, 148-1
6 Якут Всеволод Робертович 2-SEP-1933 М 1410 Зеленоград, 801-268
9 Гагарин Юрий Алексеевич 12-APR-1938 М 1410 Зеленоград, 1501-150
10 Федоров Федор Иванович 3-AUG-1997 М 410 Зеленоград, 903-9
12 Кашкина Мария Макаровна 12-MAY-1955 Ж 1100 Зеленоград, 801-1
14 Кукушкин Жан Ильич 13-MAR-1977 М 310 Зеленоград, 1001-45
15 Кузьмин Кузьма Кузьмич 12-FEB-1955 М 0 Зеленоград, 1408-333
16 Еленина Елена Фроловна 12-MAR-1955 Ж 1100 Зеленоград, 1201-56
17 Кузьмин Кузьма Кузьмич 12-MAY-1998 М 100 Зеленоград, 801-1
Таблица Flat Таблица Profit
ADR SKV NROOMS KCATEGORY ID SOURCE MONEYS
Зеленоград, 1001-45 40 3 Н 2 Работа2 1100
Зеленоград, 120-5 20 1 П 3 Пенсия 310
Зеленоград, 1201-56 20 1 Н 5 Пособие 100
Зеленоград, 1408-333 40 4 Н 6 Банк 1500
Зеленоград, 148-1 22 4 П 7 Магазин 800
Зеленоград, 1501-150 40 3 Н 8 Работа1 1500
Зеленоград, 801-1 23.5 3 К 9 Стипендия 100
Зеленоград, 801-268 22 2 К
Зеленоград, 903-9 30 2 Н
Таблица Tphone Таблица Have_d
NTEL TCATEGORY ADR NOM ID COMMENT
530-1100 С Зеленоград, 120-5 1 2 Дворник
531-5550 О Зеленоград, 1408-333 1 3 Инвалидность
531-9854 Д Зеленоград, 903-9 1 5 <null>
533-3333 О Зеленоград, 1201-56
535-9911 Д Зеленоград, 148-1 3 2 Профессор
999-1199 С Зеленоград, 1001-45 3 5 <null>
5 2 <null>
5 3 <null>
6 2 <null>
6 3 Пенсионер
9 2 <null>
9 3 <null>
10 3 <null>
10 5 <null>
12 2 <null>
14 3 <null>
16 2 Продавец
17 5 <null>
Ознакомиться с метаданными, относящимися к базам данных с псевдонимами IBZgrad и DBDEMOS. Записать в отчет сведения о характеристиках элементов метаданных учебной БД.
Изучить содержимое таблиц animals и biolife из БД DBDEMOS и содержимое их столбцов в окне отображения BLOB-полей в различных режимах.
Ознакомиться с содержимым таблиц из учебной БД IBZgrad и изменить фамилию у одного из жителей женского пола.
Для учебной БД IBZgrad создать запрос на языке SQL для объединения результатов нескольких SQL-запросов в одну таблицу и выполнить его. Текст запроса сохранить в текстовом файле Queries.sql.
Создать и выполнить SQL-запросы, использующие группировку, для получения следующих результатов:
а) среднедушевой доход жителей каждой квартиры;
б) число жителей, зарегистрированных в каждой квартире;
в) число источников дохода у каждого жителя с ненулевым общим доходом;
г) число различных источников дохода у жителей каждой квартиры;
д) сумма общих доходов у однофамильцев и полных тезок, проживающих в одной квартире;
е) среднедушевой доход жителей каждой квартиры, в которой проживает более одного человека и у которых сумма общих доходов меньше 2000 руб.
Текст запросов сохранить в текстовом файле Queries.sql.
Используя вложенные SQL-запросы, получить следующие результаты:
а) список жителей, у которых общий доход больше размера самого доходного источника;
б) адреса квартир, жители которых не могут оплачивать коммунальные услуги (считать, что оплата коммунальных услуг прямо пропорциональна площади квартиры);
в) список квартир, в которых не установлены телефоны;
г) список жителей, имеющих источник дохода с размером больше 400 руб.;
д) список жителей, имеющих хотя бы один источник дохода, размер которого больше четверти их общего дохода;
е) фамилии жителей, у которых все источники дохода по размеру больше 90% их общего дохода.
Текст запросов сохранить в текстовом файле Queries.sql.
Раскрыть дерево словаря Dictionary и ознакомиться с параметрами объектов словаря данных, выбираемых в дереве словаря.
С помощью утилиты SQL Explorer включить в словарь данных информацию об учебной БД IBZgrad и ее атрибутах. Для всех наборов атрибутов таблицы FLAT задать параметры Alignment, DisplayLabel, DefaultExpression.
Использовать словарь данных для разработки в системе Delphi приложения, отображающего содержимое таблицы FLAT учебной БД. Для этого:
а) запустить систему Delphi и разместить на форме приложения компоненты TTable, TDBNavigator, TDBGrid;
б) связать компонент TTable с таблицей FLAT учебной БД и открыть таблицу FLAT;
в) вызвать редактор полей двойным щелчком мышью по компоненту TTable и загрузить в редактор все поля таблицы FLAT с помощью команды локального меню редактора полей Add all fields;
г) перетащить из редактора полей на форму приложения имя поля Adr. В результате на форме автоматически появятся компоненты Label1 и DBEdit1, относящиеся к полю Adr, и компонент DataSource1, связанный с компонентом TTable;
д) связать компоненты TDBNavigator, TDBGrid с компонентом DataSource1 с помощью имеющегося у них свойства DataSource;
е) запустить приложение на выполнение и проверить его работоспособность.
Запустить утилиту WISQL, подключиться к учебной БД, размещенной на личном диске Н:, и ознакомиться с интерфейсом утилиты.
Ознакомиться с метаданными учебной БД, записать в отчет информацию об учебной БД, выводимую при выборе команд, связанных с пунктом главного меню Metadata;
Выбрать команду SessionBasic Settings и установить режим Display Row Count для отображения числа строк в таблице результатов запроса.
Использовать SQL-операторы, сохраненные в файле Queries.sql, для выборки информации из учебной БД. Сравнить результаты, получаемые с помощью обеих утилит.
Использовать однострочный и многострочный операторы INSERT для добавления новых данных во все таблицы учебной БД и операторы UPDATE для частичного изменения хранящейся в ней информации. Текст операторов записать в отчет. Проверить возможность отмены выполненных изменений (отката транзакции) с помощью команды File | Rollback Work.
Подготовить SQL-скрипт для создания генератора, хранимой процедуры и триггера, обеспечивающих уникальность номеров жителей в таблице PERSON учебной БД.
Выполнить подготовленный SQL-скрипт и проверить средствами утилиты WISQL появление созданных объектов БД в метаданных учебной БД.
С помощью утилиты SQL Explorer определить, как изменились характеристики элементов метаданных учебной БД IBZgrad, и записать эти изменения в отчет.
Дополнить таблицу PERSON учебной БД сведениями о новых жителях с помощью обеих утилит. Сравнить время выполнения запросов при использовании каждой из утилит.
Перенести учебную БД на локальный диск D: и повторно выполнить задание 23.
Оформить отчет по результатам выполнения лабораторной работы.