1、l 创建存储过程查询指定月份未交费的用户信息,以便崔费;l 创建规则使得月份符合格式“年月”,并邦定到表中相应字段;l 建立表间关系。 随着人们生活水平的提高,传统的人工记录已经跟不上时代的发展,信息化的世界即将覆盖人们生活的点点滴滴。针对各地供水公司的水费缴费在状况,设计了能够符合适应大多数城市的水费缴费系统,采用了分布式管理的模式,能够实现数据管理以及日常维护任务,3.2全局E-R图名字:客户描述:自来水公司的客户,使用者定义:客户=客户号+客户名+地址+联系方式员工负责收缴客户的水费 员工=员工号+员工名+联系方式+性别用水类型不同用途的水价不同用水类型=类型号+类型名+水价客户用水信息
2、每一位客户的具体信息客户用水信息=客户号+月份+类型号+用水量客户费用管理每一个客户费用的具体信息客户费用管理=费用编号+费用+收费标志收费登记每一位用户收费的具体信息收费登记=收费编号+月份+实收费用+应收费用(1)图:(2)表格清单(1)客户表字段名数据类型可否为空键引用备注客户号Number(8)否主键客户名Char(20)地址varchar2(50)联系方式number(11)(2)用水类型表类型号number(4)类型名char(20)水价char(10)(3)员工表员工号员工名性别(4)客户用水信息表主键/外键月份用水量(5)客户费用管理费用编号Number(4)费用收费标志(6)
3、收费登记收费编号应收费用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);values(20130002,00002);values(20130003,小红,00003);values(20130004,小明,00004);2.用水类型c
4、reate table 用水类型(类型号 number(4) constraint p_w primary key,类型名 char(20),水价 char(10);insert into 用水类型 values(01,学校0.5);insert into 用水类型 values(02,个人1.0insert into 用水类型 values(03,商店2.0insert into 用水类型 values(04,食堂1.53.员工表create table 员工表(员工号 number(10) constraint p_s primary key,员工名 char(20),性别 char(10
5、),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 用水类型(类型号),月份
6、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(10),实收费用 char(10)触发器1:计算收费create or replace trigger count before insert or update or delete on 收费登记
7、for each rowbeginif inserting or updating then :new.结余费用=:new.实收费用-:new.应收费用;end if;end;触发器2:未收标志create trigger change1beforeupdate on 客户费用管理 update 客户费用管理 set 收费标志=;触发器3:计算结余费用create or replace trigger JYcharge Before update on 收费登记 for each rowinsert into JYcharge(实收费用,应收费用,JYcharge)values(:old.实收
8、用,:old.应收费用,:old.实收费用-:old.应收费用);过程函数1:统计应收费用和实收费用CREATE OR REPLACE PROCEDURE TJ asexecute immediate create table JYcharge(应收费用number(10),实收费用 number(10) insert into cony_emp values (:old.实收费用)commit;end TJ;/ 过程函数2.未交费create or replace procedure WJF(Fno out number) isselect 收费编号 into 费用编号 from 收费登记 where 收费登记.实收费用=0 and 收费编号=费用编号;end WJF;6 小结通过本次实习,我更加了解了利用数据库设计系统的流程,此次实习综合运用了数据库系统原理的理论知识和技能,深入理解数据库系统原理相关的理论知识,有了初步分析实际问题的能力。初步掌握了用数据库系统原理的知识设计计算机应用课题的思想和方法。虽然我自己还不能很熟悉的完成整个系统的设计,但是这使我对这门课程有了更深入的理解,在今后的学习中我会加强理论与实践的结合,争取做到可以独立完成设计!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1