数据库课程设计—某自来水公司收费系统.doc

上传人:wj 文档编号:82510 上传时间:2022-10-02 格式:DOC 页数:20 大小:2.91MB
下载 相关 举报
数据库课程设计—某自来水公司收费系统.doc_第1页
第1页 / 共20页
数据库课程设计—某自来水公司收费系统.doc_第2页
第2页 / 共20页
数据库课程设计—某自来水公司收费系统.doc_第3页
第3页 / 共20页
数据库课程设计—某自来水公司收费系统.doc_第4页
第4页 / 共20页
数据库课程设计—某自来水公司收费系统.doc_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

数据库课程设计—某自来水公司收费系统.doc

《数据库课程设计—某自来水公司收费系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计—某自来水公司收费系统.doc(20页珍藏版)》请在冰豆网上搜索。

数据库课程设计—某自来水公司收费系统.doc

数据库课程设计—某自来水公司收费系统

LT

某自来水公司收费管理系统

目录:

1.问题描述

2.需求分析

2.1需求分析

2.2系统功能结构

2.3数据流图

3.逻辑结构设计

3.1局部E—R图

3.2全局E—R图

3.3数据字典

4.物理结构设计

5.代码

6.小结

1.问题描述(某自来水公司收费管理系统)

l实现客户信息、用水类型(类别号、类别名、水价)及业务员管理;

l实现客户用电信息管理(客户号、月份、用水类别号、用水量);

l实现客户费用管理(客户号、月份、费用、收费标志),收费标志的默认值为‘未收’;

实现收费登记(客户、月份、应收费用、实收费用、业务员),并自动修改收费标志(用触发器实现);

l创建触发器,实现收费时自动更加应收费用和实收费用,计算本次结余,然后修改客户信息表中的结余金额;

l创建存储过程统计指定月份应收费用和实收费用;

l创建存储过程查询指定月份未交费的用户信息,以便崔费;

l创建规则使得月份符合格式“××××年××月”,并邦定到表中相应字段;

l建立表间关系。

2.需求分析

2.1需求分析

随着人们生活水平的提高,传统的人工记录已经跟不上时代的发展,信息化的世界即将覆盖人们生活的点点滴滴。

针对各地供水公司的水费缴费在状况,设计了能够符合适应大多数城市的水费缴费系统,采用了分布式管理的模式,能够实现数据管理以及日常维护任务,

3.2全局E-R图

3.3数据字典

名字:

客户

描述:

自来水公司的客户,使用者

定义:

客户=客户号+客户名+地址+联系方式

名字:

员工

描述:

负责收缴客户的水费

定义:

员工=员工号+员工名+联系方式+性别

名字:

用水类型

描述:

不同用途的水价不同

定义:

用水类型=类型号+类型名+水价

名字:

客户用水信息

描述:

每一位客户的具体信息

定义:

客户用水信息=客户号+月份+类型号+用水量

名字:

客户费用管理

描述:

每一个客户费用的具体信息

定义:

客户费用管理=费用编号+费用+收费标志

名字:

收费登记

描述:

每一位用户收费的具体信息

定义:

收费登记=收费编号+月份+实收费用+应收费用

4.物理结构设计

(1)图:

(2)表格清单

(1)客户表

字段名

数据类型

可否为空

键引用

备注

客户号

Number(8)

主键

客户号

客户名

Char(20)

客户名

地址

varchar2(50)

地址

联系方式

number(11)

联系方式

(2)用水类型表

字段名

数据类型

可否为空

键引用

备注

类型号

number(4)

主键

类型号

类型名

char(20)

类型名

水价

char(10)

水价

(3)员工表

字段名

数据类型

可否为空

键引用

备注

员工号

Number(8)

主键

员工号

员工名

Char(20)

员工名

性别

char(10)

性别

联系方式

number(11)

联系方式

(4)客户用水信息表

字段名

数据类型

可否为空

键引用

备注

客户号

Number(8)

主键/外键

客户号

类型号

number(4)

主键/外键

类型号

月份

char(20)

主键

月份

用水量

char(10)

用水量

(5)客户费用管理

字段名

数据类型

可否为空

键引用

备注

费用编号

Number(4)

主键

费用编号

费用

number(4)

费用

收费标志

char(20)

收费标志

(6)收费登记

字段名

数据类型

可否为空

键引用

备注

收费编号

Number(4)

主键

收费编号

月份

char(20)

主键

月份

应收费用

Char(10)

外键

所属专业

实收费用

Char(10)

外键

所属学院

5.代码

1.客户表

createtable客户表(

客户号number(8)constraintp_cprimarykey,

客户名char(20),

地址varchar2(50),

联系方式number(11));

插入数据:

insertinto插入数据:

insertinto客户表

values(20130001,'张三','东北林业大学',00001);

insertinto客户表

values(20130002,'张三','东北林业大学',00002);

insertinto客户表

values(20130003,'小红','东北林业大学',00003);

insertinto客户表

values(20130004,'小明','东北林业大学',00004);

2.用水类型

createtable用水类型(

类型号number(4)constraintp_wprimarykey,

类型名char(20),

水价char(10));

插入数据:

insertinto用水类型values(01,'学校','0.5');

insertinto用水类型values(02,'个人','1.0');

insertinto用水类型values(03,'商店','2.0');

insertinto用水类型values(04,'食堂','1.5');

3.员工表

createtable员工表(

员工号number(10)constraintp_sprimarykey,

员工名char(20),

性别char(10),

联系方式number(11));

插入数据:

insertinto员工表values(0001,'小白','男',04510001);

insertinto员工表values(0002,'小白','女',04510002);

insertinto员工表values(0003,'小兰','女',04510003);

insertinto员工表values(0004,'小黑','男',04510004);

4.客户用水信息

createtable客户用水信息(

客户号number(8)constraintfk_c1references客户表(客户号),

类型号number(4)constraintfk_w1references用水类型(类型号),

月份char(20),

用水量char(10),

primarykey(客户号,类型号,月份));

5.客户费用管理

createtable客户费用管理(

费用编号number(4)primarykey,

费用number(4),

收费标志char(20)default('未收')

);

6.收费登记

createtable收费登记(

收费编号number(4)primarykey,

月份char(20),

应收费用char(10),

实收费用char(10)

);

触发器1:

计算收费

createorreplacetrigger

count

before

insertorupdateordelete

on收费登记foreachrow

begin

ifinsertingorupdating

then:

new.结余费用=:

new.实收费用-:

new.应收费用;

endif;

end;

触发器2:

未收标志

createtriggerchange1

before

updateon客户费用管理

begin

update客户费用管理set收费标志='未收';

end;

触发器3:

计算结余费用

createorreplacetriggerJYcharge

Before

updateon收费登记foreachrow

begin

insertintoJYcharge(实收费用,应收费用,JYcharge)

values(:

old.实收用,:

old.应收费用,:

old.实收费用-:

old.应收费用);

end;

过程函数1:

统计应收费用和实收费用

CREATEORREPLACEPROCEDURETJ

as

begin

executeimmediate'createtableJYcharge(应收费用number(10),实

收费用number(10))';

executeimmediate'insertintocony_emp

values(:

old.应收费用,:

old.实收费用)';

commit;

endTJ;

/

过程函数2.未交费

createorreplaceprocedureWJF(Fnooutnumber)

is

begin

select收费编号into费用编号from收费登记

where收费登记.实收费用=0and收费编号=费用编号;

endWJF;

6.小结

通过本次实习,我更加了解了利用数据库设计系统的流程,此次实习综合运用了《数据库系统原理》的理论知识和技能,深入理解《数据库系统原理》相关的理论知识,有了初步分析实际问题的能力。

初步掌握了用《数据库系统原理》的知识设计计算机应用课题的思想和方法。

虽然我自己还不能很熟悉的完成整个系统的设计,但是这使我对这门课程有了更深入的理解,在今后的学习中我会加强理论与实践的结合,争取做到可以独立完成设计!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1