数据库课程设计某自来水公司收费系统Word文档格式.doc
《数据库课程设计某自来水公司收费系统Word文档格式.doc》由会员分享,可在线阅读,更多相关《数据库课程设计某自来水公司收费系统Word文档格式.doc(15页珍藏版)》请在冰点文库上搜索。
×
年×
月”,并邦定到表中相应字段;
l建立表间关系。
随着人们生活水平的提高,传统的人工记录已经跟不上时代的发展,信息化的世界即将覆盖人们生活的点点滴滴。
针对各地供水公司的水费缴费在状况,设计了能够符合适应大多数城市的水费缴费系统,采用了分布式管理的模式,能够实现数据管理以及日常维护任务,具有较好的安全性稳定性适应性,为实现水费缴费提供技术及业务指导。
此自来水公司收费管理系统,遵循了科学高效/循序渐进/规划清晰的原则,能够最大程度的减少营销信息化建设所遇到的风险问题。
3.逻辑设计结构
3.1局部E-R图
3.2全局E-R图
名字:
客户
描述:
自来水公司的客户,使用者
定义:
客户=客户号+客户名+地址+联系方式
员工
负责收缴客户的水费
员工=员工号+员工名+联系方式+性别
用水类型
不同用途的水价不同
用水类型=类型号+类型名+水价
客户用水信息
每一位客户的具体信息
客户用水信息=客户号+月份+类型号+用水量
客户费用管理
每一个客户费用的具体信息
客户费用管理=费用编号+费用+收费标志
收费登记
每一位用户收费的具体信息
收费登记=收费编号+月份+实收费用+应收费用
(1)图:
(2)表格清单
(1)客户表
字段名
数据类型
可否为空
键引用
备注
客户号
Number(8)
否
主键
客户名
Char(20)
地址
varchar2(50)
联系方式
number(11)
(2)用水类型表
类型号
number(4)
类型名
char(20)
水价
char(10)
(3)员工表
员工号
员工名
性别
(4)客户用水信息表
主键/外键
月份
用水量
(5)客户费用管理
费用编号
Number(4)
费用
收费标志
(6)收费登记
收费编号
应收费用
Char(10)
外键
所属专业
实收费用
所属学院
5.代码
1.客户表
createtable客户表(
客户号number(8)constraintp_cprimarykey,
客户名char(20),
地址varchar2(50),
联系方式number(11));
插入数据:
insertinto插入数据:
insertinto客户表
values(20130001,'
张三'
'
东北林业大学'
00001);
values(20130002,'
00002);
values(20130003,'
小红'
00003);
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),
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(10),
实收费用char(10)
触发器1:
计算收费
createorreplacetrigger
count
before
insertorupdateordelete
on收费登记foreachrow
begin
ifinsertingorupdating
then:
new.结余费用=:
new.实收费用-:
new.应收费用;
endif;
end;
触发器2:
未收标志
createtriggerchange1
before
updateon客户费用管理
update客户费用管理set收费标志='
;
触发器3:
计算结余费用
createorreplacetriggerJYcharge
Before
updateon收费登记foreachrow
insertintoJYcharge(实收费用,应收费用,JYcharge)
values(:
old.实收用,:
old.应收费用,:
old.实收费用-:
old.应收费用);
过程函数1:
统计应收费用和实收费用
CREATEORREPLACEPROCEDURETJ
as
executeimmediate'
createtableJYcharge(应收费用number(10),实
收费用number(10))'
insertintocony_emp
values(:
old.实收费用)'
commit;
endTJ;
/
过程函数2.未交费
createorreplaceprocedureWJF(Fnooutnumber)
is
select收费编号into费用编号from收费登记
where收费登记.实收费用=0and收费编号=费用编号;
endWJF;
6.小结
通过本次实习,我更加了解了利用数据库设计系统的流程,此次实习综合运用了《数据库系统原理》的理论知识和技能,深入理解《数据库系统原理》相关的理论知识,有了初步分析实际问题的能力。
初步掌握了用《数据库系统原理》的知识设计计算机应用课题的思想和方法。
虽然我自己还不能很熟悉的完成整个系统的设计,但是这使我对这门课程有了更深入的理解,在今后的学习中我会加强理论与实践的结合,争取做到可以独立完成设计!