聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 公交公司管理系统

公交公司管理系统

时间:2019-11-30 00:09:21    下载该word文档

(本 科)

课程设计说明书

数据库原理

公交公司管理系统

专业班级

指导教师

完成日期





1 序言

由于现行公交信息越来越复杂,公交线路越来越多,站点越来越复杂,为了更好的对公交公司进行管理,我们运用所学的知识设计了公交公司管理系统,该系统可以很好的管理公交公司、车辆、供应商、职工。管理者可以查看车辆出发的时间、起始站、终点站。员工可以查看到自己的工资等基本信息。

整个程序操作简便、灵活、实用,使用人员能够快速简单的进行操作,即时准确的获得公交信息,及时的作出相关信息的调整和修改。对于内部员工的工资也有相应的调整政策,让大部分员工工资较为平均,对于车辆的来源以及数量也有明确的记录,简单明了的统计车辆的数量。



2 需求分析

2.1内容要求

该系统重点是公交公司的人员安排,具体路线的安排,员工的基本信息以及管理员进行具体的管理工作,从而实现管理员管理司机,司机驾驶车辆以及车辆行驶路径的安排,员工工资发放等。

具体过程:

(1) 调查现在的公交公司具体的管理模式,以及是否需要一个数据库来对相应的数据进行管理。

(2) 调查公交公司内部具体有哪些人员和部门,以及各部门人员的信息

(3) 调查内部人员的具体关系,以及各部门的联系,和各个部门的具体工作分配。



3 数据库概念设计

本章主要介绍公交公司管理系统在概念设计阶段的各实体的ER图以及总体的ER图,以便在后期设计能够很好的了解各实体的关系属性等

3.1公交公司管理系统E-R

3-1售票员实体图

3-2公交线路实体图

3-3车辆供应商实体图

3-4车辆实体图

3-5司机实体图

3-6公交公司实体图

3-7公交公司管理系统E-R



4 数据库逻辑设计

在上一章我们已经介绍了公交公司管理系统的各ER图,因此在本章我们将主要说明其关系模式以及表格的设计,以便后期的数据输入

4.1公交公司关系模式(下划线为主码)

供应商表(供应商代码 供应商地址 供应商标)

车辆表(车牌号 尺寸 载客量)

公交公司表(公司代码 公司商标 公司地址)

司机表(姓名 性别 年龄)

售票员表(姓名 性别 年龄)

公交线路表(线路代号 起始站 终点站)

供应表(供应商代码 车牌号 供应量)

公司车辆表(车牌号 公司代码 数量)

公司职员表(公司代码 姓名 工资)

线路控制表(公司代码 线路代号 时间)



5 数据库物理设计

表格的创建可以直接运用sql语句来建立,在本章我们将主要介绍各表格的语句建立以及对其进行数据的输入。

5.1公交公司管理系统建立语句

Create database GJGS

On

(name=’GJGS_dat’,

Filename= 'D:\data\GJGS_dat.mdf')

Create table 供应商表

(Sid varchar(20) primary key,

Sad varchar(20),

Gysb varchar(20)

);

Create table车辆表

(cph varchar(20) primary key,

Size varchar(20),

Zkl int

);

Create table公交公司表

(cid varchar(20) primary key,

Cad varchar(20),

Gssb varchar(20)

);

Create table司机表

(cname varchar(20) primary key,

Csex varchar(20),

Cage varchar(20)

);

Create table售票员表

(bname varchar(20) primary key,

Bsex varchar(20),

Bage varchar(20)

);

Create table公交线路表

(rid varchar(20) primary key,

Qsz varchar(20),

Zdz varchar(20)

);

Create table供应表

(sid varchar(20) primary key,

cph varchar(20) primary key,

snum int

);

Create table公司车辆表

(cph varchar(20) primary key,

cid varchar(20) primary key,

cnum varchar(20)

);

Create table 公司职员表

(cid varchar(20) primary key,

Bname varchar(20) primary key,

Ssla varchar(20)

);

Create table线路控制表

(cid varchar(20) primary key,

Rid varchar(20) primary key,

Ftime int

);

5.2建表结果

5-1供应商表

5-2供应表

5-3公交公司表

5-4公交线路表

5-5公司职员表

5-6公司车辆表

5-7司机表

5-8售票员表

5-9线路控制表

5-10车辆表

6 数据库系统的实现与结果

数据库的建立会形成相应的界面和各表格数据的输入结果,在这一章里我们将主要展示相应的结果图。

6.1数据库界面图

6-1公交公司管理系统总体图

6.2查询语句

(1)查询车牌号为20000车辆的供应商地址

select sad

from 供应商表,供应表,车辆表

where 供应商表.sid=供应表.sid and 车辆表.cph=供应表.cph and 车辆表.cph='20000'

(2)查询名为王刚的售票员工资

select ssla

from 售票员表,公司职员表,公交公司表

where 售票员表.bname=公司职员表.bname and 公交公司表.cid=公司职员表.cid and 售票员表.bname='王刚'

(3)查询车辆由公司号为10001的发车时间

select ftime

from 公交公司表,公交线路表,线路控制表

where 公交公司表.cid=线路控制表.cid and 公交线路表.rid=线路控制表.rid and 公交公司表.cid=10001

(4) 触发器:售票员年龄大于0

create trigger t1 on 售票员表

for insert,update

as

if(select bage from inserted)<1

begin

print’bage must be a integer more than zero! Transaction fail’

rollback transaction

end

insert into 售票员表 values(‘小红,’,-10)

(5) 游标:对工资高于5000的售票员扣除300元,对工资低于4000的售票员奖励300

declare @cid varchar(20),@ssla varchar(20)

declare c1 cursor for select cid,ssla from 公司职员表

open c1

fetch next from c1 into @cid,@ssla

while @@fetch-status=0

begin

if @ssla<4000

update 公司职员表 set ssla=@ssla+300 where cid=@cid

if ssla>5000 set

update 公司职员表 set ssla=@ssla-300 where cid=@cid

fetch next from c1 into @cid,@ssla

end

close c1

deallocate c1

(6) 存储过程:允许以售票员的姓名查询该员工的基本信息

create procedure s1(@xm varchar(20))

as

select distinct *

from 售票员表

where 售票员表.bname=@xm

exec s1’张国荣

(7)内联表值函数:返回公司职员工资

create function GZ(@gs_cid varchar(20))

returns table

as

return (select ssla

from 公交公司表,售票员表,公司职员表

where 公交公司表.cid=公司职员表.cid

and 公司职员表.bname=售票员表.bname and 公交公司表.cid=@gs_cid)

select * from GZ(10001)

(8)标量函数:比较2名职员的工资,返回最大值

create function dbo.max(@a int, @b int)

returns int as

begin

declare @max int

if @a>@b set @max=@a

else set @max=@b

return @max

end

select dbo.max(5000,4800) from 公司职员表



7 实验总结

本次在做公交公司管理系统时遇到了不少的问题,同时也有不小的收获。看了很多书籍,查阅了很多资料,对于SQL SERVER 2000的运用也更加熟练。在设计E-R图时通过查阅资料了解很多需要注意的问题,也学会了使用visio2003.在书写SQL语句时经常出现一些小错误,通过实验,使自己发现并改正了这些错误,对自己以后的SQL语句书写有了很大的提高。

总的来说,这次课程设计不仅提高了我对数据库的理解,还增强了我的动手能力.

免费下载 Word文档免费下载: 公交公司管理系统

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服