您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页Oracle大型数据库出租车管理系统数据表设计

Oracle大型数据库出租车管理系统数据表设计

来源:华佗健康网


大型数据库技术 设计报告

课 题: 出租车驾驶员管理系统数据库设计 姓 名: 学 号: 同组姓名: 专业班级: 网络工程12101班 指导教师: 刘波涛 设计时间: 2015年下学期

指导老师意见:

评定成绩: 签名: 日期:

湖南文理学院Oracle考查

出租车驾驶员管理系统数据库设计

一.课程目的

《大型数据库技术》系统数据库设计是教学活动中的一项重要内

容,是完成教学计划、达到教学目标的重要环节,是教学计划中综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实际动手能力、提高学生全面素质具有很重要的意义。 本实践能帮助学生较好地实现理论与实践的结合。通过大作业环节,可以使学生进一步复习、巩固所学的数据库的基本概念、基本原理、数据库设计的方法与技术等理论,并且吸收教学过程中介绍的管理大型数据库开发实例中的经验,通过一个具体应用实例的亲自设计与开发,借助大作业设计环节及上机操作,帮助学生初步掌握管理大型数据库的开发技术与方法。

二.考核要求

设计步骤的规范不但可以培养学生科学的工作方法和作风,而且

还能有效地减少错误,提高工作效率。因此必须严格执行良好的实验步骤规范(包括上机操作规范)。本次大作业的基本步骤与要求是: 1、问题分析及解决方案框架确定

充分地分析和理解问题本身,弄清要求做什么。在确定解决方案框架过程中确定每个业务对象,以及对象之间的关系等。 2、详细设计和实现

确定数据库的主要结构,在此基础上进行主外键关系设计。

- 1-

湖南文理学院Oracle考查

3、上机前编写程序与检查

上机前对程序和数据检查可有效提高调试效率,减少上机调试程序时的无谓错误。 程序检查主要有两种途径:用一组测试数据手工执行程序;通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。把程序中的明显错误事先排除。 4、上机调试程序 5、 完成大作业设计报告

三.设计内容

要求实现出租车基本信息管理、车辆违章管理、驾驶员管理等功

能,包括出 租车信息的添加、修改、删除及查询;驾驶员信息的添加、修改、删除及查询; 驾驶员违章记录查询功能等。 要求完成以下工作: 1、数据库设计

1) 概念结构设计:在需求分析和总体功能设计的基础上,设计 e-r 模型, 详细描述实体的属性和实体之间的联系。

2) 逻辑结构设计:实现 e-r 图向关系模型的转换,详细列表显示完整的数 据库表结构。 2、创建表空间

在表空间中创建表 在 sql*plus 环境中输入 pl/sql 代码,创建数据库中的各个表,至少包括 驾驶员表、违章表、车辆表等 5 张表(自行设计用到的表,注意表中字段的设置 及类型); 向表中插入数据,每张表至少插入 10 条数据,数据要合理。

- 2-

湖南文理学院Oracle考查

3、索引和完整性

在表上建立相应索引。 实现列、行及参照完整性(必须建立主键、外键、检查约束等)。 4、数据查询和视图

使用 select 语句实现驾驶员信息、违章信息、车辆信息等的查询(要求查 询要和系统的功能联系起来,做单条件的查询、组合条件的查询、多表查询等, 至少完成 10 个查询)。 创建视图统计各个驾驶员的违章情况。 5、存储过程和触发器的使用

创建存储过程实现表中数据的修改和删除。 创建函数统计各个出租车公司的驾驶员数量。 创建触发器实现如下功能:某个驾驶员违章 5 次后吊销驾照。 6、用户、角色

创建用户并授权,将其赋予某个角色成为其成员。 不同的用户授予不同的权限,管理员的权限最高,可以对各种信息进行修改 删除等操作。普通用户只能进行查询操作。 7、系统数据维护

导出数据库数据 导入数据库数据

- 3-

湖南文理学院Oracle考查

四.作业分工

因为本次课程设计是按照小组为单位进行课程设计,且每小组2人,我们从实验内容上来看,总共有7个小点的实验内容,故而我们两个人一人四个小点,一人三个小点,按照如此方法,所以我们在课程作业分工方面做了如下安排:

第一人课程工作:

1.数据库设计 2.索引和完整性

3.存储过程和触发器的使用 4.系统数据维护

该课程工作内容分别对应设计内容部分的第1小点、第3小点、第5小点、第7小点。

第二人课程工作:

1.创建表空间 2.数据查询和视图 3.用户、角色

该课程工作内容分别对应设计内容部分的第2小点、第4小点、第6小点。

- 4-

湖南文理学院Oracle考查

五.详细设计与实现

5.1 系统E-R图

借助实体关系图——E-R模型图,根据上述的需求分析和数据字典,将实际中的概念转换为数据库中定义的实体,找出实体之间的关系,按模块部分画出各个局部的E-R图,最后进行整合为全系统的概念图(如图5-1)。

图5-1 系统E-R图

5.2 数据库表结构

本系统的数据库表包括:

ID,姓名,密码,性别,联系电话,身

(1)驾驶员表含有:驾驶员

份证号,驾驶证号,发证年份,驾龄,年龄,住址等信息,如表5-1

- 5-

湖南文理学院Oracle考查

所示

表5-1 驾驶员表

名 称

数据类型

数据长度

是否可为空 否 否 否 是 是 否 否 是 是 是 是

约束条件 主键

dID dname dpassword gender dtel dNO certNO certyear age dage address

int varchar varchar varchar varchar varchar varchar varchar int int varchar

11 255 255 255 255 255 255 255 11 11 255

(2)出租车辆表含有:车辆ID,车牌号,颜色,入户年份,使用年限,制造商,驾驶员ID,发动机,里程数,年审日期,违章次数等信息,如表5-2所示

表5-2 出租车辆表

名 称

数据类型

数据长度

是否可为空 否 否 是 是 是 是 是 是 是 是

约束条件 主键 外键

cID cNO color ryear lifelimit manufacture dID engine kms audit

int varchar varchar varchar varchar varchar int varchar int varchar

11 255 255 255 255 255 11 255 11 255

- 6-

湖南文理学院Oracle考查

(3)管理员表含有:管理员ID,姓名,密码等信息,如表5-3所示

表5-3 管理员表

名 称

数据类型

数据长度

是否可为空 否 是 是

约束条件 主键

mID mname mpassword

int varchar varchar

11 255 255

(4))车辆违章记录表含有:违章ID,违章车号,违章日期,违章地点,罚款金额,违章原因等信息,如表5-4所示

表5-4 车辆违章记录表

名 称

数据类型

数据长度

是否可为空 否 是 是 是 是 是

约束条件 主键 外键

vID cno vdate vloc vcost vreason

int varchar date varchar int varchar

11 255 0 255 11 255

(5)车辆维修记录表含有:维修ID,维修车号,维修日期,修理厂,维修金额,维修原因等信息,如表5-5所示

表5-5 车辆维修记录表

名 称

数据类型

数据长度

是否可为空 否 是 是 是 是 是

约束条件 主键 外键

fID cno fdate fshop fcost freason

int varchar date varchar int varchar

11 255 0 255 11 255

- 7-

湖南文理学院Oracle考查

六.数据代码

6.1驾驶员表代码

CREATE TABLE Driver( Dname VARCHAR2(255), Dpassword VARCHAR2(255) , gender VARCHAR2(255), dtel VARCHAR2 (255), DNO VARCHAR2(255), certyear VARCHAR2(255),

Driver_ID INT constraints Driver_PK_ID primary key, age INT, Dage INT,

address VARCHAR2(255) );

insert into Driver(Dname,Dpassword,gender,dtel,DNO,certyear,Driver_ID,age,Dage,address) values('赵一',123111,'男',10010,452462198205081000,2008,01,33,7,'北京');

insert into Driver(Dname,Dpassword,gender,dtel,DNO,certyear,Driver_ID,age,Dage,address) values('孙二',123222,'男',10011,452462198205081001,2008,02,33,7,'北京');

insert into Driver(Dname,Dpassword,gender,dtel,DNO,certyear,Driver_ID,age,Dage,address) values('李三',123333,'男',10012,452462198205081002,2008,03,33,7,'北京');

insert into Driver(Dname,Dpassword,gender,dtel,DNO,certyear,Driver_ID,age,Dage,address) values('吴四',123444,'男',10013,452462198205081003,2008,04,33,7,'北京');

insert into Driver(Dname,Dpassword,gender,dtel,DNO,certyear,Driver_ID,age,Dage,address) values('王五',123555,'男',10014,452462198205081004,2008,05,33,7,'北京');

- 8-

湖南文理学院Oracle考查

6.2出租车辆表代码

CREATE TABLE Car(

Car_ID INT constraints Car_PK_ID primary key, Cno VARCHAR2(255), color VARCHAR2(255) ,

ryear VARCHAR2(255), lifelimit VARCHAR2 (255), manufacture VARCHAR2(255), engine VARCHAR2(255), kms INT, Driver_ID INT,

constraints Car_Driver foreign key(Driver_ID) references Driver(Driver_ID) );

insert

Car(Car_ID,Cno,color,ryear,lifelimit,manufacture,engine,kms,Driver_ID) values(20001,'浙A1345','红色',2003,10,'北京','发动机',1000,01); insert

Car(Car_ID,Cno,color,ryear,lifelimit,manufacture,engine,kms,Driver_ID) values(20002,'浙A2345','红色',2003,10,'北京','发动机',2000,02); insert

Car(Car_ID,Cno,color,ryear,lifelimit,manufacture,engine,kms,Driver_ID) values(20003,'浙A3345','红色',2003,10,'北京','发动机',3000,03); insert

Car(Car_ID,Cno,color,ryear,lifelimit,manufacture,engine,kms,Driver_ID) values(20004,'浙A4345','红色',2003,10,'北京','发动机',4000,04); insert

Car(Car_ID,Cno,color,ryear,lifelimit,manufacture,engine,kms,Driver_ID) values(20005,'浙A5345','红色',2003,10,'北京','发动机',5000,05);

- 9-

into

into into into into 湖南文理学院Oracle考查

6.3管理员表代码

CREATE TABLE Manager(

Manager_ID INT constraints Manager_PK_ID primary key,

Mname VARCHAR2(255), Mpassword VARCHAR2(255)

) ;

insert into Manager(Manager_ID,Mname,Mpassword) Values(001,'邓琴琴',123456);

6.4车辆违章记录表代码

CREATE TABLE Vigil(

Vigil_ID INT constraints Vigil_PK_ID primary key,

Vdate DATE,

Vloc VARCHAR2(255), Vcost INT,

Vreason VARCHAR2(255),

Cno VARCHAR2(255) ) ;

insert into Vigil(Vigil_ID,Vdate,vloc,vcost,vreason,Cno) values(111,'03-5月-2015','北京',200,'超速',10001); insert into Vigil(Vigil_ID,Vdate,vloc,vcost,vreason,Cno) values(112,'04-5月-2015','北京',200,'超速',10002); insert into Vigil(Vigil_ID,Vdate,vloc,vcost,vreason,Cno) values(113,'05-5月-2015','北京',200,'超速',10003); insert into Vigil(Vigil_ID,Vdate,vloc,vcost,vreason,Cno) values(114,'06-5月-2015','北京',200,'超速',10004); insert into Vigil(Vigil_ID,Vdate,vloc,vcost,vreason,Cno) values(115,'07-5月-2015','北京',200,'超速',10005);

- 10-

湖南文理学院Oracle考查

insert into Vigil(Vigil_ID,Vdate,vloc,vcost,vreason,Cno) values(116,'08-5月-2015','北京',200,'超速',10006); insert into Vigil(Vigil_ID,Vdate,vloc,vcost,vreason,Cno) values(117,'09-5月-2015','北京',200,'超速',10007); insert into Vigil(Vigil_ID,Vdate,vloc,vcost,vreason,Cno) values(118,'10-5月-2015','北京',200,'超速',10008); insert into Vigil(Vigil_ID,Vdate,vloc,vcost,vreason,Cno) values(119,'11-5月-2015','北京',200,'超速',10009); insert into Vigil(Vigil_ID,Vdate,vloc,vcost,vreason,Cno) values(110,'12-5月-2015','北京',200,'超速',10010);

6.5车辆维修记录表代码

CREATE TABLE fservice(

fservice_ID INT constraints fservice_PK_ID primary key , Cno VARCHAR2(255),

fdate DATE,

fshop VARCHAR2(255), fcost INT,

freason VARCHAR2(255) );

insert into fservice(fservice_ID,Cno,fdate,fshop,fcost,freason) values(11,'浙A2345','11-1月-2015','4s店',410,'爆胎');

insert into fservice(fservice_ID,Cno,fdate,fshop,fcost,freason) values(12,'浙A3345','12-1月-2015','4s店',420,'爆胎');

insert into fservice(fservice_ID,Cno,fdate,fshop,fcost,freason) values(13,'浙A4345','13-1月-2015','4s店',430,'爆胎');

insert into fservice(fservice_ID,Cno,fdate,fshop,fcost,freason) values(14,'浙A5345','14-1月-2015','4s店',440,'爆胎');

insert into fservice(fservice_ID,Cno,fdate,fshop,fcost,freason) values(15,'浙A6345','15-1月-2015','4s店',450,'爆胎');

- 11-

湖南文理学院Oracle考查

insert into fservice(fservice_ID,Cno,fdate,fshop,fcost,freason) values(16,'浙A7345','16-1月-2015','4s店',460,'爆胎');

insert into fservice(fservice_ID,Cno,fdate,fshop,fcost,freason) values(17,'浙A8345','17-1月-2015','4s店',470,'爆胎');

insert into fservice(fservice_ID,Cno,fdate,fshop,fcost,freason) values(18,'浙A9345','18-1月-2015','4s店',490,'爆胎');

insert into fservice(fservice_ID,Cno,fdate,fshop,fcost,freason) values(19,'浙A1045','19-1月-2015','4s店',490,'爆胎');

alter table service modify cno not null;

alter table service add constraint PK_FID_SER primary key(fid);

- 12-

湖南文理学院Oracle考查

七.系统测试

驾驶员表截图:

出租车辆表截图:

- 13-

湖南文理学院Oracle考查

管理员表截图:

车辆违章记录表截图:

- 14-

湖南文理学院Oracle考查

车辆维修记录表截图:

数据库成功导出的截图:

- 15-

湖南文理学院Oracle考查

八.心得体会

这段时间的学习,让我深切体会到了一个完整的管理数据库系统编写的复杂程度和困难程度,从一开始的系统需求分析,到数据库的分析设计和表空间的设计,到最后的系统运行与测试。这个过程中,每一个步骤都很重要,缺一不可。完成了所学理论知识与实际操作的融会贯通,为以后的系统软件设计打下了良好的基础。

当然,由于自身技术能力不足,缺乏实际设计经验,再加上时间有限,本系统还有许多不足的部分。首先,系统的还需进一步美化,以提高用户的操作体验。本系统的管理员表的身份应该再细分,比如可以有财务管理员,人事管理员,车辆管理员,服务管理员等,分工明确,提高工作的效率。并且要增加信息搜索功能,方便更快更准确的查找信息。最后,对于此类系统未来的发展方向,我的设想是,对全地区的出租车的信息进行大数据整合,结合当今兴起的打车软件,迎合智能手机普及的潮流,将出租车管理的信息化提升到一个新的高度。

- 16-

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

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务