资源描述
无锡科技职业学院
自来水管理系统
物理数据库设计文档
专 业: 软件外包
班 级: 软外0901
学 号: 100090792
姓 名: 曹 芝 佩
指导教师: 陈 晓 男
文档编号:
100090792
当前版本号:
3
最初发布日期:
2010-12-30
最新修订日期:
2011-01-07
目录
1需求分析 3
1.1数据库需求分析 3
1.1.1分析 3
1.1.2 数据字典 3
2数据库概念结构设计 4
2.1实体关系ER图 4
2.2其他ER图 5
3数据表设计 7
3.1用户表 7
3.2抄表员表 7
3.3发票表 7
3.4水费信息表 8
3.5通知信息表 8
4.数据库的物理实现及其他结构 10
4.1 存储过程设计 10
4.2视图设计 10
4.3触发器设计 13
1需求分析
1.1数据库需求分析
1.1.1分析
随着计算机技术和网络技术的不断发展,网络成了人们互相交流,合作的平台,同时也对网络应用提出了更高的要求。作为自来水公司,为适应高速发展的信息时代,必须要求有一套装备有方便计费和管理的信息化软件。
针对在收费过程中出现的各种问题,我对自来水厂设计了一个自来水收费系统,系统主要包括用户管理,抄表管理,水费管理,统计查询和系统维护。
1.1.2 数据字典
编号:A1
存储名称:用户表
说明:用户的基本资料
存储内容:{ 用户号+姓名+性别+类别+电话+地址}
编号:A2
存储名称:收费员表
说明:收费员的基本信息
存储内容:{收费员号+姓名+性别+电话}
编号:A3
存储名称:发票表
说明:发票的信息
存储内容:{发票号+用户号+收费员号+水费表号+总价+日期}
编号:A4
存储名称:水费表
说明:水费信息
存储内容:{水费表号+用户号+单价+上月期末读数+本月期末读数+状态}
编号:A5
存储名称:通知表
说明:通知表的基本信息
存储内容:{通知单号+用户号+收费员号+欠费金额+日期}
2数据库概念结构设计
2.1 实体间关系ER图
收费员ER图
2.2 其他ER图
用户
用户号
姓名
性别
类别
地址
电话
收费员
收费员编号
姓名
性别
电话
年龄
收费员
发票
水费
通知
用户
n:1
n:1
n:1
n:1
n:1
n:1
自来水公司水费管理系统数据库ER图
用户ER图
用户
用户号
姓名
性别
类别
地址
电话
发票
发票号
用户号
收费员编号
收费表号
日期
总价
通知
通知单号
用户号
收费员编号
欠费金额
日期
水费
水费表号
用户号
单价
上月期末读数
本月期末读数
状态
发票ER图
发票ER图
通知ER图
3数据表设计:
用户表( User表)
列名称
类型
宽度
允许空值
说明
User_id
int
/
Not null
主键 客户号
User_name
char
20
Not null
客户姓名
User_sex
char
2
Not null
性别
User_phone
char
11
null
电话
User_address
char
30
Not null
地址
User_type
nchar
10
Not null
类型
收费员(Staff)表
列名称
类型
宽度
允许空值
说明
Staff_id
Nchar
10
Not null
主键 收费员号
Staff_name
char
20
Not null
收费员姓名
Staff_sex
char
2
Not null
性别
Staff_phone
char
13
Not null
电话
发票表( receipt表)
列名称
类型
宽度
允许空值
说明
receipt_id
Nchar
20
Not null
主键 发票号
user_id
int
/
Not null
外键 用户号
Staff_id
nchar
10
Not null
外键 收费员号
Water_id
int
/
Not null
外键 水费号
Total_fee
money
/
Not null
总价
date
datetime
Not null
日期
水费表(water表)
列名称
类型
宽度
允许空值
说明
water_id
Nchar
20
Not null
主键 水费号
User_id
int
/
Not null
外键 用户号
Water_Price
money
/
Not null
单价
Water_amount
char
10
Not null
上月期末读数
Water_amount—after
nchar
10
Not null
本月期末读数
Water_state
Nchar
10
Not null
用水吨数
通知表(tongzhi表)
列名称
类型
宽度
允许空值
说明
notice_id
Nchar
20
Not null
主键 通知单号
Staff_id
nchar
10
Not null
外键 收费员号
User_id
int
/
Not null
外键 用户号
fee
money
/
Not null
欠费金额
date
datetime
/
Not null
日期
4.数据库的物理实现
创建数据库 water
Create database water on
Primary
(name =’ cao’,filename=’h:/cao.mdf’
Size = 5MB,
Maxsize=20MB,
Filegrowth=5%
)
Log on
(nane=’ zhi’,filename=’h:/zhi.ldf’,
Size=2MB,
Maxsize=20MB,
Filegrowth=5%
)
创建表A1
create table user
(
user_id int primary key not null,
user_name char(10) not null,
user_sex char(2),
user_phone char(11),
user_address char(50) not null,
user_type nchar
)
创建表A2
Create table staff
(
Staff_id nchar(10) primary key not null,
Staff_name char(10) not null,
Staff_sex char(2),
Staff_phone char(11) not null,
Staff_age int not null
)
创建表A3
Create table receipt
(
receipt_id nchar(20) primay key not null,
user_id int foreign key references user(user_id) not null,
staff_id nchar(10) foreign key references staff(staff_id) not null,
water_id nchar(20) foreign key references water (water_id) not null,
total_fee money not null,
date datetime not null
)
创建表 A4
Create table water
(
water_id nchar(20) primary key not null,
user_id int foreign key references user(user_id) not null,
water_Price money not null,
water_amount char(10) not null,
water_amount_after char(10) not null,
water_State int not null
)
创建表 A5
Create table tongzhi
(
tongzhi_id nchar(10)it primary key not null,
staff_id ncahr(10) foreign key references staff(staff_id) not null,
user_id int foreign key references user(user_id) not null,
fee money not null,
date datetime not null)
4.1存储过程
代码实现:pr_water
Create procedure pr_water
As
Select *from用户缴水费视图
Go
Pr_fapiao
create procedure pr_fapiao
as
select *from 发票视图
go
pr_tongzhi
create procedure pr_tongzhi
as
select *from 通知视图
go
4.2 视图设计
展开阅读全文