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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

一、课程设计的目的和要求

(1)培养学生运用所学课程《数据库系统原理》的理论知识和技能,深入理解《数据库系统原理》课程相关的理论知识,学会分析实际问题的能力。

(2)培养学生掌握用《数据库系统原理》的知识设计计算机应用课题的思想和方法。

(3)培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。

(4)通过课程课程设计的训练,要求学生在教师的指导下,独立完成大作业要求的相关内容,包括:

①通过调查研究和运用 Internet,收集和调查有关资料、最新技术信息。

②基本掌握撰写小论文的基本步骤和写作方法。

③根据课题的要求基本理解和掌握 E-R 图的

设计方法和关系模式的转换。

④根据课题的要求基本理解和掌握数据流图(DFD)和数据字典(DD)的设计方法。

⑤根据 ER 图生成数据库表。

⑥数据库完整性、安全性保证措施

一、问题描述

自来水公司收费管理系统实现客户信息、用水类型及业务员管理;

实现客户用电信息管理;

实现客户费用管理;

实现收费登记并自动修改收费标志(用触发器实现);

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

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

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

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

二、概念模型设计

1、自来水收费管理系统我设计了4张表

I、用水类型(类别号、类别名、水价)。

II、客户用水信息(客户、月份、用水类别号、用水量);

III、客户费用(客户号、月份、费用、收费标志)

IV、收费登记(客户、月份、应收费用、实收费用、业务员)

2、表之间对应的E-R图

2、所有表之间的关系图

创建用水类型表

CREATE TABLE Leixing ( shuijia Number(5),

Leibie V ARCHAR(20), Leiming V ARCHAR(20)

);

创建用电信息表

CREATE TABLE Ydxinxi ( Kehao Number(10),

mouth Int(2),

LeibieV ARCHAR(20), Shuiliang V ARCHAR(5), );

创建客户费用

CREATE TABLE Khfeiyong ( Kehao Number(10),

mouth Int(2),

Feiyong Number(5),

Biao bool(1)

);

创建收费登记表:

CREATE TABLE Dji (

Kehao Number(10),

mouth Int(2),

Yewu Varchar(10),

Yshou Number(5),

Sshou Number(5),

);

自动修改客户费用

create trigger auto_update after insert on Dji for each ROW

begin

d eclar

e @kehao varchar(20),

d eclar

e @mou int,

declare @remoney int

declare @hekumoney int

s et @kehao =(select Feiyong from inserted);

set @mou = (select mouth from tickets where Khfeiyong=@kehao);

set @remoney= (select Sshou from Dji where Kehao=@kehao);

set @kehumoney = (select Feiyong from Khfeiyong where kehao=@kehao);

i f(@remonry

b egin

print"余额不足";

e lse

update Khfeiyong set Feiyong=Feiyong-kehumoney where Kehao=@kehao;

e nd;

end;

根据用水的类型修改收费标准

create trigger shoufeibiaozhun after insert on Dji for each ROW

begin

d eclar

e @kehao varchar(20),

d eclar

e @mou int,

declare @remoney int

declare @hekumoney int

s et @kehao =(select Feiyong from inserted);

set @mou = (select mouth from tickets where Khfeiyong=@kehao);

set @remoney= (select Sshou from Dji where Kehao=@kehao);

set @kehumoney = (select Feiyong from Khfeiyong where kehao=@kehao);

update Khfeiyong set Feiyong=Feiyong-kehumoney where Kehao=@kehao;

end;

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

create PROCEDURE FeiY(

i n mou int

in true int

out should int

o ut true int )

相关文档
最新文档