某自来水公司收费管理系统 目录: 1. 问题描述 2. 需求分析 需求分析 系统功能结构 数据流图 3.逻辑结构设计 局部E—R图 全局E—R图 数据字典 4.物理结构设计 5.代码 6.小结
1. 问题描述(某自来水公司收费管理系统) 实现客户信息、用水类型(类别号、类别名、水价)及业务员管理; 实现客户用电信息管理(客户号、月份、用水类别号、用水量); 实现客户费用管理(客户号、月份、费用、收费标志),收费标志的默认值为‘未收’; 实现收费登记(客户、月份、应收费用、实收费用、业务员),并自动修改收费标志(用触发器实现); 创建触发器,实现收费时自动更加应收费用和实收费用,计算本次结余,然后修改客户信息表中的结余金额; 创建存储过程统计指定月份应收费用和实收费用; 创建存储过程查询指定月份未交费的用户信息,以便崔费; 创建规则使得月份符合格式“××××年××月”,并邦定到表中相应字段; 建立表间关系。 2. 需求分析 需求分析 随着人们生活水平的提高,传统的人工记录已经跟不上时代的发展,信息化的世界即将覆盖人们生活的点点滴滴。针对各地供水公司的水费缴费在状况,设计了能够符合适应大多数城市的水费缴费系统,采用了分布式管理的模式,能够实现数据管理以及日常维护任务,具有较好的安全性稳定性适应性,为实现水费缴费提供技术及业务指导。此自来水公司收费管理系统,遵循了科学高效/循序渐进/规划清晰的原则,能够最大程度的减少营销信息化建设所遇到的风险问题。 系统功能结构
某自来水公司收费管理系统
客户管理业务员管理用水信息管理账单查询管理费用管理
选择用水类型交费缴费统计用户信息客户费用管理收费登记结余登记客户查询
业务
员查询
按月份查询按电话查询按姓名查询按地址查询按月份查询按客户地址查询按客户姓名查询按客户电话查询
数据流图 自来水公司收费管理系统客户员工
缴费客户信息
信息一览表
客户员工缴费
3.收费登
记操作
员工信息
1.选择用水类型
使用
2.选择用水信息消费总量4.费用管理
操作
缴费
客户信息
客户员工3.1显示应收金额3.2确认实收金额3.3显示结余金额缴费
4.费用管理
员工信息1.1查询用水类别1.2查询水价查询查询用水类型表2.1查询用水吨数查询用水信息表操作导入客户信息
客户信息
3.逻辑设计结构 局部E-R图 客户客户名地址联系方式
客户号用水类型
类别名类别号水价
业务员客户用水信息
客户费用管理收费登记业务员名业务员号性别联系方式客户号月份用水量
类别号
月份费用客户号收费标志月份
客户号应收费用
员工号实收费用 全局E-R图 客户用水类型客户用水信息业务员客户费用管理
收费登记客户名地址客户号联系方式
业务员名性别联系方式业务员号类别名水价类别号交费收费使用消费缴费客户号月份费用收费标志月份员工号客户号
应收费用实收费用客户号月份用水量
类别号 数据字典 名字:客户 描述:自来水公司的客户,使用者 定义:客户=客户号+客户名+地址+联系方式 名字:员工 描述:负责收缴客户的水费 定义:员工=员工号+员工名+联系方式+性别 名字:用水类型 描述:不同用途的水价不同 定义:用水类型=类型号+类型名+水价 名字:客户用水信息 描述:每一位客户的具体信息 定义:客户用水信息=客户号+月份+类
名字:客户费用管理 描述:每一个客户费用的具体信息 定义:客户费用管理=费用编号+费用+收费标志 名字:收费登记 描述:每一位用户收费的具体信息 定义:收费登记=收费编号+月份+实收费用+应收费用 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.客户表 create table 客户表( 客户号 number(8) constraint p_c primary key, 客户名 char(20), 地址 varchar2(50), 联系方式 number(11));
插入数据: insert into 插入数据: insert into 客户表 values(,'张三','东北林业大学',00001); insert into 客户表 values(,'张三','东北林业大学',00002); insert into 客户表 values(,'小红','东北林业大学',00003); insert into 客户表 values(,'小明','东北林业大学',00004);
2.用水类型 create table 用水类型( 类型号 number(4) constraint p_w primary key, 类型名 char(20), 水价 char(10));
插入数据: insert into 用水类型 values(01,'学校',''); insert into 用水类型 values(02,'个人',''); insert into 用水类型 values(03,'商店',''); insert into 用水类型 values(04,'食堂',''); 3.员工表 create table 员工表( 员工号 number(10) constraint p_s primary key, 员工名 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 客户费用管理( 费用编号 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