Учебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем




НазваниеУчебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем
страница6/9
Дата25.02.2013
Размер0.57 Mb.
ТипУчебно-методический комплекс
1   2   3   4   5   6   7   8   9

Лабораторная работа №4

«Создание приложения диспетчера»


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


Предварительные сведения для ознакомления


Этот раздел рекомендуется прочитать перед началом работы, поскольку он содержит основные сведения, которые потребуются для дальнейшей работы.

1. Просмотр и редактирование таблиц с использованием SQL Explorer

Это клиентская утилита, которая устанавливается вместе с Delphi и служит для выполнения различных действий с таблицами и другими объектами баз данных (как альтернатива SQL Plus). Запустить SQL Explorer можно из той же программной группы, что и Delphi, а можно и из самого Delphi.

После запуска Explorer в левом окне вы увидите список псевдонимов различных баз данных. Можно добавлять и удалять псевдонимы из этого списка, и таким образом, обеспечивать возможность работы с базой данных любого формата. Для базы данных Oracle уже сделан и настроен псевдоним Oracle (или другой похожий).

Выберите из списка псевдонимов Oracle (или Orcl) и раскройте его. Появится запрос на ввод имени и пароля. После того, как вы введете свое имя и пароль, вы увидите содержимое своей схемы и сможете просмотреть и отредактировать данные таблиц, а также их структуру.

SQL Explorer можно использовать и для выполнения любых запросов SQL к вашей базе данных, т.е. он может заменить SQL Plus для Oracle. Для этого нужно воспользоваться вкладкой Enter SQL. Введите текст любого запроса (например select * from buses where bus_id=1 - без точки с запятой в конце!) и нажмите кнопку Execute Query (справа). Кстати, все таблицы, последовательности и другие объекты можно было бы создать и из SQL Explorer’а.

Однако для обеспечения комфортной работы с базой данных средств SQL Explorer недостаточно. Поэтому разработаем клиентские приложения для администратора, кассиров и диспетчера автовокзала. Сначала прочитайте следующий раздел.

2. Компоненты Delphi для работы с базами данных.

Имеется несколько способов для связи с базой данных приложения на Delphi. Наиболее часто используемые  — BDE (Borland DataBase Engine) и ADO (ActiveX Data Objects — универсальное средство связи с базой данных из любой среды разработки). Мы будем рассматривать только способ с использованием BDE, при желании использовать ADO необходимые компоненты найдете на одноименной вкладке на палитре компонентов Delphi.

Компоненты для работы с базами данных размещаются на вкладках BDE, Data Access и Data Controls и делятся на невизуальные (вкладки BDE и Data Access) и визуальные (Data Controls). Невизуальные компоненты можно помещать на те же формы, что и визуальные, а можно поместить на отдельную форму, которая называется модулем данных (Data module).

Из невизуальных компонентов вам понадобятся:

  1. Один компонент Database. Он нужен для создания соединения с сервером. Задайте любое имя вашей базы данных (свойство DataBase Name) и установите свойство Alias name (выберите из списка строку соединения Oracle1). Затем установите свойство Connected в True. При этом появится запрос на ввод имя пользователя и пароля. Введите ваше имя и пароль. Если после этого не появится сообщения об ошибке, значит, соединение выполнено успешно.

  2. Для каждой таблицы на форме нужны 2 невизуальных компонента Table и DataSource(это компонент-связка между Table и визуальными компонентами). Для Table нужно установить свойство DatabaseName – это то имя, которое вы задали для компонента DataBase в свойстве DataBase Name, а затем для свойства TableName выбрать из списка нужное имя таблицы, которую вы хотите отобразить на форме. Для Datasorce задается свойство Dataset – это имя таблицы, к которой будет привязан этот DataSource(например, Table1 или другое имя, если вы переопределите свойство Name для Table).

  3. Невизуальные компоненты можно располагать на любой форме приложения, но рекомендуется использовать для этих целей специальную форму, которая называется Модуль данных. Эта форма не будет отображаться при запуске приложения и служит для удобства разработки.

  4. Чтобы все же показать данные таблицы на форме, нужно поместить на нее визуальные компоненты:

  • или DbGrid, чтобы увидеть данные в виде таблицы,

  • или несколько компонентов DBEdit- по одному для каждого поля. Для перемещения по записям удобно использовать компонент DBNavigator.

  1. Увидеть данные можно только после того, как таблица открыта. Для открытия нужно установить свойство Active компонента Table в True. После этого таблица сразу «оживет» и наполнится данными даже на этапе разработки.

  2. Таким образом, простое приложение для отображения и редактирования данных практически не требует написания программного кода. Поместив на формы все необходимые компоненты и установив их свойства, можно запускать приложение для выполнения (клавиша F9).

Разработка клиентского приложения для администратора на Delphi


Приступаем к созданию проекта приложения администратора


    1. Создание модуля данных

Создайте модуль данных. Для этого выполните File/New/DataModule. Поместите на него компонент Database и создайте соединение. Для каждой таблицы поместите в модуль данных Table и DataSource. Подсоедините все Table к своим таблицам, а Datasours’ы к Tabl’ам. Рекомендуем переименовать стандартные имена типа Table1 или DataSource1 в более осмысленные. Далее для обозначения компонентов будут использоваться имена таблиц с приставкой T к Tabl’ам и D к DataSourc’ам (например, Tkm_prices и Dkm_prices).

Можно установить свойства отдельных полей таблиц. Для этих целей в Delphi есть специальная утилита, которая называется Редактор полей. Войти в нее можно, сделав двойной щелчок на Table. Затем в открывшемся редакторе полей выберите опцию “Add all fields”. Перемещаясь по полям в редакторе полей, можно менять их свойства в Object Inspector. Например, для того чтобы поле не отображалось в DBGrid, нужно установить свойство Visible=false; свойство DisplayLabel устанавливает подпись, которая будет появляться над этим полем в DBGrid. Можно запретить редактирование поля, установив ReadOnly в True.

Важно!!! Для того, чтобы обеспечить заполнение ключевых полей таблиц Models, Buses, Points, Routes и Trips при помощи триггеров, которые мы написали для этих таблиц, необходимо в редакторе полей для ключевых полей таблиц установить свойство Required=False (в этом случае заполнение поля в Delphi станет необязательным). По умолчанию для ключевых полей это свойство установлено в True.

Установите свойство Active таблиц в True.

Не забудьте сохранить проект с помощью команды

File/Save Project as… или Save All

Delphi формирует большое количество файлов проекта, поэтому для каждого проекта нужна отдельная папка. Основная программа проекта – это файл с расширением dpr (например, Project1.dpr). Для каждой формы создается отдельный модуль – файл с расширением .pas, а также двоичный файл с расширением .dfm.

2. Основная форма приложения

Наиболее удобна для работы с многотабличными базами данных форма с вкладками. Для удобной работы предлагается создать отдельные вкладки для редактирования расценок (Цены) и списка пунктов назначения (Пункты). Таблицы марок и автобусов можно редактировать совместно как главную и подчиненную таблицы (назовем вкладку Автобусы), таблицы маршрутов, их промежуточных пунктов и рейсов тоже удобно разместить на одной вкладке, поскольку они часто будут редактироваться совместно (назовем вкладку Маршруты-Рейсы).

Для создания вкладок можно воспользоваться компонентом PageControl (вкладка Win32). Установите его свойство Align (выравнивание) в AlClient (т.е. каждая вкладка будет занимать всю клиентскую часть формы). Каждая новая вкладка создается при помощи команды New Page контекстного меню (щелчок правой кнопкой в любом месте PageControl). Создайте 4 вкладки, перечисленные выше.

Чтобы связать форму с модулем данных, выполните команду File/Use Unit (модуль данных будет автоматически вписан в предложение uses раздела implementation основной формы).

3. Вкладки Цены и Пункты

Эти вкладки могут выглядеть примерно одинаково. Поместите на вкладку DBGrid и DBNavigator и установите их свойства DataSource.





Для вкладки Пункты вместо DBGrid поместите на форму 3 DBEdit (в этом случае надо заполнить свойства DataSource и DataField.) для редактирования каждого поля по отдельности. Для перемещения между строками используйте компонент DBNavigator. Для того, чтобы видеть весь список пунктов, можно поместить на форму дополнительно DBGrid.




Запустите приложение и заполните таблицы. Введите несколько названий пунктов так, чтобы из них можно было сформировать 2-3 маршрута.


4. Вкладка Автобусы

Поместим на вкладку 2 компонента DBGrid и два DBNavigator. Одну пару свяжем с Dmodels, а другую с Dbuses.



Подчиним таблицу Buses таблице Models, чтобы видеть только автобусы одной марки, соответствующей активной записи в таблице марок.

Для этого переключимся в модуль данных и установим 2 свойства для таблицы TBuses: MasterSource и MasterField. Эти свойства устанавливают связь с главной таблицей, в качестве которой выбираем таблицу Models (DataSource DModels). В диалоге для задания MasterField указывается поле cod_model, по которому связаны таблицы.

Запустите приложение и заполните таблицы Models и Buses.


4. Вкладка Маршруты-Рейсы

Эта вкладка служит для редактирования и отображения данных трех таблиц: маршруты, пункты-маршруты и рейсы (routes, points-routes, trips).



Сценарий занесения нового маршрута такой – сначала в таблицу Routes заносится имя нового маршрута и ему автоматически присваивается определенный код, затем в таблицу Points_routes заносятся остановки данного маршрута (т.е. пункты, через которые проходит маршрут), затем в таблицу Trips заносятся все рейсы этого маршрута за неделю, при этом на каждый рейс назначается определенный автобус.

Ясно, что пункты, через которые проходит маршрут (остановки автобуса), удобнее выбирать из списка пунктов, чем вводить вручную. В этом случае для удобства ввода используют поля подстановки (LookUp Fields). Создадим такое поле подстановки для таблицы связки Пункты-Маршруты, чтобы выбирать пункты из списка.

Переключимся в модуль данных. Входим в редактор полей (двойной щелчок по TPounts_Routes). Если его окно пустое, выполните Add All Fields из контекстного меню. Для создания поля подстановки выполните New Field. В открывшемся диалоговом окне введите имя поля, его тип (т.е. тип поля, которое будет отображаться в TDBGrid – String), размер (по умолчанию используется 20). Свойство ‘Field type’ установите в ‘Lookup.

Из списка ‘Dataset выберите таблицу Points,

из списка Result Field выберите поле, которое будет отображаться в списке (название пункта name_point),

из списка Lookup Keys выберите поле, значения которого будут действительно использоваться при подстановке (поле cod_point),

из списка Key Fields – поле, куда будет заноситься выбранное значение (тоже cod_point, но уже таблицы Points_Routes).

Создайте самостоятельно еще одно поле подстановки для таблицы Trips, которое позволит назначать автобус на рейс, выбирая его из списка номеров автобусов. При создании этого поля возникнет такая проблема: таблица Buses, в которой хранятся номера автобусов, подчинена таблице Models. Все таблицы открыты при работе приложения, поэтому в таблице Buses будут отображаться только строки, связанные с какой-то одной маркой. В таком случае для обслуживания поля подстановки создается дополнительный Table для таблицы Buses (например, назовем его TBuses1). Datasource к нему не нужен. TBuses1 выберите в качестве DataSet при создании поля подстановки.

В остальном создание вкладки аналогично созданию вкладки Автобусы. С главной таблицей Routes (маршруты) связываем две подчиненных  — Points_Routes (пункты, через которые проходит маршрут) и Trips (все рейсы этого маршрута за неделю). Связь устанавливаем с помощью свойств Master Source и Master Field. Для заполнения таблицы маршрутов удобнее использовать компоненты DBEdit, чтобы видеть на форме название и код только одного маршрута.

Запустите приложение и введите не менее двух маршрутов с несколькими остановками и несколькими рейсами.

Остался последний штрих. Таблице Buses в приложении соответствует два компонента Table. При работе с вкладкой Автобусы обновляется только один из них (TBuses), который связан с соответствующим DBGrid. Для того, чтобы изменения в автобусном парке немедленно отображались в списке автобусов, которые назначаются на рейсы, достаточно своевременно обновлять компонент TBuses1. Например (как один из вариантов), можно написать такой обработчик события OnEnter (на вход) для страницы Маршруты-Рейсы компонента PageControl (этой странице соответствует компонент TabSheet4 – 4 страница).

procedure TForm1.TabSheet4Enter(Sender: TObject);

begin

datamodule2.Tbuses1.Refresh;//обновить Table Tbuses1

end;

Приложение готово. Ведите 2-3 маршрута, для каждого несколько остановок и несколько рейсов в разные дни недели и разные часы.
1   2   3   4   5   6   7   8   9

Похожие:

Учебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем iconРабочая программа По дисциплине “Преддипломная практика" Для специальности 230105 (220400) "Программное обеспечение вычислительной техники и автоматизированных систем"
Гос во по специальности 230105 (220400) – Программное обеспечение вычислительной техники и автоматизированных систем, утвержденного...
Учебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем iconРабочая программа по дисциплине Архитектура вычислительных систем Для специальности 230105(220400) Программное обеспечение вычислительной техники и автоматизированных систем
Рабочая программа составлена в соответствии с гос во по специальности 230105 Программное обеспечение вычислительной техники и автоматизированных...
Учебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем iconРабочая программа по дисциплине «проектирование систем управления и менеджмента» для специальности 230105 “Программное обеспечение вычислительной техники и автоматизированных систем”
Рабочая программа составлена на основании гос впо для специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных...
Учебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем iconУчебно-методический комплекс по курсу безопасность жизнедеятельности
Специальность 230106 Техническое обслуживание средств вычислительной техники и компьютерных сетей, 230105 Программное обеспечение...
Учебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем iconРабочая программа По дисциплине “Методы оптимизации" для специальности 230105 "Программное обеспечение вычислительной техники и автоматизированных систем"
По дисциплине “Методы оптимизации" для специальности 230105 "Программное обеспечение вычислительной техники и автоматизированных...
Учебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем iconРабочая программа учебной дисциплины од. 04 Информатика ооп 230105 «Программное обеспечение вычислительной техники и автоматизированных систем»
Рабочая программа составлена на основании Государственного образовательного стандарта среднего профессионального образования по специальности...
Учебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем icon«Метрология, стандартизация и сертификация» для специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем»
«Программное обеспечение вычислительной техники и автоматизированных систем» составлена на основе Государственного образовательного...
Учебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем iconРабочая программа по дисциплине "Структуры и алгоритмы обработки данных" специальности 230105 (220400) "Программное обеспечение вычислительной техники и автоматизированных систем"

Учебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем iconРуководство по преддипломной практике и дипломированию для студентов специальности 230105 Программное обеспечение вычислительной
Учебное пособие предназначено для студентов, обучающихся по специальности 230105 «Программное обеспечение вычислительной техники...
Учебно-методический комплекс по дисциплине “Базы данных“ для специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем iconПояснительная записка дп07. 230105. 06. 09Пз специальность 230105 «Программное обеспечение вычислительной техники и автоматизированных систем»
Специальность 230105 «Программное обеспечение вычислительной техники и автоматизированных систем»
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница