水电管理系统登陆子系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库课程实验周设
计说明书
水电管理系统
学生姓名:施杰明学号: 40
学院:计算机与控制工程
专业:计算机科学与技术
指导教师:熊风光
2014年 6 月 27日
1. 需求分析
目标设计
以宿舍水电费为背景,实现水电费管理。本系统可以分为四个子系统:
1.统计子系统:统计水电用量,水电费用计算,扣除水电费。
2.登陆子系统:实现密码验证,不同身份的用户具有不同的权限。
3.管理子系统:增加,删除,修改用户,设置水电价格。
4.缴费子系统:实现查询余额,缴费功能
开发和运行环境
Eclipse、SQL server 2008
Window 7,window 8
数据流分析
图1 顶层数据流图
图2 登陆子系统图
功能模块设计
图3 系统功能模块图本人主要工作
登陆子系统
2. 水电管理系统登陆子系统数据库概要设计
概念结构设计
图4登陆子系统ER图模式转换
学生(学号,学生账号,姓名,性别,宿舍号)
账号(账号,密码,权限)
管理员(管理员编号,管理员账号,管理员身份)
范式分析
学生(学号,学生账号,姓名,性别,宿舍号)
学号作为主码,学生账号,姓名,性别,宿舍号完全函数依赖于主码学生,满足2NF。其他属性不存在对主码的传递依赖,满足3NF。学生中除了学号没有其他决定因素,满足BCNF。
账号(账号,密码,权限)
账号作为主码,密码,权限完全函数依赖于主码账号,满足2NF。其他属性不存在对主码的传递依赖,满足3NF。账号中除了账号没有其他决定因素,满足BCNF。
管理员(管理员编号,管理员账号,管理员身份)
管理员编号作为主码,管理员账号,管理员身份完全函数依赖于主码管理员编号,满足2NF。其他属性不存在对主码的传递依赖,满足3NF。管理员中除了管理员编号没有其他决定因素,满足BCNF。
3.登陆子系统物理设计
数据库中表的定义
学生表的定义
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]
管理员表的定义
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]
) ON [PRIMARY]
账号表的定义
CREATE TABLE [dbo].[账号](
[账号] [varchar](20) NOT NULL,
[密码] [varchar](20) NOT NULL,
[权限] [varchar](20) NOT 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]
) ON [PRIMARY]
视图、存储过程、触发器的结构和定义
账号视图定义
CREATE VIEW [dbo].[accont number]
AS
SELECT 账号, 密码, 权限
FROM dbo.账号
登陆存储器:实现登陆后权限控制
ALTER procedure [dbo].[login] (@zhanghao varchar(20),@password varchar(20),@result varchar(20) = null output)
AS DECLARE
@密码 varchar(20),@权限 varchar(20) = null,@user varchar(20) = null,@pass varchar(20) = null;
begin
select @密码 = 密码 from 账号 where 账号 = @zhanghao;
if @密码 != @password