数据库设计文档5926746075数据库设计文档5926746075
Tap_water charge_2011
2011年自来水公司收费管理系统 物理数据库设计文档
文档编号: WX100090787
当前版本号: 100090787
最初发布日期: 2010-01-06
最新修订日期: 2010-01-16
学号:100090787
姓名:刘雪辉
班级:软件外包0902
- 1 -
, 文档位置
, 文档修改历史
版本号 版本日期 修改总结 修订人 100090787 2010-01-04 利用外键实现数据库的规范化和完整性。 刘...
数据库
文档5926746075
Tap_water charge_2011
2011年自来水公司收费管理系统 物理数据库设计文档
文档编号: WX100090787
当前版本号: 100090787
最初发布日期: 2010-01-06
最新修订日期: 2010-01-16
学号:100090787
姓名:刘雪辉
班级:软件外包0902
- 1 -
, 文档位置
, 文档修改历史
版本号 版本日期 修改
修订人 100090787 2010-01-04 利用外键实现数据库的
化和完整性。 刘雪辉 100090787 2010-01-15 可以利用视图进行查询和修改。 刘雪辉 100090787 2010-12-16 可以利用触发器、存储过程来实现数据库的自动化、系统刘雪辉
化。
, 参考文档
序号 参考文档 版本 日期 1. 数据库原理与应用 V1.0 2010-12-10 2. 数据库设计与开发 V1.0 2010-12-11
- 2 -
目录
1. 物理数据库设计 ........................................................................... - 4 - 1.1 数据库总体设计 ......................................................................................... - 4 - 1.1.1 表空间规划 ................................................................................................................ - 4 - 1.1.2 数据库规划 ................................................................................................................ - 4 - 2. 数据库表设计 ............................................................................... - 5 - 2.1 实体列表( Entity List)................................................................................. - 5 - 2.2 E-R图 .......................................................................................................... - 5 - 2.3 实体定义< P_info > .................................................................................... - 9 - 2.3.1
.................................................................................................................... - 9 -
2.3.2 .................................................................................................................. - 10 -
2.3.3 ................................................................................................................. - 10 -
2.3.4 ............................................................................................................... - 11 -
2.3.5 < C_char_1 > ............................................................................................................. - 11 -
2.4 数据库其他对象设计 ............................................................................... - 12 - 2.4.1 存储过程设计 .......................................................................................................... - 12 - 2.4.2 视图设计 .................................................................................................................. - 17 - 3. 数据库容量及安全性设计 .......................................................... - 18 - 3.1 数据量估计 ............................................................................................... - 18 - 3.2 数据库安全性设计 ................................................................................... - 18 - 3.2.1 用户设置 .................................................................................................................. - 18 - 3.2.2 数据库权限设计 ...................................................................................................... - 18 -
- 3 -
1. 物理数据库设计
1.1 数据库总体设计
1.1.1 表空间规划
1.1.2 数据库规划
数据库名 Tap_water charge_2011
描述 2011年自来水公司收费管理系统 用到的表空间 P_info,C_info,W_info,M_info,P_char_1,C_char_1 代码集(codeset) 存储过程:Pro_1,Pro_2,Pro_3,Pro_4,Pro_4,Pro_5
视图:1月欠费单位信息视图、1月欠费居民信息视图、后弦收费员抄表
区域图
安装考虑 (HA, etc)
备份/恢复策略 数据库创建之后进行了备份,然后恢复使用
- 4 -
2. 数据库表设计
2.1 实体列表( Entity List)
序实体名称 别名 描述 备注 号
PT1 P_info 居民信息表 记录居民个人基本信息 PT2 C_info 单位信息表 记录单位的基本信息 PT3 W_info 月份水费情况表 记录月份水费情况 PT4 M_info 收费员基本信息表 记录收费员的基本信息 PT5 P_char_1 1月居民缴费信息表 记录居民的缴费基本信息 PT6 C_char_1 1月单位信息表 记录单位的缴费基本信息
2.2 E-R图
居民个人信息表
个人id号
性别 姓名
居民个人信息
住址 账号
所在小区 联系号码
单位信息表
名称名称 邮箱邮箱
单位基本信息单位基本信息 账号
所在路段 联系号码
- 5 -
收费员信息表
个人id号 性别 姓名
住址 收费员信息 编号
负责小区 负责路段 电话号码
水费信息表
单价 月份
水费信息
最长欠费时最高欠费金
间 额
- 6 -
1月居民缴费表
姓名 用水量 账号
缴费方式 月份 居民缴费信息
拖欠金额 是否打印警
告单
应缴水费 拖欠时间
1月单位缴费表
月份 名称 账号
用水量 收费编
号
单位缴费信息
应缴水费 收费员姓名
拖欠金额 是否打印警拖欠天数
告单
- 7 -
整体ER图
收费员 居民
查询/负责 单位
根据
居民缴费情 况 月份水费情得出 况 单位缴费情
况
是否欠费 判断 打印警告单
- 8 -
2.3 实体定义< P_info >
在序号处应提供超级连接到相应的数据字典
说明
居民姓名
居民账号
性别
个人id号
所在住宅区
住址
联系号码
别名 居民个人信息表
描述 记录居民个人基本信息
到逻辑数据模型(LDM) 1对多
的映射
目的 记录居民信息
事件 居民用水
2.3.1
说明
单位名称
账号
地址
联系号码
邮箱
所在路段
别名 单位信息表
描述 记录单位信息
到逻辑数据模型(LDM)1对多
的映射
目的 对有单位的缴费情况进行相关记录 事件 单位用水
- 9 -
2.3.2
说明
月份
单价
最高欠款
最长欠款时间
别名 学员缴费信息表
描述 记录月份水费的变化情况
到逻辑数据模型(LDM) 1对多
的映射
目的 记录水费情况
事件 计算水费
2.3.3
说明
收费员姓名
收费员编号
性别
个人id号
住址
联系号码
负责住宅区
负责路段
别名 课程信息表
描述 记录收费员信息。
到逻辑数据模型(LDM) 1对多
的映射
目的 记录收费员的详细信息
事件 查询/负责用户用水
- 10 -
2.3.4
说明
居民姓名
账号
月份
用水量
应缴水费
拖欠时间
拖欠金额
缴费方式
是否打印警告单
别名 1月居民缴费表
描述 记录居民的缴费信息。
到逻辑数据模型(LDM)多对1
的映射
目的 确定缴费的具体信息
事件 通过缴费程序并获得相应证明
2.3.5 < C_char_1 >
说明
单位名称
账号
月份
用水量
用水量
拖欠天数
拖欠金额
是否打印警告单
收费员编号
收费员姓名
别名 教师信息表
描述 记录单位缴费信息。
到逻辑数据模型(LDM) 1对多
的映射
目的 记录单位缴费信息。
事件 通过缴费程序并获得相应证明
- 11 -
2.4 数据库其他对象设计
本节是可选的。
2.4.1 存储过程设计
存储过程名称及功能描SQL 代码
述
存储过程名称: create procedure Pro_1
Pro_1 @selectkey Varchar(6)
功能描述: as
利用表的简写来查询表 declare @TableNam Varchar(20)
select @TableNam =
case
when @selectkey like'%居民%' then 'P_info'
when @selectkey like'%单位%' then 'C_info'
when @selectkey like'%收费员%' then 'M_info'
when @selectkey like'%水费%' then 'W_info'
when @selectkey like'%居民缴费%' then 'P_char_1'
when @selectkey like'%单位缴费%' then 'C_char_1'
else null
end
if @TableNam is null
print '没有对应的表~'
else
execute ('select *from '+@TableNam)
execute Pro_1 '居民'
- 12 -
存储过程名称: create procedure Pro_2
Pro_2 @uptown as nchar(20),@CountOUT int output
功能描述: as
通过输入某个住宅区来declare P_num cursor
查看该住宅区的居民数for select uptown from P_info
量 open P_num
declare @P_uptown nchar(20)
declare @Loop bit
declare @Count int
set @Count=0
if @@error=0
begin
while 1=1
begin
fetch next from P_num into @P_uptown
if @@fetch_status=0
begin
if charindex(@uptown ,@P_uptown)>0
set @Count=@Count+1
end
else
break
end
print '表中'+@uptown+'的居民数量为:
'+convert(varchar(3),@Count)
end
close P_num
deallocate P_num
return @Count
go
declare @COUNT1 int ,@COUNT2 int
execute @COUNT2=Pro_2 '静安区',@COUNT1 output
print @COUNT2
print @COUNT1
go
- 13 -
存储过程名称: create procedure Pro_3
Pro_3 @uptown as nchar(20),@CountOUT int output
功能描述: as
通过输入某个路段名来declare C_num cursor
得出该路段的用水单位for select C_uptown from C_info
数量 open C_num
declare @C_uptown nchar(20)
declare @Loop bit
declare @Count int
set @Count=0
if @@error=0
begin
while 1=1
begin
fetch next from C_num into @C_uptown
if @@fetch_status=0
begin
if charindex(@uptown ,@C_uptown)>0
set @Count=@Count+1
end
else
break
end
print '表中'+@uptown+'的单位数量为:'+convert(varchar(3),@Count)
end
close C_num
deallocate C_num
return @Count
go
declare @COUNT1 int ,@COUNT2 int
execute @COUNT2=Pro_3 '长林路',@COUNT1 output
print @COUNT2
print @COUNT1
go
- 14 -
存储过程名称: create procedure Pro_4
Pro_4 as
功能描述: declare Ct_num cursor
查询某月欠费单位数量 for select C_tardy_money from C_char_1
open Ct_num
declare @C_tardy float declare @Loop bit declare @Count int set @Count=0
if @@error=0
begin
while 1=1
begin
fetch next from Ct_num into @C_tardy
if @@fetch_status=0 begin
if @C_tardy>0
set @Count=@Count+1 end
else
break
end
print '1月表中欠费单位数量为:'+convert(varchar(3),@Count)
end
close Ct_num
deallocate Ct_num return @Count
go
execute Pro_4
- 15 -
存储过程名称: create procedure Pro_5
Pro_5 as
功能描述: declare Pt_num cursor
查询某月欠费居民数量 for select P_tardy_money from P_char_1
open Pt_num
declare @P_tardy float declare @Loop bit declare @Count int set @Count=0
if @@error=0
begin
while 1=1
begin
fetch next from Pt_num into @P_tardy
if @@fetch_status=0 begin
if @P_tardy>0
set @Count=@Count+1 end
else
break
end
print '1月表中欠费居民数量为:'+convert(varchar(3),@Count)
end
close Pt_num
deallocate Pt_num return @Count
go
execute Pro_5
- 16 -
2.4.2 视图设计
视图名称及功能描SQL代码
述
视图名称: create view 1月欠费单位信息视图
1月欠费居民信息as
视图 select A.C_name 姓名,A.address 具体地址,A.phone_number 联系号功能描述: 码,A.e_mail,B.month 月份,B.C_tardy_day 拖欠天数,B.C_tardy_money 拖欠
金额,B.CM_id 抄表员编号,B.CM_name 抄表员姓名,B.warn_print 是否打印查询欠费居民信息
(因文档宽度,故不警告单
展现相关图片) from C_info A inner join C_char_1 B on A.C_id=B.C_id
where B.C_tardy_money>0
select *from 1月欠费单位信息视图
视图名称: create view 1月欠费居民信息视图
1月欠费单位信息as
视图 select A.P_name 姓名,A.sex 性别,A.id 个人id号,A.uptown 所在住宅功能描述:查询欠费区,A.address 具体地址,A.phone_number 联系号码,B.month 月份,B.P_tardy_day
单位信息 拖欠天数,B.P_tardy_money 拖欠金额,B.way 交款行为,B.warn_print 是否打印
警告单
from P_info A inner join P_char_1 B on A.P_id=B.P_id
where B.P_tardy_money>0
select *from 1月欠费居民信息视图
视图名称: create view 后弦收费员抄表区域图
后弦收费员抄表区as
域图 select A.M_name 姓名,A.M_id,A.address 具体地址,A.phone_number 联系号功能描述:查询各收码,B.C_name 单位名称,B.warn_print
费员管理情况信息
以后弦为例 是否发送警告单
from M_info A inner join C_char_1 B on A.M_id=B.CM_id
where A.M_name='后弦'
select *from 后弦收费员抄表区域图
- 17 -
3. 数据库容量及安全性设计
3.1 数据量估计
序号 实体名称 实体含义 平均估计数据访问频度% 当前容年增长
大小 量 量 增修删
加 改 除
3.2 数据库安全性设计
3.2.1 用户设置
用户名 描述
对数据库进行备份 Dbo
查看数据 guest
对数据库进行安全管理
INFORMATION_SCHEM
A
拥有数据库所有的权限 sa
3.2.2 数据库权限设计
表名 组名 用户名 权限描述 P_info 可以对表进行修改、添sa sa
加、删除、查询 C_info 可以对表进行修改、添sa sa
加、删除、查询 W_info 可以对表进行修改、添sa sa
加、删除、查询 M_info 可以对表进行修改、添sa sa
加、删除、查询 P_char_1 可以对表进行修改、添sa sa
加、删除、查询 C_char_1 可以对表进行修改、添sa sa
加、删除、查询
- 18 -
- 19 -
本文档为【数据库设计文档5926746075】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。