《数据库长途汽车管理系统(共20页).doc》由会员分享,可在线阅读,更多相关《数据库长途汽车管理系统(共20页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 长途汽车管理系统1、课程设计的目的 (1)通过课程设计加深对数据库基础及应用课程相关知识的理解,培养运用所学理论知识和操作技能分析,解决实际系统问题的能力。 (2)掌握用数据库理论设计实际系统的思想和方法。 (3)培养调查研究、查阅技术文件的能力。2、系统功能分析与设计 (1)根据长途汽车管理系统,设计出如图1所示功能模块图长途汽车管理信息系统报表统计数据处理数据查询线路信息查询汽车信息查询车票信息查询统计线路信息统计汽车信息统计车票信息车票信息维护汽车信息维护线路信息维护 图1 系统功能模块图 (2)对各模块功能进行描述: 线路模块:用来管理汽车线路号、出发地、目
2、的地、出发时间、所需时间。 汽车模块:用来管理汽车汽车编号、汽车的种类及相应的票价、最大载客量、剩余座位数。 车票模块:用来管理汽车车票编号、售票情况、查询、打印。 乘客模式:用来管理汽车乘客出发地 、出发地、目的地。线路汽车车票输入线路信息各种查询输入输入管理员各种报表票价信息汽车信息输入线路信息输入汽车信息 图2 设计思路3、数据库设计 (1)概念设计 经分析,本系统各实体及其属性的E-R图如下: 图3 车票信息表 图4 线路信息表汽车种类 汽车 汽车编号最大载客量 图 5 汽车基本信息表乘客 出发时间出发地目的地 图 6 乘客信息表 各实体间关系的e-r图如下:出发时间目的地线路编号出发
3、地所需时间售票情况车票编号 票价 线路 车票 1行驶 n供应 1售票 n 1 1乘车乘客 汽车种类 汽车 n 1汽车编号出发时间出发地最大载客量目的地 图7 E-R图 (2)逻辑设计 由E-R图转换成关系模式: 数据库中包含4个表,汽车基本信息表、线路信息表、车票信息表和乘客信息表。汽车基本信息表(汽车编号,汽车种类,最大载客量,线路号) 线路信息表(线路号,出发地,目的地,出发时间,所需时间 ) 车票信息表(车票编号,售票情况,票价)乘客信息表(出发时间,出发地,目的地 ) (3)物理设计 逻辑设计相对应的表格 表1 线路信息表属性名数据类型宽度说明线路号char10主码出发地char10目
4、的地char10出发时间char10所需时间int 表2 汽车基本信息表列名数据类型宽度说明汽车编号 char10主码汽车种类char10最大载客量int线路号char10 表3 车票信息表属性名数据类型宽度说明车票编号char10主码售票情况char10票价int线路号char10 表4 乘客信息表 属性名数据类型宽度说明汽车编号char10主码出发地char10目的地char10线路号char10出发时间char10 创建索引 在汽车基本信息表为汽车票号建立唯一索引。在线路信息表为线路号建立唯一索引。在车票信息表为车票编号建立唯一索引。在乘客信息表为出发时间建立唯一索引。 建立视图 为汽车
5、基本信息表创建视图。为线路信息表创建视图。为车票信息表创建视图。为乘客信息表创建视图。4、给出系统开发运行环境 (1)硬件 处理器英特尔 第二代酷睿 i3-2365M 1.40GHz 双核 主硬盘希捷 ST500LM012 HN-M500MBB ( 500 GB / 5400 转/分 ) 显示器京东方 BOE05C2 ( 14 英寸 ) (2)软件 Microsoft SQL Server 2005 5、创建各类数据库对象 (1)数据库 CREATE DATABASE changtuqiche ON (NAME=changtuqiche_data, FILENAME=c:logchangtuq
6、iche_data.mdf, SIZE=10MB, MAXSIZE=300MB, FILEGROWTH=10%) LOG ON (NAME=changtuqiche_log, FILENAME=c:logchangtuqiche_data.ldf, SIZE=5MB, MAXSIZE=200MB, FILEGROWTH=2MB) 图8 创建数据库 (2)表 CREATE TABLE 汽车基本信息表 (汽车编号 CHAR(10) PRIMARY KEY, 汽车种类 CHAR(10), 最大载客量 INT, 线路号 CHAR(10) 图9 创建汽车基本信息表 CREATE TABLE 车票信息表
7、( 车票编号 CHAR(10) PRIMARY KEY, 售票情况 CHAR(10), 票价 INT, 线路号 CHAR(10) 图10 创建车票信息表 CREATE TABLE线路信息表 (线路号 CHAR(10) PRIMARY KEY, 出发地 CHAR(10), 目的地 CHAR(10), 出发时间 CHAR(10), 所需时间 INT) 图11 创建线路信息表 CREATE TABLE 乘客信息表 ( 汽车编号 CHAR(10) PRIMARY KEY, 线路号 CHAR(10), 出发地 CHAR(10), 目的地 CHAR(10), 出发时间 CHAR(10) 图12 创建乘客信
8、息表 (3)索引 CREATE UNIQUE INDEX im_in ON 汽车基本信息表(汽车编号) 图13 为汽车基本信息表创建索引 CREATE UNIQUE INDEX ik_il ON 线路信息表(线路号) 图14 为线路信息表创建索引 CREATE UNIQUE INDEX id_ix ON 车票信息表(车票编号) 图15 为车票信息表创建索引 CREATE UNIQUE INDEX ih_ig ON 乘客信息表(汽车编号) 图16 为乘客信息表创建索引 (4)视图 CREATE VIEW view_1 AS select 汽车编号,汽车种类,最大载客量,线路号 from 汽车基本
9、信息表 图17 为汽车基本信息表创建视图 CREATE VIEW view_2 AS select 线路号,出发地,目的地,出发时间,所需时间 from 线路信息表 图18 为线路信息表创建视图 CREATE VIEW view_3 AS select 车票编号,售票情况,票价,线路号 from 车票信息表 图19 为车票信息表创建视图 CREATE VIEW view_4 AS select 出发时间,出发地,目的地,汽车编号,线路号 from 乘客信息表 图20 为乘客信息表创建视图6、录入数据 INSERT INTO 车票信息表 VALUES(,拥挤,85,101) INSERT INT
10、O 车票信息表 VALUES (,良好,90,102) INSERT INTO 车票信息表 VALUES (,稀疏,110,103) INSERT INTO 车票信息表 VALUES (,拥挤,109,104) INSERT INTO 车票信息表 VALUES (,拥挤,120,105) INSERT INTO 车票信息表 VALUES (,良好,160,106) INSERT INTO 汽车基本信息表 VALUES (1,A,35,101) INSERT INTO 汽车基本信息表 VALUES (2,B,50,102) INSERT INTO 汽车基本信息表 VALUES (3,C,45,1
11、03) 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,抚州市,南昌
12、市,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 I
13、NTO 乘客信息表 VALUES(15:28,鄱阳县,南昌市,3,103)7、设计存储过程和触发器 (1)创建存储过程 create proc proc_zg as select 车票编号,票价 from 车票信息表 where 线路号=103 图21 创建存储过程 (2)创建触发器 create trigger insert_qi on 车票信息表 after insert as select * from 车票信息表 insert into 车票信息表(车票编号,票价) Values(,80) 图22 车票信息表创建触发器 create trigger insert_che on 汽车基本
14、信息表 after insert as select * from 汽车基本信息表 insert into 汽车基本信息表(汽车编号,线路号)Values(1,101) 图 23 汽车基本信息表建触发器 create trigger insert_xian on 线路信息表 after insert as select * from 线路信息表 insert into 线路信息表(线路号,所需时间)Values(106,5) 图 24 线路信息表建触发器 create trigger insert_cheng on 乘客信息表 after insert as select * from 乘客信
15、息表 insert into 线路信息表(出发时间,线路号) Values(10:23,102) 图25 乘客信息表建触发器8. 课程设计总结 通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。几天的数据库课程设计很快就结束了,在这短暂的几天的的时间里,发现自己学会了很多课外的东西,特别是和同学们一起讨论分析,以及复习了我们所学过的相关数据库知识,进一步了解了数据库的实践应用过程,增强了课外的动手实践能力。9. 参考文献 1.SQL Server 2000中文版基础教程M.北京:.2005.5 2 SQL Server 2000数据库管理与开发大全M.2004.12 3(美)西尔伯沙茨.数据库系统概念M.机械工业出版社.2012.5 4徐孝凯,贺桂英.数据库基础与SQL Server应用开发M.北京:清华大学出版社.2008.4 5 成先海.数据库基础与应用-SQL Sever 2000M.北京:机械工业出版社,2008.3 6周山夫,黄京莲.数据库应用程序设计 M. 北京:清华大学出版社,2004.9 7孙瑜.数据库系统基础 M. 北京:人民邮电出版社,2008.10专心-专注-专业