Контрольная работа: Особенности проектирования баз данных

as

begin

for

select distinct publishers.name, count(publishers.id_publishers), AVG(books.tiraz)

from books inner join publishers on books.id_publishers = publishers.id_publishers

group by publishers.name

into: publishers_name, : count_, : avg_tiraz

dosuspend;

end

Выходными параметрами процедуры являются:

· publishers_namevarchar(20) charactersetwin1251 – строковой параметр для значений имени издательства;

· avg_tirazinteger – параметр для среднего значения тиража книги каждой группы.

· count_ integer – параметр для выдачи значения количества строк каждой группы.

В данной процедуре осуществляется выборка значений поля «PUBLISHERS.NAME», количества возвращаемых строк и среднего значения по полю «BOOKS.TIRAZ» для каждого значения поля «PUBLISHERS.NAME».

Теперь структура базы данных готова. Заполним таблицы некоторыми записями:

Таблица «Издательства» (Publishers)

ID_Publishers Name City
1 Питер С.- Петербург
2 ДиаСофт Киев
3 КОРОНА принт С.- Петербург
4 Финансы и статистика Москва

Таблица «Читатели» (Readers)

ID _ abonent FIO Telephone Address
1 Иванов Вадим 12345678 Москва ул. 1 д.1 кв. 1
2 Петров Борис 11111111 Орел ул. 1 д.1 кв. 1
3 Сидоров Иван 22222222 Курск ул. 1 д.1 кв. 1
4 Кузнецов Артем 12121212 Воронеж ул.1 д.1 кв.1

Таблица «Книги» (Books)

ID_ Books Name ID_ Publishers K_ pages Cover Tiraz ID_ abonent Date_issue
1 Эффективная работа с СУБД 1 704 твёрдый 6000 1 01.01.2009
2 Delphi. Разработка баз данных 1 477 твёрдый 5000 1 01.01.2009
3 Базы данных и приложения 2 592 твёрдый 7000 2 11.01.2009
4 Базы данных 2 416 твёрдый 5000 NULL NULL

Создание клиентского приложения баз данных

Создадим клиентское приложение в ИСР Delphi, используя технологию доступа к данным InterBase eXpress ( IBX).

Выберем File/New/Application (Файл/Новое/Приложение), затем добавим модуль данных для компонентов доступа к данным – File/New/DataModule (Файл/Новый/Модуль данных). Компоненты доступа к данным расположены на страницеDataAccessПалитры компонентов. Компоненты отображения данных расположены на страницеDataControls Палитры компонентов. Компоненты, используемые в технологии InterBaseeXpress распологаются на странице InterBase, а компоненты для создания отчётов – QReport.

Поместим на модуль данных компонент TIBDatabase. Укажем в свойстве DatabaseName полный путь (включая имя сервера) к выбранному файлу БД – «C:\01\LIBRARY.FDB».

Поместим следующие компоненты на форму модуля данных:

· компонент IBTransaction

· три IBDataSet,

· три DataSource

Подключимся к базе данных. Выделим компонент TIBDatabase и выберем из контекстного меню Database Editor.… В этом окне укажем User Name = SYSDBA, Character Set = WIN1251. Затем установим свойство Connected компонента IBDatabase1 равным True и свойство DefaultTransaction компонента IBDatabase1 равным IBTransaction1.

Зададим управление транзакциями. Сделаем активным компонент IBTransaction1, для чего его свойству Active придадим значение True. Вызовем редактор TransactionEditor..., и в появившемся диалоговом окне выберем уровень изоляции транзакций – ReadCommitted.

Установим значения свойств:

· DefaultAction – TACommitRetaining

К-во Просмотров: 403
Бесплатно скачать Контрольная работа: Особенности проектирования баз данных