1、 无锡科技职业学院 自来水管理系统 物理数据库设计文档 专 业: 软件外包 班 级: 软外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
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分析 随着计算机技术和网络技术的不断发展,网络成了人们互相交流,合作的平台,同时也对网络应用提出了更高的要求。作为自来水公司,为适应高速发展的信息时代,必须要求有一套装备有方便计费和管理的信息化软件。 针对在收费过程中出现的各种问题,我对自来水厂设计了一个自来水收费系统,系统主要
3、包括用户管理,抄表管理,水费管理,统计查询和系统维护。 1.1.2 数据字典 编号:A1 存储名称:用户表 说明:用户的基本资料 存储内容:{ 用户号+姓名+性别+类别+电话+地址} 编号:A2 存储名称:收费员表 说明:收费员的基本信息 存储内容:{收费员号+姓名+性别+电话} 编号:A3 存储名称:发票表 说明:发票的信息 存储内容:{发票号+用户号+收费员号+水费表号+总价+日期} 编号:A4 存储名称:水费表 说明:水费信息 存储内容:{水费表号+用户号+单价+上月期末读数+本月期末读数+状态}
4、 编号:A5 存储名称:通知表 说明:通知表的基本信息 存储内容:{通知单号+用户号+收费员号+欠费金额+日期} 2数据库概念结构设计 2.1 实体间关系ER图 收费员ER图 2.2 其他ER图 用户 用户号 姓名 性别 类别 地址 电话 收费员 收费员编号 姓名 性别 电话 年龄 收费员 发票 水费 通知 用户 n:1 n:1 n:1 n:1 n:1 n:1 自来水公司水费管理系统数据库ER图 用户ER图 用户 用户号 姓名 性别 类别 地址 电话 发
5、票 发票号 用户号 收费员编号 收费表号 日期 总价 通知 通知单号 用户号 收费员编号 欠费金额 日期 水费 水费表号 用户号 单价 上月期末读数 本月期末读数 状态 发票ER图 发票ER图 通知ER图 3数据表设计: 用户表( User表) 列名称 类型 宽度 允许空值 说明 User_id int / Not null 主键 客户号 User_name char 20 Not null 客户姓名 User_sex char 2 N
6、ot 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
7、 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 n
8、ull 外键 水费号 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
9、 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
10、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’,fi
11、lename=’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 tab
12、le 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 for
13、eign 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) prima
14、ry 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, staf
15、f_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 视图设计






