您的当前位置:首页数据库课程设计—某自来水公司收费系统方案

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

2023-12-28 来源:爱问旅游网
Word格式

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

目录: 1. 问题描述 2. 需求分析 2.1需求分析 2.2系统功能结构 2.3数据流图 3.逻辑结构设计 3.1局部E—R图 3.2全局E—R图 3.3数据字典 4.物理结构设计 5.代码 6.小结

完美整理

Word格式

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

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

 实现客户用电信息管理(客户号、月份、用水类别号、用水量);  实现客户费用管理(客户号、月份、费用、收费标志),收费标志的默认值为‘未收’;

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

 创建触发器,实现收费时自动更加应收费用和实收费用,计算本次结余,然后修改客户信息表中的结余金额;  创建存储过程统计指定月份应收费用和实收费用;  创建存储过程查询指定月份未交费的用户信息,以便崔费;  创建规则使得月份符合格式“××××年××月”,并邦定到表中相应字段;  建立表间关系。 2. 需求分析 2.1需求分析

随着人们生活水平的提高,传统的人工记录已经跟不上时代的发展,信息化的世界即将覆盖人们生活的点点滴滴。针对各地供水公司的水费缴费在状况,设计了能够符合适应大多数城市的水费缴费系统,采用了分布式管理的模式,能够实现数据管理以及日常维护任务,具有较好的安全性稳定性适应性,为实现水费缴费提供技术及业务指

完美整理

Word格式

导。此自来水公司收费管理系统,遵循了科学高效/循序渐进/规划清晰的原则,能够最大程度的减少营销信息化建设所遇到的风险问题。

2.2系统功能结构

某自来水公司收费管理系统客户管理业务员管理用水信息管理费用管理账单查询管理选择用水类型交费缴费统计用户信息客户费用管理收费登记结余登记客户查询业务员查询按月份查询按地址查询按姓名查询按电话查询按月份查询按客户地址查询按客户姓名查询按客户电话查询

2.3数据流图

完美整理

Word格式

客户缴费自来水公司收费管理系统员工客户信息信息一览表客户信息员工信息客户缴费3.收费登记客户信息操作员工使用操作1.选择用水类型消费总量2.选择用水信息缴费4.费用管理客户信息员工信息客户缴费3.1显示应收金额3.2确认实收金额3.3显示结余金额员工查询操作1.1查询用水类别用水类型表用水信息表导入查询4.费用管理1.2查询水价查询2.1查询用水吨数

3.逻辑设计结构 3.1局部E-R图

完美整理

Word格式

客户号用水类型客户名客户地址类别名类别号联系方式水价业务员号性别类别号客户号业务员客户用水信息联系方式业务员名月份用水量月份费用月份客户号应收费用客户号收费标志实收费用客户费用管理收费登记员工号

完美整理

Word格式

3.2全局E-R图

月份业务员名性别客户名客户号地址客户号员工号业务员号联系方式联系方式客户交费收费登记收费业务员应收费用使用实收费用用水类型消费客户用水信息缴费客户费用管理水价类别号客户号用水量类别号月份客户号费用类别名月份收费标志

完美整理

Word格式

3.3数据字典

名字:客户 描述:自来水公司的客户,使用者 定义:客户=客户号+客户名+地址+联系方式 名字:用水类型 描述:不同用途的水价不同 定义:用水类型=类型号+类型名+水价 名字:客户费用管理 描述:每一个客户费用的具体信息 定义:客户费用管理=费用编号+费用+收费标志

完美整理

名字:员工 描述:负责收缴客户的水费 定义:员工=员工号+员工名+联系方式+性别 名字:客户用水信息 描述:每一位客户的具体信息 定义:客户用水信息=客户号+月份+类型号+用水量 名字:收费登记 描述:每一位用户收费的具体信息 定义:收费登记=收费编号+月份+实收费用+应收费用

Word格式

4.物理结构设计 (1)图:

客户客户号客户名地址联系方式...numeric(8)char(20)varchar(50)numeric(11)缴费收费编号客户号numeric(8)实收费用应收费用收费编号员工号...收费登记char(20)char(20)numeric(4)员工号姓名性别联系方式...员工numeric(4)char(20)char(10)numeric(11)选择客户号numeric(8)类型号numeric(4)用水类型类型号numeric(4)类型名char(20)水价numeric(4)客户用水信息使用类型号numeric(4)月份char(20)客户号numeric(8)月份水价收费标志客户号收费编号...char(20)numeric(4)char(20)numeric(8)numeric(8)客户费用管理费用收费标志收费编号月份客户号...numeric(4)char(20)numeric(8)char(20)numeric(8) (2)表格清单

(1)客户表

字段名 客户号 客户名 地址 联系方式 (2)用水类型表

字段名 类型号 类型名 水价

(3)员工表

字段名 员工号 员工名 性别 联系方式

完美整理

数据类型 Number(8) Char(20) varchar2(50) number(11)

数据类型 number(4) char(20) char(10)

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

键引用 主键

备注

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

键引用 主键

备注 类型号 类型名 水价

数据类型 Number(8) Char(20) char(10) number(11)

可否为空 否 否 否 否

键引用 主键

备注

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

Word格式

(4)客户用水信息表

字段名 客户号 类型号 月份 用水量

(5)客户费用管理

字段名 费用编号 费用 收费标志

(6)收费登记

字段名 收费编号 月份 应收费用 实收费用

数据类型 可否为空 否 否

否 否

键引用 主键/外键 主键/外键 主键

备注

客户号 类型号 月份 用水量

Number(8) number(4) char(20) char(10)

数据类型 Number(4) number(4) char(20)

可否为空 否 否 否

键引用 主键

费用

备注 费用编号 收费标志

数据类型 Number(4) char(20) Char(10) Char(10)

可否为空 否 否 否 否

键引用 主键 主键 外键 外键

月份

备注 收费编号 所属专业 所属学院

5.代码 1.客户表

create table 客户表(

客户号 number(8) constraint p_c primary key, 客户名 char(20), 地址 varchar2(50), 联系方式 number(11));

插入数据:

insert into 插入数据: insert into 客户表

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

完美整理

Word格式

insert into 客户表

values(20130002,'张三','东北林业大学',00002); insert into 客户表

values(20130003,'小红','东北林业大学',00003); insert into 客户表

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

2.用水类型

create table 用水类型(

类型号 number(4) constraint p_w primary key, 类型名 char(20), 水价 char(10));

插入数据:

insert into 用水类型 values(01,'学校','0.5'); insert into 用水类型 values(02,'个人','1.0'); insert into 用水类型 values(03,'商店','2.0'); insert into 用水类型 values(04,'食堂','1.5'); 3.员工表

create table 员工表(

员工号 number(10) constraint p_s primary key,

完美整理

Word格式

员工名 char(20), 性别 char(10), 联系方式 number(11));

插入数据:

insert into 员工表 values(0001,'小白','男',04510001); insert into 员工表 values(0002,'小白','女',04510002); insert into 员工表 values(0003,'小兰','女',04510003); insert into 员工表 values(0004,'小黑','男',04510004);

4.客户用水信息

create table 客户用水信息(

客户号 number(8) constraint fk_c1 references 客户表(客户号),

类型号 number(4) constraint fk_w1 references 用水类型(类型号),

月份 char(20), 用水量 char(10),

primary key(客户号,类型号,月份));

5.客户费用管理

create table 客户费用管理(

完美整理

Word格式

费用编号 number(4) primary key, 费用 number(4),

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

6.收费登记

create table 收费登记(

收费编号 number(4) primary key, 月份 char(20), 应收费用 char(10), 实收费用 char(10) );

触发器1:计算收费

create or replace trigger count before

insert or update or delete on 收费登记 for each row begin

if inserting or updating

then :new.结余费用=:new.实收费用-:new.应收费用;

完美整理

Word格式

end if; end;

触发器2:未收标志 create trigger change1 before

update on 客户费用管理 begin

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

触发器3:计算结余费用

create or replace trigger JYcharge Before

update on 收费登记 for each row begin

insert into JYcharge(实收费用,应收费用,JYcharge) values(:old.实收用,:old.应收费用,:old.实收费用-:old.应收费用); end;

过程函数1:统计应收费用和实收费用 CREATE OR REPLACE PROCEDURE TJ

完美整理

Word格式

as begin

execute immediate 'create table JYcharge(应收费用number(10),实

收费用 number(10))';

execute immediate 'insert into cony_emp values (:old.应收费用,:old.实收费用)'; commit; end TJ; /

过程函数2.未交费

create or replace procedure WJF(Fno out number) is begin

select 收费编号 into 费用编号 from 收费登记 where 收费登记.实收费用=0 and 收费编号=费用编号; end WJF; 6.小结

通过本次实习,我更加了解了利用数据库设计系统的流程,此次实习综合运用了《数据库系统原理》的理论知识和

完美整理

Word格式

技能,深入理解《数据库系统原理》相关的理论知识,有了初步分析实际问题的能力。初步掌握了用《数据库系统原理》的知识设计计算机应用课题的思想和方法。虽然我自己还不能很熟悉的完成整个系统的设计,但是这使我对这门课程有了更深入的理解,在今后的学习中我会加强理论与实践的结合,争取做到可以独立完成设计!

完美整理

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