_ID 编号 int F_UserID 提问人 int F_Detail 问题描述 ntext F_TypeID 问题类别号 int F_ColumnID 版块号 int F_Datetime 提出时间 Datetime 答案 F_ID 编号 int F_QuestionID 问题编号 int F_Detail 答案描述 ntext F_UserID 回答人 int F_Datetime 回答时间 Datetime 用户登录信息 F_ID 编号 int F_UserID 用户号 int F_Pwd 密码 char(15) F_Limit 权限 Varchar(20) 用户留言 F_ID 编号 int F_UserID 用户号 int F_Words 内容 ntext F_Datetime 时间 Datetime F_Replyer 回复人 int F_ReplyWords 内容 ntext F_ReplyDate 时间 Datetime 管理员信息 F_ID 编号 int F_UserID 用户号 int F_Name 用户名 Varchar(10) F_Pwd 密码 char(15)
2.4安全性与完整性要求
1) 安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。
2) 完整性要求
系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
3 概要设计
3.1 系统结构与组成
系统采用B/S模式,用户可以在任意地方连接网络登录系统,方便使用。
系统组成如下:
3.2 概念数据库设计
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。概念设计的步骤如下:
(1)选择中层数据流为切入点,通常选择实际系统中的子系统;
(2)设计分E-R图,即各子模块的E-R图;
(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;
(4)生成全局E-R图,通过消除冲突等方面。
数据库E-R图:
E-R图实体属性列表:
用户:T_User(F_ID,F_Email,F_Name,F_Head,F_College)
学生:T_Student(F_ID,F_UserID,F_Spec,F_Grade)
教师:T_Teacher(F_ID,F_UserID,F_XueLi,F_ZhiCheng,F_Memo)
:T_College(F_ID,F_Name)
专业:T_Spec(F_ID,F_Name)
版块:T_Column(F_ID,F_Name)
问题类别:T_QuestionType(F_ID,F_Name)
问题:T_Question(F_ID,F_Detail,F_Datetime)
答案:T_Answer(F_ID,F_Detail,F_Datetime)
用户登录:T_Login(F_ID,F_Pwd)
留言:T_Words(F_ID,F_Words,F_Datetime)
密码提示问题:F_PwdQuestion(F_ID,F_Detail,F_Answer)
管理员:T_Manage(F_ID,F_Email,F_Name,F_Pwd)
3.3逻辑数据库设计
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括:将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计。
3.3.1将E-R图转换为关系模型
实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:
由于用户与问题,用户与答案,用户与留言信息,信息与用户,专业信息与学生呢个,问题类别与问题,版块与问题类别,问题与问题答案,密码提示问题与用户是一对多的关系因此可将他们之间的联系与n端实体合并即在问题表中添加用户编号字段,答案表中添加用户编号、问题编号,用户表中添加编号、密码提示问题编号,学生表中添加专业编号,问题表中添加版块编号、问题类别编号,用户留言表中添加用户编号,。用户与密码是一对一的关系,可将其合并为一个关系,在用户表中添加密码字段,
3.3.2 数据库模式定义
用户表T_User
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 邮箱 F_Email Char(25) 3 F_Name Varchar(15) 4 头像 F_Head image 5 F_College int 6 类别 F_Type int 0-学生,1-教师,
教师表 T_Teacher
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 用户号 F_UserID int Foreign key 参考T_User.F_ID 3 学历 F_XueLi Varchar(10) 4 职称 F_ZhiCheng Varchar(10) 5 备注 F_Memo ntext
学生表 T_Student
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 用户号 F_UserID int Foreign key 参考T_User.F_ID 3 专业 F_Spec Varchar(15) Foreign key 参考T_Spec.F_ID 4 年级 F_Grade Varchar(5)
信息表 T_College
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 名称 F_Name Varchar(15)
专业信息表 T_Spec
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 名称 F_Name Varchar(15)
版块信息表 T_Column
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 名称 F_Name Varchar(15)
问题类别表 T_QuestionType
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 名称 F_Name Varchar(15) 3 版块号 F_ColumnID int Foreign key 参考T_Column.F_ID
问题表 T_Question
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 提问人 F_UserID int Foreign key 参考T_User.F_ID 3 问题描述 F_Detail ntext 4 问题类别号 F_TypeID int Foreign key 参考T_QuestionType.F_ID 5 版块号 F_ColumnID int Foreign key 参考
T_ColumnID.F_ID 6 提出时间 F_Datetime Datetime
答案表 T_Answer
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 问题编号 F_QuestionID int Foreign key 参考T_QuestionType.F_ID 3 答案描述 F_Detail ntext 4 回答人 F_UserID int Foreign key 参考T_User.F_ID 5 回答时间 F_Datetime Datetime
用户登录表 T_Login
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 用户号 F_UserID int Foreign key 参考T_User.F_ID 3 密码 F_Pwd char(15) 4 权限 F_Limit Varchar(20)
用户留言表 T_Words
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 用户号 F_UserID int Foreign key 参考T_User.F_ID 3 内容 F_Words ntext 4 时间 F_Datetime Datetime 5 回复人 F_Replyer int Foreign key 参考T_User.F_ID 6 内容 F_ReplyWords ntext 7 时间 F_ReplyDate Datetime
管理员表 T_Manage
编号 名称 字段 类型 Key 备注 1 编号 F_ID int key 自增 2 用户号 F_UserID int Foreign key 参考T_User.F_ID 3 用户名 F_Name Varchar(10) 4 密码 F_Pwd char(15) 3.4数据库关系图
4.详细设计与实现
4.1建立数据库、数据表、视图、存储过程、触发器
4.1.1 建立数据库
CREATE DATABASE Data
ON
(
NAME=BlogData_Data,
FILENAME='G:\软件工程\网上答疑系统\数据库\Data.mdf',
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=5%
)
LOG ON
(
NAME=BlogData_LOG,
FILENAME='G:\软件工程\网上答疑系统\数据库\Data_log.ldf',
SIZE=2MB,
MAXSIZE=5MB,
FILEGROWTH=10%
)
GO
4.1.2 建立数据表
创建密码提示问题表
create table T_PwdQuestion
(
F_ID int identity(1,1),
F_Question varchar(20),
primary key(F_ID)
)
创建信息表
create table T_College
(
F_ID int identity(1,1),
F_Name varchar(30),
primary key(F_ID)
)
创建专业信息表
create table T_Spec
(
F_ID int identity(1,1),
F_Name varchar(30),
primary key(F_ID)
)
创建用户表
create table T_User
(
F_ID int identity(1,1),
F
上一篇:
历史上的白起和魏冉关系揭密
下一篇:
浙大人文社会科学引文索引来源期刊CSSCI(2010