Автор: Пользователь скрыл имя, 05 Декабря 2010 в 18:52, курсовая работа
Целью данной курсовой работы является разработка информационной системы «Автопарковка» с использованием клиент-серверной технологии.
К задачам курсовой работы можно отнести следующее:
•Разработка базы данных в РСУБД Firebird;
•Создание приложения, основанного на клиент-серверной технологии;
•Создание веб-приложения.
Введение.
1.Проектирование информационной системы.
1.Проектирование информационного обеспечения.
1.Выбор СУБД.
2.Системный анализ предметной области.
3.Инфологическое проектирование БД.
4.Даталогическое проектирование БД.
2.Проектирование программного обеспечения.
1.Выбор инструментальных средств для создания ПО.
2.Определение задач решаемых информационной системой.
2.Разработка информационной системы.
1.Разработка информационного обеспечения.
1.Физическое проектирование БД.
2.Программирование на стороне SQL-сервера.
2.Разработка программного обеспечения.
1.Создание Win-приложения.
2.Создание Web-приложения.
3.Тестирование информационной системы.
1.Пользовательский интерфейс.
1.Интерфейс Win-приложения.
2.Интерфейс Web-приложения.
Заключение.
Список использованных источников.
Приложение.
Созданный как проект с открытыми исходными кодами, Firebird является первым в новом поколении потомков InterBase 6.0 Open Edition фирмы Borland, который был сформирован для разработки открытых исходных кодов в июле 2000 г. в рамках InterBase Public License (IPL). Исходные коды Firebird поддерживаются и развиваются на основании международного открытого кода на сайте SourceForge.net.
Разработанная в
ходе курсового проекта
Информационная
Данный раздел содержит подробную информацию о разработке информационного обеспечения. Приводятся материалы выполнения работ по программированию на стороне сервера и на стороне клиента для реализации информационной системы.
Запускаем приложение администрирования баз данных Firebird IBExpert и, используя функции, заложенные в этом программном средстве, создаем и регистрируем в системе новую базу данных Firebird «Автопарковка». Создание базы данных инсталлирует инфраструктуру, необходимую для начала создания объектов. Первичным объектом для постоянного хранения данных в базе данных является таблица.
Приступая к созданию таблиц, предполагается, что уже выполнен анализ данных и подготовлена модель, а также имеется совершенно четкое представление о структурах главных таблиц и их взаимоотношениях. Исходя из данных, полученных при выполнении инфологического и даталогического проектирования, спроектировал таблицы и поля базы данных. Определяем ключевые поля и поля Not null (см. Таблица 1).
В
данной базе данных для определения
типов данных столбцов таблиц используются
домены (см. Таблица 2). Домены в Firebird схожи
с концепцией «типы данных, определенные
пользователем». Хотя и невозможно создать
новый тип данных, но можно задать набор
атрибутов с одним из существующих типов
данных и присвоить ему идентификатор
домена. После этого можно использовать
домен как параметр типа данных для определения
столбцов любой таблицы. Преимущества
инкапсуляции определения данных очевидны,
так как в Firebird отсутствует логический,
денежный и некоторые другие типы данных,
но, используя домены, можно создать замену
этим типам данных.
Таблица 1. ER – модель БД.
|
Таблица 2. Список доменов.
|
Теперь,
когда проработаны все
В появившемся окне пишем скрипт для создания домена INDEX:
CREATE DOMAIN D_INDEX AS
SMALLINT
NOT NULL
CHECK (value>0);
Подобным образом создаем домены D_DATE, D_INF, D_STATNUM, D_TIME, D_FIO (см. Приложение 1).
Создав домены, приступаем к созданию таблиц. Всего в БД будет создано пять таблиц. Таблицы имеют связи, реализуемые с помощью первичных и вторичных ключевых полей. Кроме связей эти поля также влияют на целостность данных.
Средствами IBExpert создаем таблицу Clients и указываем ключевые поля, в этой таблице будут храниться данные о типах мебели:
CREATE TABLE CLIENTS (
RN_CLIENTS D_INDEX NOT NULL /* D_INDEX = SMALLINT NOT NULL CHECK (value>0) */,
SURNAME D_FIO NOT NULL /* D_FIO = VARCHAR(25) NOT NULL */,
NAME D_FIO NOT NULL /* D_FIO = VARCHAR(25) NOT NULL */,
SECOND_NAME D_FIO NOT NULL /* D_FIO = VARCHAR(25) NOT NULL */
);--Задание первичного ключа
ALTER TABLE CLIENTS ADD CONSTRAINT RN_CLIENTS PRIMARY KEY (RN_CLIENTS);
Используя комбинацию генератора с триггером, реализуем автоинкрементное поле для таблицы Clients:
--Создание генератора
CREATE GENERATOR GEN_CLIENTS_ID;
REATE OR ALTER TRIGGER CLIENTS_BI0 FOR CLIENTS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.RN_CLIENTS IS NULL) THEN
NEW.RN_CLIENTS = GEN_ID(gen_clients_id,1);
END
Подобным образом создаем таблицы Transport, Mesto_parking, Magazine_events, Employers. Задаем для этих таблиц ключевые поля, вторичные ключи, разрабатываем генераторы и триггеры (см. Приложение 1).
В данном курсовом проекте клиентское приложение для информационной системы «Автопарковка» будет придерживаться концепции «тонкого клиента». То есть, вся бизнес – логика должна быть реализована на сервере базы данных Firebird. РСУБД предоставляет широкий выбор вариантов программирования бизнес – логики позволяя написать просмотры, хранимые процедуры, триггеры, исключения.
Средствами IBExpert создаем все необходимые просмотры (см. Приложение 1). Далее приступаем к созданию хранимых процедур на ввод, изменение и удаление данных для каждой таблицы. Кроме этого необходимо создать хранимые процедуры на выборку данных для составления отчетов.
В IBExpert загрузил SQL редактор, выбрав меню Tools->SQL Editor. В появившемся окне написал скрипт для создания процедур на ввод, изменение и удаление данных таблицы CLIENTS:
CREATE OR ALTER PROCEDURE DEL_CLIENT (
rn smallint)
as
begin
begin
delete from clients where rn_clients = :rn;
when sqlcode -530 do exception e_key;
end
suspend;
end
Затем создаем процедуры на добавление и изменение записи.
CREATE OR ALTER PROCEDURE INS_CLIENTS (
surname varchar(25),
name varchar(25),
second_name varchar(25))
as
begin
begin
insert into clients (surname,name,second_name) values (:surname,:name,:second_name);
when sqlcode -530 do exception e_key;
end
suspend;
end
CREATE OR ALTER PROCEDURE UPD_CLIENTS (
rn smallint,
surname varchar(25),
name varchar(25),
second_name varchar(25))
as
begin
update clients
set surname=:surname, name=:name, second_name=:second_name
where rn_clients = :rn;
suspend;
end
Полный список хранимых процедур представлен в таблице 3.
Таблица 3. Название и назначение процедур
Название процедуры | Назначение |
DEL_CLIENT | Удалить запись таблице Клиенты |
DEL_EMPLOYERS | Удалить запись таблице Сотрудники |
DEL_EVENTS | Удалить запись таблице Журнал событий |
DEL_MESTO | Удалить запись таблице Место парковки |
DEL_TRANSPORT | Удалить записи в таблице Транспорт |
INS_CLIENTS | Добавление записи в таблицу Клиенты |
INS_EMPLOYERS | Добавление записи в таблицу Сотрудники |
INS_MAGAZINE_EVENTS | Добавление записи в таблицу Журнал событий |
INS_MESTO_PARKING | Добавление записи в таблицу Место парковки |
INS_TRANSPORT | Добавление записи в таблицу Транспорт |
UPD_CLIENTS | Редактирование записи в таблице Клиенты |
UPD_EMPLOYERS | Редактирование записи в таблице Сотрудники |
UPD_MAGAZINE | Редактирование записи в таблице Журнал событий |
UPD_MESTO_PARKING | Редактирование записи в таблице Место парковки |
UPD_TRANSPORT | Редактирование записи в таблице Транспорт |