数据库课程设计—自来水公司收费系统_第1页
数据库课程设计—自来水公司收费系统_第2页
数据库课程设计—自来水公司收费系统_第3页
数据库课程设计—自来水公司收费系统_第4页
数据库课程设计—自来水公司收费系统_第5页
已阅读5页,还剩9页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、某自来水公司收费管理系统目录:1. 问题描述2. 需求分析2.1需求分析2.2系统功能结构2.3数据流图3. 逻辑结构设计3.1局部E R图3.2全局E R图3.3数据字典4. 物理结构设计5. 代码6. 小结1. 问题描述(某自来水公司收费管理系统)实现客户信息、用水类型(类别号、类别名、水价)及业务员管理;实现客户用电信息管理(客户号、月份、用水类别号、用水量); 实现客户费用管理(客户号、月份、费用、收费标志),收费标志的默认值为未收;实现收费登记(客户、月份、应收费用、实收费用、业务员),并自动修改收费标志(用触发器实现);创建触发器,实现收费时自动更加应收费用和实收费用,计算本次结余

2、,然后修改客户信息表中的结余金额;创建存储过程统计指定月份应收费用和实收费用;创建存储过程查询指定月份未交费的用户信息,以便崔费;创建规则使得月份符合格式 “X X X X年X X月”,并邦定到表中相应字段;建立表间关系。2. 需求分析2.1需求分析随着人们生活水平的提高, 传统的人工记录已经跟不上时代的发展,信息化的世界即将覆盖人们生活的点点滴滴。针对各地供水公司的水费缴费在状况,设计了 能够符合适应大多数城市的水费缴费系统,采用了分布式管理的模式,能够实现数据管理以及日常维护任务,具有较好的安全性稳定性适应性,为实现水费缴费提供技术及业务指导。此自来水公司收费管理系统,遵循了科学高效/循序

3、渐进/规划清 晰的原则,能够最大程度的减少营销信息化建设所遇到的风险问题。2.2系统功能结构2.3数据流图3. 逻辑设计结构3.1局部E-R图3.2全局E-R图3.3数据字典名字:客户描述:自来水公司的客户,使名字:用水类型描述:不同用途的水价不同名字:客户费用管理描述:每一个客户费用的具体名字:员工描述:负责收缴客户的水费名字:客户用水信息描述: 每一位客户的具体信息名字:收费登记描述:每一位用户收费的具体4. 物理结构设计(1)图:(2)表格清单(1)客户表字段名数据类型口否为空键引用备注客户号Number (8)否主键客户号客户名Char(20)否客户名地址varchar2(50否地址)

4、联系方式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)客户费用管理字段名数据类型可否为空键引

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客户

6、表insert into客户表insert into客户表insert into客户表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');ins

7、ert into用水类型values(04,'食堂','1.5');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员工表 val

8、ues(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

9、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 triggercountbeforeinsert or update or deleteon收费登记for each rowbeginif inserting or updating the

10、n :new.结余费用=:new.实收费用-:new.应收费用;end if;end;触发器2:未收标志create trigger changelbeforeupdate on 客户费用管理beginupdate客户费用管理set收费标志='未收'end;触发器3:计算结余费用create or replace trigger JYchargeBeforeupdate on 收费登记 for each rowbegininsert into JYcharge(实收费用,应收费用,JYcharge)values(:old. 实收用,:old.应收费用,:old.实收费用-:ol

11、d.应收费用);end;过程函数1:统计应收费用和实收费用CREATE OR REPLACE PROCEDURE TJasbeginexecute immediate 'create table JYcharge(应收费用 number(10), 实收费用 number(10)'execute immediate 'insert into cony_empvalues (:old. 应收费用,:old.实收费用)';commit;end TJ;/过程函数2.未交费create or replace procedure WJF(Fno out number)is beginselect 收费编号into 费用编号from收费登记where收费登记.实收费用=0 and收费编号=费用编号;end WJF;6.小结通过本次实习,我更加了解了利用数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论