Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа БД.doc
Скачиваний:
66
Добавлен:
20.05.2015
Размер:
3.07 Mб
Скачать

Индивидуальные задания

Варианты задач

1.Городской транспорт

Список характеристик:

Вид транспорта, номер маршрута, начальная остановка, конечная остановка, время в пути, примечание.

2.Аэропорт

Список характеристик:

Номер рейса, пункт назначения, дата рейса, тип самолета, время вылета, время в пути, сведения о пассажире.

3. Персональные ЭВМ

Список характеристик:

Фирма-изготовитель, тип процессора, тактовая частота, объем ОЗУ, объем жесткого диска, дата выпуска.

4.Университет

Список характеристик:

Номер, ФИО, адрес и должность преподавателя, название предмета.

5.Деканат

Список характеристик:

Kод группы, ФИО, телефон слушателя, код, название предмета, код сессии и оценки по предмету.

6. Оптовая база

Список характеристик:

Код товара, название товара, количество на складе, стоимость единицы товара, примечания-описание товара.

7.Сеть магазинов

Список характеристик:

Номер, название, адрес и телефон магазина, ФИО и ИНН владельцев магазина.

9. Личные данные о студентах

Список характеристик:

ФИО студента, курс, факультет, специальность, дата рождения студента, сведения о семье.

10. Железнодорожный вокзал

Список характеристик:

Номер поезда, пункт назначения, номер путей и платформы, дата прибытия, дата отбытия, ФИО пассажира.

лабораторная работа №

РАБОТА СО СВЯЗАННЫМИТАБЛИЦАМИ.

ПОСТРОЕНИЕ ПРОСТЕЙШИХ ОТЧЕТОВ

Цель лабораторной работы: приобрести практические навыки организации работы приложения со связанными таблицами базы данных.

Задачи лабораторной работы:

• изучить понятие справочника;

• отработать технологию связывания таблиц базы данных;

• закрепить навыки работы с базами данных.

Указания по выполнению работы

В данной работе будут рассмотрены базы данных со связанными таблицами. Наиболее распространенным отношением таблиц является отношение «один ко многим». На рис. 1. показан пример такого отношения– между двумя таблицами :«Контрагенты» и «Документы». При взаимодействии с одним контрагентом формируется несколько документов, но полные реквизиты контрагента хранятся только в одной записи, а таблицы связаны по коду контрагента.

Рис. 1. Пример отношения «один ко многим»

В приведенном примере таблица «Контрагенты» может выступать в качестве справочника для заполнения таблицы «Документы» - при вводе нового документа наименование контрагента можно выбрать из списка.

В данной работе взаимодействие с базой данных также будем строить через компоненты ADO. Как и в предыдущей работе, задачей будет доработка ежедневника.

Порядок выполнения работы:

1.Скопируйте созданную вами в предыдущей работе базу данных ежедневника (db1.mdb) в новую папку Lab на вашем диске.

2.Запустите MS Access: Пуск\Программы\Microsoft Access. Откройте базу данных db1.mdb из папки Lab.

3.Добавьте в базу данных новую таблицу Person следующей структуры: CodeЧисловой, FamilyТекстовый, NameТекстовый, PostТекстовый, PhoneТекстовый.

4. Добавьте в таблицу Person несколько записей рис. 2.

Рис. 2. Таблица Person

5.Модифицируйте таблицу MainData, добавив в нее поле PersCode (тип данных–числовой, число десятичных знаков–0). Внеси-те в это поле различные целые числа от 1 до 4. Таким образом, вы получили две таблицы, связанные по коду персоны с которой назначается встреча рис. 3.

6.Скопируйте файлы из каталога предыдущей практической в каталог Lab. Запустите Delphi7: Пуск\Программы\Borland Delphi7\Delphi7.

Аналогично предыдущей лабораторной работе откорректи-руйте свойства компонент, чтобы программа корректно отображала содержимое таблицы MainData рис.4. Запустите проект и проверьте его работоспособность.

Рис. 3. Отредактированные таблицы MainData и Person

Рис.4. Модифицированное главное окно работающей программы

7.Перейдите к форме DataModule2. Добавьте на нее компоненты ADOTable и DataSource. Для ADOTable2 настройте строку подключения (ConnectionString) к базе данных db1.mdb и укажите в поле TableName таблицу Person.

8.Свяжите таблицу Person с таблицей MainData. Для этого в свойстве MasterSource установите источник данных DataSource1 и настройте строку соединения таблиц MasterFields как показано на Рис5.

Рис.5. Настройка связи между таблицами

9.Для источника данных DataSource2 установите набор данных ADOTable2. Сделайте активным соединение в таблице ADOTable2.

10.На форму Form1 добавьте строку редактирования поля базы данных (компонента TDBEdit) и установите для нее в качестве источника данных DataModule2.DataSource2 и в качестве отображаемого поля (DataField)–поле Family. Запретите редактирование данной строки (ReadOnly= True).

11.Запустите проект, проверьте его работоспособность–в окне просмотра событий, при передвижении по списку событий должно изменяться содержимое добавленной строки–должна отражаться строка с фамилией из справочника Person рис. 6.

Рис. 6. Главное окно работающей программы с компонентом DBEdit1

12.Создайте форму справочника фамилий–Form6 по образцу, представленному на рис.7. На ней размещен компонент TDBGrid.

Рис. 7. Форма справочника фамилий

13.В модуле справочника фамилий Unit6 в разделе Uses после ключевого слова implementation необходимо указать название модуля данных Unit2. На первой форме в меню «Файл» добавьте пункт «Справочник фамилий» и добавьте в модуль Unit1 вызов формы Form6. Отредактируйте процедуру обработки нажатия пункта меню Файл\Справочник фамилий следующим образом:

procedure TForm1.N11Click(Sender: TObject);

begin

Form6.Show;

end;

Результат работы программы при выборе пункта меню Файл\Справочник фамилий представлен на рис. 8.

Рис. 8. Окно работающей программы при вызове пункта меню Файл\Справочник фамилий

14. Сохраните, запустите проект и проверьте его работу.

15.Добавьте в основное меню главной формы еще один подпункт Файл\Отчет. Поместите на главную форму компонент TRVDataSetConnect (вкладка Rave) и свяжите его с набором данных DataModule2.ADOTable1 (свойство DataSet).

16.Вся дальнейшая работа осуществляется под управлением утилиты Rave Reports Designer. Для ее вызова выберите в главном меню команду Tools/Rave/Designer. На экране появится окно, показанное на рис. 9.

С помощью команды File/New Data Object вызовите окно Data Connections, в котором выберите продолжение Direct Data View и, после щелчка по кнопке Next - RvDataSetConnection1.

17.Командой Tools/Report Wizards/Simple Table вызовите мастера создания отчета по данным, получаемым из единственной таблицы. Этот мастер с помощью последовательно раскрывающихся окон определяет основные параметры отчета. С помощью первого окна рис. 10 а, выбирается источник данных (DataView1), с помощью второго- отображаемые поля (отметьте галочками все поля или установите флажок All). В следующем окне можно изменить порядок следования в отчете выбранных полей. Окно Report Layout Options позволяет определить заголовок отчета (поле Report Title; введите в него строку “Ежедневник”) и ширину полей (группа Report Margins). Заключительное окно рис. 10 б, предназначено для выбора шрифтов, которыми будут отображаться три основные части отчета: его заголовок, заголовки полей и данные. Рекомендуется установить шрифт MS Sans Serif для правильного отображения кириллицы.

Рис. 9. Окно утилиты Rave Reports Designer

а

б

Рис. 10. Окно мастера создания отчета:

а-начальное окно; б- завершающее окно

18.После щелчка по кнопке Generate происходит начальная генерация файла проекта отчета и окно Rave Reports Designer приобретает вид, показанный на рис. 11.

19.Сохраните файл проекта отчета. Выберите команду File/Save или щелкните на соответствующей кнопке инструментальной панели. Сохраните файл проекта Project.rav в той же папке, в которой хранится основной проект.

20. Теперь внесем изменения в отчет:

1) добавим дату генерации;

Для этого разместите под заголовком отчета компонент Datatext (вкладка Report палитры компонентов Rave Reports Designer). В свойстве dataField поместите следующий текст: "от "&Report.DateLong рис. 12.

Рис. 11. Вид отчета после начальной генерации

Рис. 12. Формирование отчета с помощью утилиты Rave Reports Designer

2) изменим названия колонок в средней полосе: Дата вместо DateS, Начало вместо FromTime, Окончание вместо ToTime, Телефон вместо Phone. Для этого изменим свойство Text соответствующих компонент рис. 12.

3) расчертим отчет горизонтальными и вертикальными линиями. Для этого поместим на среднюю полосу компонент HLine (вкладка Drawing) с такими свойствами: Top=0, Left=0, Width=6,5, а также шесть компонентов VLine с параметрами: Top=0, Height=0,24, Left=0;0,5;1,5;3;5;6,5 соответственно для шести вертикальных линий.

На нижнюю полосу с данными поместите два компонента HLine и шесть компонент VLine. Длина горизонтальных линий равна 6,5 единиц, о свойство Top равно 0 для первой и 0,15 для второй. Высота вертикальных линий равна высоте полосы (0,15), а свойство Left=0;0,5;1,5;3;5;6,5 соответственно для шести вертикальных линий.

Рис. 13. Пример отчета (в окне предварительного просмотра)

21. Для предварительного просмотра формируемого отчета нажмите клавишу <F9> или щелкните на соответствующей инструментальной кнопке рис. 13.

22. После подготовки проекта отчета сохраните его на диске, закройте Rave Reports Designer и вернитесь в Delphi. Поместите на форму компонент RvProject, в его свойстве ProjectFile укажите ссылку на файл проекта Project.rav. Напишите такой обработчик нажатия пункта меню Файл\Отчет:

procedure TForm1.N12Click(Sender: TObject);

begin

RvProject1.Execute;

end;

23. Сохраните и запустите проект. Проверьте его работу.