当前位置:文档之家› 公交车运营管理系统

公交车运营管理系统

广西大学数据库课程设计题目:公交车运营管理系统专业: 信息管理与信息系统班级: 2011级小组号: 7小组成员:目录第1章需求分析 (1)第2章系统功能结构图 (2)第3章数据库设计 (3)3.1系统ER图 (3)3.2关系模式设计 (3)第4章数据字典 (5)4.1数据项 (5)4.2数据存储条目 (15)第5章数据库实现 (20)5.1数据表 (20)5.2存储过程 (24)5.2.1失物表的增删查改.......................................... 错误!未定义书签。

5.2.2领取表的增删查改.......................................... 错误!未定义书签。

5.2.3领取人表的增删查改...................................... 错误!未定义书签。

5.2.4拾到表增删查改.............................................. 错误!未定义书签。

5.2.5站点表增删查改.............................................. 错误!未定义书签。

5.2.6司机表增删查改.............................................. 错误!未定义书签。

5.2.7投诉表增删查改.............................................. 错误!未定义书签。

5.2.8驾驶表增删查改.............................................. 错误!未定义书签。

5.2.9收到表增删查改.............................................. 错误!未定义书签。

5.2.10公交车表增删查改........................................ 错误!未定义书签。

5.2.11行驶表增删查改 ............................................ 错误!未定义书签。

5.2.12客户表增删查改............................................ 错误!未定义书签。

5.2.13租用表增删查改............................................ 错误!未定义书签。

5.2.14修理厂表增删查改........................................ 错误!未定义书签。

5.2.15修理表增删查改............................................ 错误!未定义书签。

5.2.16统计及触发器................................................ 错误!未定义书签。

5.2.17 数据备份 (93)第6章心得体会 (95)参考文献 (96)第1章需求分析公交车公司是一个非盈利的组织,它在一个城市的市内工作,为城市的公民提供公交服务。

公交车公司保存着市内各公交路线的信息,包括起点,终点,经过的各个站点,备注等。

其中的路线与城市的规划建设相结合,为城市居民提供最好的交通服务,努力建设最便利的交通。

与路线信息巷结合的自然有相应的公交车信息,记录开车的司机号、车牌号,所运行的路线、票价、运营时间等。

公交车公司保存每位司机的有关数据,包括姓名、出生年月、电话号码,地址,司机号等。

对于司机同时记录驾驶过程产生的相关信息,主要有上班时间,下班时间,司机当天运营收入,还有当天日期。

除了提供交通方面的便利,公交车公司还积极响应以人为本的指导思想,因而制定了相关的服务,包括失物招领,记录失物的具体信息,有领取是否信息,如果被领取,记录领取人的信息,包括姓名,证件号码,领取时间,电话号码; 没有被领取的记录好发现物品的时间,相应的车次,当天拾到的顺序号,失物内容,拾到的时间。

除了做到这一点,为了不断提高自身的服务质量,加强对职工的管理,应该不断的从广大人民群众中汲取意见,充实自我,公司好开设了投诉建议专栏,包括时间,投诉建议类型,改进办法。

公交车在市内行驶,经过站点,产生路线号,运营时间,票价等信息,公司做好相应的记录。

对于站点,主要有站点号,站点名。

对于上班一族,学生族等,因其每天有坐公交车的需要,为了更好的服务人民,公司特别的开设了公交卡服务,其可以到公交车公司总部,买卡充值一定的金额,这样不必为每天准备零钱烦恼,只要在坐车的时候,刷卡,简单方便,是每天坐公交车人员的首选。

公交车收入包括包车收入和司机运营收入(包括公交卡消费记录)。

除此之外,为了提高收益,更加好地服务人民,公司的车可以包车,对于包车,我们收取一定的费用。

包车记录相应的客户信息,有姓名,人数,电话号码。

在包车的过程中,产生的日期,收入一并记录。

汽车的维护只要在公司下属修理厂,每个修理厂有它的编号,地址信息。

同时也记录汽车修理的时候产生的修理费用,修理维护的内容,日期。

第2章系统功能结构图图2-1是此系统的功能结构图。

图2-1 系统功能结构图第3章数据库设计3.1系统ER图图3-1为系统ER图图3-1公交车信息管理系统E-R图3.2关系模式设计根据ER图,得到的关系模式如下:(下划线是主键,波浪线是外键)司机(司机号,出生年月,地址,电话号码)投诉建议(顺序号,投诉内容,改进方式,改进状态)失物(失物号,失物特征,领取状态)领取人(证件号,姓名,电话号码)公交车(车牌号,购入时间,型号)站点(站点号,站点名)客户(姓名,电话号码,人数)修理厂(编号,地址)收到(顺序号,司机号,投诉内容,日期)拾到(司机号,失物号,失物特征,拾到日期时间)领取(失物号,证件号,领取时间)驾驶(司机号,车牌号,上班时间,下班时间,司机收入,日期)行驶(车牌号,站点号,路线号,运营开始时间,运营结束时间,票价)租用(车牌号,姓名,日期,包车收入)修理(车牌号,修理编号,费用,维护类型)第4章数据字典4.1数据项4.2数据存储条目以下是此系统的数据存储条目:第5章数据库实现5.1数据表系统定义的数据表见表5.1-5.15表5.1 司机表表5.2 驾驶表表5.3 公交车表表5.4 投诉建议表表5.5 收到表表5.6 失物表表5.7 拾到表表5.8 领取人表表5.9 领取表表5.10 站点表表5.11 行驶信息表表5.12 客户表表5.13租用表表5.14 修理厂表表5.15 修理表5.2存储过程/****************************************************************** * 表名:sysdiagrams* 时间:2015/1/4 23:53:15* Made by Codematic******************************************************************/if exists (select * from dbo.sysobjects where id = object_id(N'[sysdiagrams_GetMaxId]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [sysdiagrams_GetMaxId]GO--------------------------------------用途:得到主键字段最大值--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE sysdiagrams_GetMaxIdASDECLARE @TempID intSELECT @TempID = max([principal_id])+1 FROM [sysdiagrams]IF @TempID IS NULLRETURN 1ELSERETURN @TempIDGOif exists (select * from dbo.sysobjects where id = object_id(N'[sysdiagrams_Exists]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [sysdiagrams_Exists]GO--------------------------------------用途:是否已经存在--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE sysdiagrams_Exists@name nvarchar(128),@principal_id int,@diagram_id intASDECLARE @TempID intSELECT @TempID = count(1) FROM [sysdiagrams] WHERE name=@name and principal_id=@principal_id and diagram_id=@diagram_idIF @TempID = 0RETURN 0ELSERETURN 1GOif exists (select * from dbo.sysobjects where id = object_id(N'[sysdiagrams_ADD]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [sysdiagrams_ADD]GO--------------------------------------用途:增加一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE sysdiagrams_ADD@name nvarchar(128),@principal_id int,@diagram_id int output,@version int,@definition varbinary(MAX)ASINSERT INTO [sysdiagrams]([name],[principal_id],[version],[definition])V ALUES(@name,@principal_id,@version,@definition)SET @diagram_id = @@IDENTITYGOif exists (select * from dbo.sysobjects where id = object_id(N'[sysdiagrams_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [sysdiagrams_Update]GO--------------------------------------用途:修改一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE sysdiagrams_Update@name nvarchar(128),@principal_id int,@diagram_id int,@version int,@definition varbinary(MAX)ASUPDATE [sysdiagrams] SET[version] = @version,[definition] = @definitionWHERE name=@name and principal_id=@principal_id and diagram_id=@diagram_idGOif exists (select * from dbo.sysobjects where id = object_id(N'[sysdiagrams_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [sysdiagrams_Delete]GO--------------------------------------用途:删除一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE sysdiagrams_Delete@name nvarchar(128),@principal_id int,@diagram_id intASDELETE [sysdiagrams]WHERE name=@name and principal_id=@principal_id and diagram_id=@diagram_idGOif exists (select * from dbo.sysobjects where id = object_id(N'[sysdiagrams_GetModel]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [sysdiagrams_GetModel]GO--------------------------------------用途:得到实体对象的详细信息--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE sysdiagrams_GetModel@name nvarchar(128),@principal_id int,@diagram_id intASSELECTname,principal_id,diagram_id,version,definitionFROM [sysdiagrams]WHERE name=@name and principal_id=@principal_id and diagram_id=@diagram_idGOif exists (select * from dbo.sysobjects where id = object_id(N'[sysdiagrams_GetList]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [sysdiagrams_GetList]GO--------------------------------------用途:查询记录信息--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE sysdiagrams_GetListASSELECTname,principal_id,diagram_id,version,definitionFROM [sysdiagrams]GO/******************************************************************* 表名:公交车* 时间:2015/1/4 23:53:15* Made by Codematic******************************************************************/if exists (select * from dbo.sysobjects where id = object_id(N'[公交车_Exists]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [公交车_Exists]GO--------------------------------------用途:是否已经存在--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 公交车_Exists@Cno char(5)ASDECLARE @TempID intSELECT @TempID = count(1) FROM [公交车] WHERE Cno=@CnoIF @TempID = 0RETURN 0ELSERETURN 1GOif exists (select * from dbo.sysobjects where id = object_id(N'[公交车_ADD]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [公交车_ADD]GO--------------------------------------用途:增加一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 公交车_ADD@Cno char(5),@Buydate date,@Ctype varchar(10)ASINSERT INTO [公交车]([Cno],[Buydate],[Ctype])V ALUES(@Cno,@Buydate,@Ctype)GOif exists (select * from dbo.sysobjects where id = object_id(N'[公交车_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [公交车_Update]GO--------------------------------------用途:修改一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 公交车_Update@Cno char(5),@Buydate date,@Ctype varchar(10)ASUPDATE [公交车] SET[Buydate] = @Buydate,[Ctype] = @CtypeWHERE Cno=@CnoGOif exists (select * from dbo.sysobjects where id = object_id(N'[公交车_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [公交车_Delete]GO--------------------------------------用途:删除一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 公交车_Delete@Cno char(5)ASDELETE [公交车]WHERE Cno=@CnoGOif exists (select * from dbo.sysobjects where id = object_id(N'[公交车_GetModel]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [公交车_GetModel]GO--------------------------------------用途:得到实体对象的详细信息--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 公交车_GetModel@Cno char(5)ASSELECTCno,Buydate,CtypeFROM [公交车]WHERE Cno=@CnoGOif exists (select * from dbo.sysobjects where id = object_id(N'[公交车_GetList]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [公交车_GetList]GO--------------------------------------用途:查询记录信息--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 公交车_GetListASSELECTCno,Buydate,CtypeFROM [公交车]GO/******************************************************************* 表名:驾驶* 时间:2015/1/4 23:53:15* Made by Codematic******************************************************************/if exists (select * from dbo.sysobjects where id = object_id(N'[驾驶_Exists]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [驾驶_Exists]GO--------------------------------------用途:是否已经存在--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 驾驶_ExistsASDECLARE @TempID intSELECT @TempID = count(1) FROM [驾驶] WHEREIF @TempID = 0RETURN 0ELSERETURN 1GOif exists (select * from dbo.sysobjects where id = object_id(N'[驾驶_ADD]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [驾驶_ADD]GO--------------------------------------用途:增加一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 驾驶_ADD@Dno char(5),@Cno char(5),@Begintime time,@Overtime time,@Income money,@Indate dateASINSERT INTO [驾驶]([Dno],[Cno],[Begintime],[Overtime],[Income],[Indate])V ALUES(@Dno,@Cno,@Begintime,@Overtime,@Income,@Indate)GOif exists (select * from dbo.sysobjects where id = object_id(N'[驾驶_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [驾驶_Update]GO--------------------------------------用途:修改一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 驾驶_Update@Dno char(5),@Cno char(5),@Begintime time,@Overtime time,@Income money,@Indate dateASUPDATE [驾驶] SET[Dno] = @Dno,[Cno] = @Cno,[Begintime] = @Begintime,[Overtime] = @Overtime,[Income] = @Income,[Indate] = @IndateWHEREGOif exists (select * from dbo.sysobjects where id = object_id(N'[驾驶_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [驾驶_Delete]GO--------------------------------------用途:删除一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 驾驶_DeleteASDELETE [驾驶]WHEREGOif exists (select * from dbo.sysobjects where id = object_id(N'[驾驶_GetModel]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [驾驶_GetModel]GO--------------------------------------用途:得到实体对象的详细信息--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 驾驶_GetModelASSELECTDno,Cno,Begintime,Overtime,Income,IndateFROM [驾驶]WHEREGOif exists (select * from dbo.sysobjects where id = object_id(N'[驾驶_GetList]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [驾驶_GetList]GO--------------------------------------用途:查询记录信息--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 驾驶_GetListASSELECTDno,Cno,Begintime,Overtime,Income,IndateFROM [驾驶]GO/******************************************************************* 表名:客户* 时间:2015/1/4 23:53:15* Made by Codematic******************************************************************/if exists (select * from dbo.sysobjects where id = object_id(N'[客户_Exists]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [客户_Exists]GO--------------------------------------用途:是否已经存在--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 客户_Exists@Cname varchar(8)ASDECLARE @TempID intSELECT @TempID = count(1) FROM [客户] WHERE Cname=@CnameIF @TempID = 0RETURN 0ELSERETURN 1GOif exists (select * from dbo.sysobjects where id = object_id(N'[客户_ADD]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [客户_ADD]GO--------------------------------------用途:增加一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 客户_ADD@Cname varchar(8),@Cphone char(11),@Cnum intASINSERT INTO [客户]([Cname],[Cphone],[Cnum])V ALUES(@Cname,@Cphone,@Cnum)GOif exists (select * from dbo.sysobjects where id = object_id(N'[客户_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [客户_Update]GO--------------------------------------用途:修改一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 客户_Update@Cname varchar(8),@Cphone char(11),@Cnum intASUPDATE [客户] SET[Cphone] = @Cphone,[Cnum] = @CnumWHERE Cname=@CnameGOif exists (select * from dbo.sysobjects where id = object_id(N'[客户_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [客户_Delete]GO--------------------------------------用途:删除一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 客户_Delete@Cname varchar(8)ASDELETE [客户]WHERE Cname=@CnameGOif exists (select * from dbo.sysobjects where id = object_id(N'[客户_GetModel]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [客户_GetModel]GO--------------------------------------用途:得到实体对象的详细信息--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 客户_GetModel@Cname varchar(8)ASSELECTCname,Cphone,CnumFROM [客户]WHERE Cname=@CnameGOif exists (select * from dbo.sysobjects where id = object_id(N'[客户_GetList]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [客户_GetList]GO--------------------------------------用途:查询记录信息--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 客户_GetListASSELECTCname,Cphone,CnumFROM [客户]GO/******************************************************************* 表名:领取* 时间:2015/1/4 23:53:15* Made by Codematic******************************************************************/if exists (select * from dbo.sysobjects where id = object_id(N'[领取_Exists]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [领取_Exists]GO--------------------------------------用途:是否已经存在--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 领取_ExistsASDECLARE @TempID intSELECT @TempID = count(1) FROM [领取] WHEREIF @TempID = 0RETURN 0ELSERETURN 1GOif exists (select * from dbo.sysobjects where id = object_id(N'[领取_ADD]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [领取_ADD]GO--------------------------------------用途:增加一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 领取_ADD@Cardno char(50),@Lno char(10),@Fetime datetimeASINSERT INTO [领取]([Cardno],[Lno],[Fetime])V ALUES(@Cardno,@Lno,@Fetime)GOif exists (select * from dbo.sysobjects where id = object_id(N'[领取_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [领取_Update]GO--------------------------------------用途:修改一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 领取_Update@Cardno char(50),@Lno char(10),@Fetime datetimeASUPDATE [领取] SET[Cardno] = @Cardno,[Lno] = @Lno,[Fetime] = @FetimeWHEREGOif exists (select * from dbo.sysobjects where id = object_id(N'[领取_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [领取_Delete]GO--------------------------------------用途:删除一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 领取_DeleteASDELETE [领取]WHEREGOif exists (select * from dbo.sysobjects where id = object_id(N'[领取_GetModel]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [领取_GetModel]GO--------------------------------------用途:得到实体对象的详细信息--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 领取_GetModelASSELECTCardno,Lno,FetimeFROM [领取]WHEREGOif exists (select * from dbo.sysobjects where id = object_id(N'[领取_GetList]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [领取_GetList]GO--------------------------------------用途:查询记录信息--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 领取_GetListASSELECTCardno,Lno,FetimeFROM [领取]GO/******************************************************************* 表名:领取人* 时间:2015/1/4 23:53:15* Made by Codematic******************************************************************/if exists (select * from dbo.sysobjects where id = object_id(N'[领取人_Exists]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [领取人_Exists]GO--------------------------------------用途:是否已经存在--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 领取人_Exists@Cardno char(18)ASDECLARE @TempID intSELECT @TempID = count(1) FROM [领取人] WHERE Cardno=@CardnoIF @TempID = 0RETURN 0ELSERETURN 1GOif exists (select * from dbo.sysobjects where id = object_id(N'[领取人_ADD]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [领取人_ADD]GO--------------------------------------用途:增加一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 领取人_ADD@Cardno char(18),@Fename varchar(4),@Fephone char(11)ASINSERT INTO [领取人]([Cardno],[Fename],[Fephone])V ALUES(@Cardno,@Fename,@Fephone)GOif exists (select * from dbo.sysobjects where id = object_id(N'[领取人_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [领取人_Update]GO--------------------------------------用途:修改一条记录--项目名称:--说明:--时间:2015/1/4 23:53:15------------------------------------CREATE PROCEDURE 领取人_Update@Cardno char(18),@Fename varchar(4),@Fephone char(11)ASUPDATE [领取人] SET[Fename] = @Fename,[Fephone] = @FephoneWHERE Cardno=@CardnoGOif exists (select * from dbo.sysobjects where id = object_id(N'[领取人_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [领取人_Delete]。

相关主题