搜索
您的当前位置:首页正文

数据库课程设计长途汽车信息管理系统

来源:易榕旅网


数据库课程设计长途汽车信息管理系统

姓名:李鑫 学号:2012020319

数据库原理及Oracle开发课程设计

题 目 汽车信息管理系统 系 (部) 计算机科学与技术 班 级 12级3班 姓 名 李鑫 学 号 2012020319 指导教师 方 昕

2014年6月9日

汽车信息管理系统

一.需求分析阶段

随着社会的不断发展,技术的不断进步,信息技术和数据处理速度越来越引起人们的重视,因为信息的大量而快速的传递,大批量数据的处理单靠人工是不可靠的,也是不现实的。各行业都迫切需要高性能的的管理系统。汽车信息管理数据库系统是面向所有汽车的数据管理系统,其目的是使乘车有序化,规范化,简单化,易于车站人员的管理,查询。。而汽车信息管理系统就是根据车站发展的需要而建立的典型的信息管理系统。它以处理为中心,其重点是进行查询,打印客户所需信息。开发主要包括数据库的建立和维护。

模块功能分析:

线路模块:用来管理汽车线路号、出发地、目的地、出发时间、所需时间。 汽车模块:用来管理汽车汽车编号、汽车的种类及相应的票价、最大载客量、剩余座位数。

车票模块:用来管理汽车车票编号、售票情况、查询、打印。 乘客模式:用来管理汽车乘客出发地 、出发地、目的地。

汽车信息管理系统

二、概念结构设计

经分析,本系统的e-r图如下:

各实体及其属性:

售票情况车票编号票价车票

目的地出发地出发时间所需时间 线路线路编号

汽车汽车种类 汽车编号最大载客量

乘客 出发时间出发地目的地

各实体间关系的e-r图如下:

汽车信息管理系统

目的地出发地出发时间所需时间售票情况车票编号线路线路编号票价行驶车票供应售票乘客乘车汽车汽车种类汽车编号出发时间出发地最大载客量目的地

关系图:

汽车信息管理系统

汽车信息管理系统

(3).车票信息表 属性名 类型 车票编char 号 售票情char 况 票价 smallint 长度 10 10 是否为空 备注 主码 (4).乘客信息表

属性名 类型 出发时间 char char 出发地 char 目的地 长度 10 10 10 是否为空 否 说明 主码 2.汽车管理基本数据信息表

(1). 车票信息表

车票编号 20110001 20110002 20110003 20110004 20110005 20110006 售票情况 拥挤 良好 稀疏 拥挤 拥挤 良好 票价 85 90 110 109 120 160 线路号 101 102 103 104 105 106

(2).汽车基本信息表 汽车编号 汽车种类 1 A 最大载客线路号 量 35 101 汽车信息管理系统

2 3 4 5 6 B C D E F 50 45 55 45 60 102 103 104 105 106

(3).线路信息表

线路号 出发地 目的地 101 102 103 104 105 106 南昌市 景德镇 鄱阳县 抚州市 抚州市 南昌市 抚州市 鄱阳县 南昌市 南昌市 南昌市 景德镇 出发时所需时间 间 18:00 2 10:20 1 15:40 4 14:30 2 13:00 3 09:00 5

(4).乘客信息表 出发时间 出发地 18:09 南昌市 07:00 南昌市 10:23 景德镇 14:30 抚州市 15:28 鄱阳县 目的地 汽车编号 线路号 抚州市 1 101 景德镇 6 106 鄱阳县 2 102 南昌市 5 105 南昌市 3 103 对应SOL语句如下:

(1) 建库

create database 汽车信息管理系统

(2) 建表

CREATE TABLE 汽车基本信息表 (

汽车编号 CHAR(10) PRIMARY KEY, 汽车种类 CHAR(10), 最大载客量 INT,

线路号 CHAR(10)

汽车信息管理系统

)

CREATE TABLE 车票信息表 (

车票编号 CHAR(10) PRIMARY KEY, 售票情况 CHAR(10), 票价 INT,

线路号 CHAR(10) )

CREATE TABLE线路信息表 (

线路号 CHAR(10) PRIMARY KEY, 出发地 CHAR(10), 目的地 CHAR(10), 出发时间 CHAR(10), 所需时间 INT )

CREATE TABLE 乘客信息表 (

汽车编号 CHAR(10) PRIMARY KEY, 线路号 CHAR(10), 出发地 CHAR(10), 目的地 CHAR(10), 出发时间 CHAR(10) )

(3) 插入数据 INSERT

INTO 车票信息表

VALUES('20110001','拥挤','85','101')

INSERT

INTO 车票信息表

VALUES ('20110002','良好','90','102')

INSERT

INTO 车票信息表

VALUES ('20110003','稀疏','110','103')

INSERT

INTO 车票信息表

汽车信息管理系统

VALUES ('20110004','拥挤','109','104')

INSERT

INTO 车票信息表

VALUES ('20110005','拥挤','120','105')

INSERT

INTO 车票信息表

VALUES ('20110006','良好','160','106')

INSERT

INTO 汽车基本信息表

VALUES ('1','A','35','101')

INSERT

INTO 汽车基本信息表

VALUES ('2','B','50','102')

INSERT

INTO 汽车基本信息表

VALUES ('3','C','45','103')

INSERT

INTO 汽车基本信息表

VALUES ('4','D','55','104')

INSERT

INTO 汽车基本信息表

VALUES ('5','E','45','105')

INSERT

INTO 汽车基本信息表

VALUES('6','F','60','106')

INSERT

INTO 线路信息表

VALUES ('101','南昌市','抚州市','18:00','2')

汽车信息管理系统

INSERT

INTO 线路信息表

VALUES ('102','景德镇','鄱阳县','10:20','1')

INSERT

INTO 线路信息表

VALUES ('103','鄱阳县','南昌市','15:40','4')

INSERT

INTO 线路信息表

VALUES ('104','抚州市','南昌市','14:30','2')

INSERT

INTO 线路信息表

VALUES ('105','抚州市','南昌市','13:00','3')

INSERT

INTO 线路信息表

VALUES ('106','南昌市','景德镇','09:00','5')

INSERT

INTO 乘客信息表

VALUES ('18:09','南昌市','抚州市','1','101')

INSERT

INTO 乘客信息表

VALUES ('07:00','南昌市','景德镇','6','106')

INSERT

INTO 乘客信息表

VALUES ('10:23','景德镇','鄱阳县','2','102')

INSERT

INTO 乘客信息表

VALUES('14:30','抚州市','南昌市','5','105')

INSERT

INTO 乘客信息表

VALUES('15:28','鄱阳县','南昌市','3','103')

四、功能处理

1.索引

①建立索引

create unique index id_ix on车票信息表(车票编号);

汽车信息管理系统

create unique index im_in on 汽车基本信息表(汽车编号); create unique index ik_il on 线路信息表(线路号); create unique index ih ig on 乘客信息表(汽车编号); ②删除索引

Drop index 车票信息表id ix

2.视图

①创建视图

create view view_1

as select车票编号,售票情况,票价,线路号

from 汽车信息表

create view view_2

as select汽车编号,汽车种类,最大载客量,线路号

from 汽车基本信息表

create view view_3

as select 线路号,出发地,目的地,出发时间,所需时间 from 线路信息表 create view view_4

as select出发时间,出发地,目的地,汽车编号,线路号 from 乘客信息表 ②视图的撤消

drop view view_1; ③视图的查询

select * from view_3; select * from view_2; ④视图的更新

insert into view_1

values(‘20110001’,’拥挤’’85’’80’);

3.存储过程

①创建存储过程

create proc proc_zg as

select 车票编号,票价 from 车票信息表 where 线路号='103'; ②存储过程的查询 exec proc_zg; ③存储过程的修改

alter proc proc_zg

as

select车票编号,票价 from车票信息表

汽车信息管理系统

where 线路号='104'

4、触发器

①创建触发器

create trigger z_select on 车票信息表 after insert as

select * from 车票信息表 select * from inserted go

insert into 车票信息表(车票编号,票价) values('20110001','80') ②触发器的删除

drop trigger z_select;

5、数据更新

①插入(前面已插入) ②修改

Update 车票信息表 Set 票价=90

Where 车票编号=’20110001’;

③删除

delete from车票信息表

where 车票编号=’20110002’;

6、 数据查询

SELECT 出发时间,汽车编号 FROM 乘客信息表 WHERE 汽车编号='2'

SELECT 售票情况,票价 FROM 车票信息表 WHERE 线路号='101'

SELECT 售票情况,票价

FROM 车票信息表 WHERE 线路号='102'

SELECT 售票情况,票价

汽车信息管理系统

FROM 车票信息表 WHERE 线路号='103

'

SELECT 售票情况,票价 FROM 车票信息表 WHERE 线路号='104'

SELECT 汽车种类,最大载客量 FROM 汽车基本信息表 WHERE 线路号='101'

SELECT 汽车种类,最大载客量 FROM 汽车基本信息表 WHERE 线路号='102'

SELECT 汽车种类,最大载客量 FROM 汽车基本信息表 WHERE 线路号='103'

SELECT 汽车种类,最大载客量 FROM 汽车基本信息表 WHERE 线路号='104'

SELECT售票情况,票价 FROM 车票信息表 WHERE 线路号='106

汽车信息管理系统

'

SELECT 出发时间,线路号,目的地 FROM 乘客信息表 ORDER BY 线路号

SELECT 车票编号 FROM 车票信息表

WHERE 票价 BETWEEN 90 AND 110

五、系统设计、制作小结

通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。几天的数据库课程设计很快就结束了,在这短暂的几天的的时间里,发现自己学会了很多课外的东西,特别是和同学们一起讨论分析,以及复习了我们所学过的相关数据库知识,进一步了解了数据库的实践应用过程,增强了课外的动手实践能力。

数据库设计主要讨论数据库设计的方法和步骤应注意的事项。概念结构设计采用的是实体属性分析法。实体属性分析法是从总体的概念入手,从分析一个单位的事务活动开始,首先识别需求分析中所提供的实体及实体间的联系,建立一个初步的数据模型框架,然后在逐步的求精的方法加上必需的描述属性,形成一个完整的局部模型,称为用户视图,最后在加上这些视图集成一个统一的数据模式,称为用户视图的集成,这种统一的数据模式(即全局信息结构)通常用E-R图表示。逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的

汽车信息管理系统

DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。

总而言之,这次的课程设计我学到了很多有用很有实践意义的课外知识并体会了一个真理:实践是检验真理的唯一标准!在这里感谢老师和同学的帮助!

六、参考资料

王珊和萨师煊主编。数据库系统概论。北京:高等教育出版社,2011。

课程设计成绩评定表

出勤 情况 出勤天数 缺勤天数 出勤情况及设计过程表现(20分) 成 绩 评 定 论文(20分) 设计成果(60分) 总成绩(100分) 汽车信息管理系统

综 合 评 定 指导教师签名: 年 月 日

因篇幅问题不能全部显示,请点此查看更多更全内容

Top