数据库长途汽车管理系统.docx
- 文档编号:10445120
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:23
- 大小:379.31KB
数据库长途汽车管理系统.docx
《数据库长途汽车管理系统.docx》由会员分享,可在线阅读,更多相关《数据库长途汽车管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
数据库长途汽车管理系统
长途汽车管理系统
1、课程设计的目的
(1)通过课程设计加深对《数据库基础及应用》课程相关知识的理解,培养运用所学理论知识和操作技能分析,解决实际系统问题的能力。
(2)掌握用数据库理论设计实际系统的思想和方法。
(3)培养调查研究、查阅技术文件的能力。
2、系统功能分析与设计
(1)根据长途汽车管理系统,设计出如图1所示功能模块图
图1系统功能模块图
(2)对各模块功能进行描述:
线路模块:
用来管理汽车线路号、出发地、目的地、出发时间、所需时间。
汽车模块:
用来管理汽车汽车编号、汽车的种类及相应的票价、最大载客量、剩余座位数。
车票模块:
用来管理汽车车票编号、售票情况、查询、打印。
乘客模式:
用来管理汽车乘客出发地、出发地、目的地。
图2设计思路
3、数据库设计
(1)概念设计
经分析,本系统各实体及其属性的E-R图如下:
图3车票信息表
图4线路信息表
图5汽车基本信息表
图6乘客信息表
各实体间关系的e-r图如下:
车票
车票编号
售票情况
票价
线路
出发地
目的地
出发时间
所需时间
线路编号
汽车
汽车种类
汽车编号
最大载客量
出发时间
目的地
出发地
乘客
售票
行驶
供应
乘车
1
n
1
n
11
n1
图7E-R图
(2)逻辑设计
由E-R图转换成关系模式:
数据库中包含4个表,汽车基本信息表、线路信息表、车票信息表和乘客信息表。
汽车基本信息表(汽车编号,汽车种类,最大载客量,线路号)
线路信息表(线路号,出发地,目的地,出发时间,所需时间)
车票信息表(车票编号,售票情况,票价)
乘客信息表(出发时间,出发地,目的地)
(3)物理设计
逻辑设计相对应的表格
表1线路信息表
属性名
数据类型
宽度
说明
线路号
char
10
主码
出发地
char
10
目的地
char
10
出发时间
char
10
所需时间
int
表2汽车基本信息表
列名
数据类型
宽度
说明
汽车编号
char
10
主码
汽车种类
char
10
最大载客量
int
线路号
char
10
表3车票信息表
属性名
数据类型
宽度
说明
车票编号
char
10
主码
售票情况
char
10
票价
int
线路号
char
10
表4乘客信息表
属性名
数据类型
宽度
说明
汽车编号
char
10
主码
出发地
char
10
目的地
char
10
线路号
char
10
出发时间
char
10
创建索引
在汽车基本信息表为汽车票号建立唯一索引。
在线路信息表为线路号建立唯一索引。
在车票信息表为车票编号建立唯一索引。
在乘客信息表为出发时间建立唯一索引。
建立视图
为汽车基本信息表创建视图。
为线路信息表创建视图。
为车票信息表创建视图。
为乘客信息表创建视图。
4、给出系统开发运行环境
(1)硬件
处理器英特尔第二代酷睿i3-2365M@1.40GHz双核
主硬盘希捷ST500LM012HN-M500MBB(500GB/5400转/分)
显示器京东方BOE05C2(14英寸)
(2)软件
MicrosoftSQLServer2005
5、创建各类数据库对象
(1)数据库
CREATEDATABASEchangtuqiche
ON
(NAME=changtuqiche_data,
'c:
\log\changtuqiche_data.mdf',
SIZE=10MB,
MAXSIZE=300MB,
)
LOGON
(NAME=changtuqiche_log,
'c:
\log\changtuqiche_data.ldf',
SIZE=5MB,
MAXSIZE=200MB,
)
图8创建数据库
(2)表
CREATETABLE汽车基本信息表
(汽车编号CHAR(10)PRIMARYKEY,
汽车种类CHAR(10),
最大载客量INT,
线路号CHAR(10))
图9创建汽车基本信息表
CREATETABLE车票信息表
(车票编号CHAR(10)PRIMARYKEY,
售票情况CHAR(10),
票价INT,
线路号CHAR(10))
图10创建车票信息表
CREATETABLE线路信息表
(线路号CHAR(10)PRIMARYKEY,
出发地CHAR(10),
目的地CHAR(10),
出发时间CHAR(10),
所需时间INT)
图11创建线路信息表
CREATETABLE乘客信息表
(汽车编号CHAR(10)PRIMARYKEY,
线路号CHAR(10),
出发地CHAR(10),
目的地CHAR(10),
出发时间CHAR(10))
图12创建乘客信息表
(3)索引
CREATEUNIQUEINDEXim_in
ON汽车基本信息表(汽车编号)
图13为汽车基本信息表创建索引
CREATEUNIQUEINDEXik_il
ON线路信息表(线路号)
图14为线路信息表创建索引
CREATEUNIQUEINDEXid_ix
ON车票信息表(车票编号)
图15为车票信息表创建索引
CREATEUNIQUEINDEXih_ig
ON乘客信息表(汽车编号)
图16为乘客信息表创建索引
(4)视图
CREATEVIEWview_1
AS
select汽车编号,汽车种类,最大载客量,线路号
from汽车基本信息表
图17为汽车基本信息表创建视图
CREATEVIEWview_2
AS
select线路号,出发地,目的地,出发时间,所需时间
from线路信息表
图18为线路信息表创建视图
CREATEVIEWview_3
AS
select车票编号,售票情况,票价,线路号
from车票信息表
图19为车票信息表创建视图
CREATEVIEWview_4
AS
select出发时间,出发地,目的地,汽车编号,线路号
from乘客信息表
图20为乘客信息表创建视图
6、录入数据
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')
7、设计存储过程和触发器
(1)创建存储过程
createprocproc_zg
as
select车票编号,票价
from车票信息表
where线路号='103'
图21创建存储过程
(2)创建触发器
createtriggerinsert_qi
on车票信息表
afterinsert
as
select*
from车票信息表
insertinto车票信息表(车票编号,票价)
Values(‘’,‘80’)
图22车票信息表创建触发器
createtriggerinsert_che
on汽车基本信息表
afterinsert
as
select*
from汽车基本信息表
insertinto汽车基本信息表(汽车编号,线路号)
Values(‘1’,‘101’)
图23汽车基本信息表建触发器
createtriggerinsert_xian
on线路信息表
afterinsert
as
select*
from线路信息表
insertinto线路信息表(线路号,所需时间)
Values(‘106’,‘5’)
图24线路信息表建触发器
createtriggerinsert_cheng
on乘客信息表
afterinsert
as
select*
from乘客信息表
insertinto线路信息表(出发时间,线路号)
Values('10:
23’,‘102’)
图25乘客信息表建触发器
8.课程设计总结
通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。
几天的数据库课程设计很快就结束了,在这短暂的几天的的时间里,发现自己学会了很多课外的东西,特别是和同学们一起讨论分析,以及复习了我们所学过的相关数据库知识,进一步了解了数据库的实践应用过程,增强了课外的动手实践能力。
9.参考文献
[1]宋振会.SQLServer2000中文版基础教程[M].北京:
清华大学出版社.2005.5
[2]求是科技SQLServer2000数据库管理与开发大全[M].人民邮电出版社.2004.12
[3](美)西尔伯沙茨.数据库系统概念[M].机械工业出版社.2012.5
[4]徐孝凯,贺桂英.数据库基础与SQLServer应用开发[M].北京:
清华大学出版社.2008.4
[5]成先海.数据库基础与应用-SQLSever2000[M].北京:
机械工业出版社,2008.3
[6]周山夫,黄京莲.数据库应用程序设计[M].北京:
清华大学出版社,2004.9[7]孙瑜.数据库系统基础[M].北京:
人民邮电出版社,2008.10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 长途汽车 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)