水电管理系统登陆子系统方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库课程实验周设计说明书
水电管理系统
学生:施杰明学号: 1206034240
学院:计算机与控制工程
专业:计算机科学与技术
指导教师:熊风光
2014年 6 月 27日
1. 需求分析
1.1目标设计
以宿舍水电费为背景,实现水电费管理。本系统可以分为四个子系统:
1.统计子系统:统计水电用量,水电费用计算,扣除水电费。
2.登陆子系统:实现密码验证,不同身份的用户具有不同的权限。
3.管理子系统:增加,删除,修改用户,设置水电价格。
4.缴费子系统:实现查询余额,缴费功能
1.2 开发和运行环境
Eclipse、SQL server 2008
Window 7,window 8
1.3 数据流分析
图1 顶层数据流图
图2 登陆子系统图 1.4 功能模块设计
图3 系统功能模块图
1.5 本人主要工作
登陆子系统
2. 水电管理系统登陆子系统数据库概要设计
2.1 概念结构设计
学生
学号
学生账号姓名
性别
宿舍号
Variable characters (20)
Variable characters (20)
Variable characters (2)
Variable characters (20)
学号
...
账号
账号密码权限
Variable characters (20)
Variable characters (20)
账号...
管理员
管理员编号
管理员账号
身份
Variable characters (20)
Variable characters (20)
管理员编号
...
图4登陆子系统ER图
2.2 模式转换
学生(学号,学生账号,,性别,宿舍号)
账号(账号,密码,权限)
管理员(管理员编号,管理员账号,管理员身份)
2.3 式分析
学生(学号,学生账号,,性别,宿舍号)
学号作为主码,学生账号,,性别,宿舍号完全函数依赖于主码学生,满足2NF。其他属性不存在对主码的传递依赖,满足3NF。学生中除了学号没有其他决定因素,满足BCNF。
账号(账号,密码,权限)
账号作为主码,密码,权限完全函数依赖于主码账号,满足2NF。其他属性不存在对主码的传递依赖,满足3NF。账号中除了账号没有其他决定因素,满足BCNF。
管理员(管理员编号,管理员账号,管理员身份)
管理员编号作为主码,管理员账号,管理员身份完全函数依赖于主码管理员编号,满足2NF。其他属性不存在对主码的传递依赖,满足3NF。管理员中除了管理员编号没有其他决定因素,满足BCNF。
3.登陆子系统物理设计
3.1 数据库中表的定义
3.1.1学生表的定义
CREATE TABLE [dbo].[学生](
[学号] [varchar](20) NOT NULL,
[学生账号] [varchar](20) NOT NULL,
[] [varchar](20) NULL,
[性别] [nchar](1) NULL,
[宿舍号] [varchar](20) NOT NULL,
CONSTRAINT [PK_学生_1] PRIMARY KEY CLUSTERED
(
[学号] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
CONSTRAINT [IX_学生] UNIQUE NONCLUSTERED
(
[学号] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
3.1.2管理员表的定义
CREATE TABLE [dbo].[管理员](
[管理员编号] [varchar](20) NOT NULL,
[账号] [varchar](20) NOT NULL,
[身份] [varchar](20) NOT NULL,
[] [nchar](10) NULL,
CONSTRAINT [PK_管理员] PRIMARY KEY NONCLUSTERED
(
[管理员编号] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]