Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭКТ / БДлаб8.doc
Скачиваний:
28
Добавлен:
16.04.2013
Размер:
131.07 Кб
Скачать

Лабораторное задание и порядок его выполнения

  1. Ознакомиться с приведенными в лабораторной работе сведениями о сервере InterBase и утилитах, предназначенных для работы с ним.

  2. Скопировать учебную БД Zgrad.gdb с сетевого диска на личный диск Н: в папку Delphi.

  3. Запустить локальный сервер InterBase.

  4. Запустить утилиту SQL Explorer и ознакомиться с ее интерфейсом.

  5. С помощью утилиты 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>

  1. Ознакомиться с метаданными, относящимися к базам данных с псевдонимами IBZgrad и DBDEMOS. Записать в отчет сведения о характеристиках элементов метаданных учебной БД.

  2. Изучить содержимое таблиц animals и biolife из БД DBDEMOS и содержимое их столбцов в окне отображения BLOB-полей в различных режимах.

  3. Ознакомиться с содержимым таблиц из учебной БД IBZgrad и изменить фамилию у одного из жителей женского пола.

  4. Для учебной БД IBZgrad создать запрос на языке SQL для объединения результатов нескольких SQL-запросов в одну таблицу и выполнить его. Текст запроса сохранить в текстовом файле Queries.sql.

  5. Создать и выполнить SQL-запросы, использующие группировку, для получения следующих результатов:

а) среднедушевой доход жителей каждой квартиры;

б) число жителей, зарегистрированных в каждой квартире;

в) число источников дохода у каждого жителя с ненулевым общим доходом;

г) число различных источников дохода у жителей каждой квартиры;

д) сумма общих доходов у однофамильцев и полных тезок, проживающих в одной квартире;

е) среднедушевой доход жителей каждой квартиры, в которой проживает более одного человека и у которых сумма общих доходов меньше 2000 руб.

Текст запросов сохранить в текстовом файле Queries.sql.

  1. Используя вложенные SQL-запросы, получить следующие результаты:

а) список жителей, у которых общий доход больше размера самого доходного источника;

б) адреса квартир, жители которых не могут оплачивать коммунальные услуги (считать, что оплата коммунальных услуг прямо пропорциональна площади квартиры);

в) список квартир, в которых не установлены телефоны;

г) список жителей, имеющих источник дохода с размером больше 400 руб.;

д) список жителей, имеющих хотя бы один источник дохода, размер которого больше четверти их общего дохода;

е) фамилии жителей, у которых все источники дохода по размеру больше 90% их общего дохода.

Текст запросов сохранить в текстовом файле Queries.sql.

  1. Раскрыть дерево словаря Dictionary и ознакомиться с параметрами объектов словаря данных, выбираемых в дереве словаря.

  2. С помощью утилиты SQL Explorer включить в словарь данных информацию об учебной БД IBZgrad и ее атрибутах. Для всех наборов атрибутов таблицы FLAT задать параметры Alignment, DisplayLabel, DefaultExpression.

  3. Использовать словарь данных для разработки в системе Delphi приложения, отображающего содержимое таблицы FLAT учебной БД. Для этого:

а) запустить систему Delphi и разместить на форме приложения компоненты TTable, TDBNavigator, TDBGrid;

б) связать компонент TTable с таблицей FLAT учебной БД и открыть таблицу FLAT;

в) вызвать редактор полей двойным щелчком мышью по компоненту TTable и загрузить в редактор все поля таблицы FLAT с помощью команды локального меню редактора полей Add all fields;

г) перетащить из редактора полей на форму приложения имя поля Adr. В результате на форме автоматически появятся компоненты Label1 и DBEdit1, относящиеся к полю Adr, и компонент DataSource1, связанный с компонентом TTable;

д) связать компоненты TDBNavigator, TDBGrid с компонентом Data­Source1 с помощью имеющегося у них свойства DataSource;

е) запустить приложение на выполнение и проверить его работоспособность.

  1. Запустить утилиту WISQL, подключиться к учебной БД, размещенной на личном диске Н:, и ознакомиться с интерфейсом утилиты.

  2. Ознакомиться с метаданными учебной БД, записать в отчет информацию об учебной БД, выводимую при выборе команд, связанных с пунктом главного меню Metadata;

  3. Выбрать команду SessionBasic Settings и установить режим Display Row Count для отображения числа строк в таблице результатов запроса.

  4. Использовать SQL-операторы, сохраненные в файле Queries.sql, для выборки информации из учебной БД. Сравнить результаты, получаемые с помощью обеих утилит.

  5. Использовать однострочный и многострочный операторы INSERT для добавления новых данных во все таблицы учебной БД и операторы UPDATE для частичного изменения хранящейся в ней информации. Текст операторов записать в отчет. Проверить возможность отмены выполненных изменений (отката транзакции) с помощью команды File | Rollback Work.

  6. Подготовить SQL-скрипт для создания генератора, хранимой процедуры и триггера, обеспечивающих уникальность номеров жителей в таблице PERSON учебной БД.

  7. Выполнить подготовленный SQL-скрипт и проверить средствами утилиты WISQL появление созданных объектов БД в метаданных учебной БД.

  8. С помощью утилиты SQL Explorer определить, как изменились характеристики элементов метаданных учебной БД IBZgrad, и записать эти изменения в отчет.

  9. Дополнить таблицу PERSON учебной БД сведениями о новых жителях с помощью обеих утилит. Сравнить время выполнения запросов при использовании каждой из утилит.

  10. Перенести учебную БД на локальный диск D: и повторно выполнить задание 23.

  11. Оформить отчет по результатам выполнения лабораторной работы.

Соседние файлы в папке ЭКТ