3。4 数据库设计与实施 3.4。1数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据,数据结构以及数据处理的流程,组成一份详尽的数据库。针对本学院的毕业论文完成的流程,通过对学生学习过程的内容和数据流程分析,设计如下所示的数据项和数据结构.
1. 学院数据实体:学院名称、负责人、办公电话、学院编号。
2. 学生数据实体:学号、密码、姓名、性别、民族、籍贯、出生日期、身份证号、联系电话、Email、备注、学院编号、所在班级、角色名称、论文编号.
3. 教师数据实体:教师编号、密码、学院编号、所在科室、发布选题、教育程度、职称、姓名、性别、政治面貌、联系电话、Email、角色名称、备注.
4. 角色数据实体:角色名称、权限名称。 5. 权限数据实体:权限名称、 角色名称. 以上的实体都是基本的数据实体。
由于操作模块的名称对应该权限,在程序初始化时这些数据都应该添加,教师论文管理系统的目的进行论文管理,因此还要包括如下的几个数据实体:
6. 论文数据实体:论文编号、学院、作者、刊物名称、论文题目、收录 情况、教师编号、学号、影响力、影响因子、引用次数、备注。
7. 评审数据实体:教师编号、学号、论文编号、论文题目、评审意见、总分。
3。4。2数据库概念结构设计
根据需求分析的数据项和数据结构,可以规划出学院实体、教师实体、学生实体等各实体的E_R图。具体如下图所示。
学院学员编号学院名称毕业人数负责人联系电话 图3-7学院实体E-R图
教师编号教师所属二级学院姓名所在科室政治面貌角色性别教育程度备注电话E_mail职称发布选题 图3-8教师实体E—R图
学生学号所在学院姓名论文编号角色性别出生日期政治面貌籍贯身份证号所在班级备注 图3—9学生实体E_R图
论文论文编号学院名称评审意见总分学号论文题目 图3-10论文实体E_R图
角色 权限角色名称拥有权限权限编号权限名称
图3-11角色实体E_R图
学员编号学院名称毕业人数负责人 图3-12 权限实体E_R图
联系电话1发布选题管理教师编号论文编号 学院1学号1密码评定论文题目N管理姓名性别1完成MM学院名称评审意见总分学号籍贯身份证号指导密码姓名N性别政治面貌教育程度职称所属二级学院所在科室角色电话指导1论文N政治面貌出生日期教师11N学生1分配所在学院所在班级角色分配M角色 M备注1E_mail备注角色名称拥有拥有权限论文编号N权限权限编号权限名称 图3—13 系统总体E_R图
3。4。3数据逻辑结构设计
将数据概念结构设计转化为SQL SERVER 2005 数据库系统所支持的实际数据库模型,就是数据库的逻辑结构.在实体以及实体之间的关系基础上,形成数据库中的表格以及各个表格之间的关系。毕业论文管理系统数据库中的各个表格的设计见附录。
1. 管理员进行基础信息的管理时,包括学院,用户、角色的管理,因此要包括四个
数据实体.根据前面的分析可知,这四个实体要描述的信息分别为:
2. 学院数据实体:学院名称、负责人、办公电话、学院编号.
3. 学生数据实体:学号、密码、姓名、性别、民族、籍贯、出生日期、身份证号、联系电话、Email、备注、学院编号、所在班级、角色名称、论文编号.
4. 教师数据实体:教师编号、密码、学院编号、所在科室、发布选题、教育程度、职称、姓名、性别、政治面貌、联系电话、Email、角色名称、备注。
5. 角色数据实体:角色名称、权限名称。
6. 由于操作模块的名称对应该权限,在程序初始化时这些数据都应该添加,因此还应有如下的数据实体。
7. 权限数据实体:权限名称、 角色名称、 8. 以上的五个实体都是基本的数据实体。
9. 教师论文管理系统的目的进行论文管理,因此还要包括如下的几个数据实体: 10. 论文数据实体:论文编号、学院、作者、刊物名称、论文题目、收录 情况、教师编号、学号、影响力、影响因子、引用次数、备注。
11. 评审数据实体:教师编号、论文编号、学号、论文题目、评审意见、总分。
3.4。4物理结构设计
在这个数据库管理系统中要建立13张数据表,下面将主要介绍关键数据表的数据库设计的详细及存储后台用户基本信息的数据库表的字段说明。
1. 数据表的说明
(1) 学院数据表(pms_college):用于存放学院数据,如表3—1. (2) 教师数据表(pms_teacher):用于存放教师数据,如表3—2. (3) 学生数据表(pms_student):用于存放学生数据,如表3—3。 (4) 角色数据表(pms_role):用于存放角色数据库,如表3—4. (5) 权限数据表(pms_right):用于存放权限数据,如表3-5。 (6) 论文数据表(pms_paper):用于存放论文数据,如表3-6。
(7) 评审数据表(pms_score):用于存放学生论文的评审结果,如表3-7。
(8) 课题选择表(pms_select):纪录学院所要求的论文的课题,供毕业生进行论文课题选择,如表3-8。
(9) 上传文档表(pms_upload):纪录用户上传文档的保存信息,如表3-9 (10) (11) (12) (13)
系统信息设置表(Config):纪录系统的基础设置信息,如表3—10. 公告信息表(Information):用于存放系统公告消息,如表3—11。 管理员信息表(admin):用于存放管理员的信息,如表3—12 消息表(massage)纪录用户之间相互发送的消息等信息,如表3—13。
2. 数据表的详细设计
(1) 学院数据表(pms_college)的设计如表3-1所示。
表3-1学院数据表
编号 1 2 3 4 5 6 字段名称 Collegeid cname Tel Man Tamount Smount 字段类型 Char(10) Char(30) Char(11) Char(30) Char(10) Char(10) 字段说明 学院编号 学院名称 办公电话 负责人 教师人数 毕业人数 备 注 主键 (2) 教师数据表(pms_teacher)的设计如表3—2所示。
表3-2教师数据表
编号 1 2 3 4 5 6 7 8 9 10 字段名称 tno Password sname Sex Politics Education Post Mobile Email Descs 字段类型 Char(10) Char(10) Char(30) char char char char char char char 字段说明 教师编号 密码 姓名 性别 政治面貌 教育程度 职称 电话 Email 备注 备注 主键 Check约束
11 12 13 14 15 Collegeid Department role subject image char char char Char image 学院编号 所在科室 角色 发布选题 头像 (3) 学生数据表(pms_student)的设计如表3-3所示。
用户基本信息表保存的是后台用户的基本信息.其中“sno,tno ”和“用户密码”是用于以后登陆,为了不引起混乱,要求“用户名\"在表中唯一;姓名、电话、电子邮件等是用户的基本信息。
表3—3学生数据表
编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 字段名称 sno Password Name Sex Politics Birthday Cerid Addr Mobile Email Descs Collname Classes role Bh image 字段类型 char char char char char Date Char char char char char char char char Char image 字段说明 学 号 密码 姓名 性别 政治面貌 出生日期 身份证号 籍贯 电话 Email 备注 学院名称 所在班级 角色 论文编号 头像 备注 主 键 Check约束 (4) 角色数据表(pms_role)
表3-4角色数据表
编 号 0 1 2 字段名称 Id Name rights 字段类型 char(10) char char 说 明 角色编号 角色名称 拥有权限 备 注 主键 (5) 权限数据表(pms_right)
表3-5权限数据表
编 号 1 2 字段名称 Name Rname 字段类型 char char 说明 角色名称 权限名称 (6) 论文数据表(pms_paper)
表3-6论文数据表
编号 1 2 3 4 5 6 7 字段名称 Bh Xy Author Pname tno bz sno 字段类型 char char char char Char char char 字段说明 论文编号 学院名称 作者 论文题目 教师编号 备注 学号 备注 主键 (7) 评审数据表(pms_score)
表3—7评审数据表
编号 1 2 3 4 5 6 字段名称 字段类型 说 明 Lwmc tno sno Bh comm score char char char char char char 论文题目 教师编号 学号 论文编号 评审意见 总分
(8) 选题信息表(pms_select)如表3—8所示。
表3—8 选题信息表
序号 1 2 3 4 5 字段名 Xt_id title intr from addtime 字段类型 numeric(9) Varchar(50) Varchar(100) Varchar(16) Datetime(8) 说 明 编号 选题标题 选题简介 来源 添加时间 备 注 主键,唯一,非空 非空 外键,非空 非空 (9) 上传文档表(pms_upload)如表3-9所示。
表3-9 上传文档表up_docunment
序号 1 2 3 4 5 字段名 file_id title url from addtime 字段类型 numeric(9) Varchar(50) Varchar(100) Varchar(16) Datetime(8)
说 明 编号 文档标题 文档存放路径 来源 添加时间 备 注 主键,唯一,非空 非空 非空 外键,非空 非空 (10) 系统信息设置表(Config)如表3—10所示。
表3—10 系统信息设置表Config
序号 1 2 3 4 5 6 7 8 字段名 sitename siteurl Filepath Imgpath T_open S_open S_endtime 字段类型 Varchar(50) Varchar(50) Varchar(50) Varchar(50) Char(10) Char(10) Datetime(8) 说 明 站点名称 站点路径 文件保存路径 图片保存路径 教师是否开放注册 学生是否开放注册 学生账户过期时间 教师账户过期时间 备 注 非空 非空 默认“upfile” 默认“upimg\" T_endtime Datetime(8) (11) 公告信息表(Information) 如表3—11所示。
公告信息主要包括以下几个方面:学校关于毕业设计方面的规章制度、设计安排,以及推荐范文、表格下载和历年的优秀论文,和最新的公告和通知等方面内容.该项只有管理员才有权限进行添加。
表3—11公告信息表(Information)
序号 1 2 3 4 5 6 7 8 字段名 Info_id Info_title Info_content Info_from Info_class Info_time Info_upfilename Info_upfilepath 字段类型 numeric(9) Varchar(50) Varchar(2048) Varchar(16) Varchar(16) Datetime(8) Varchar(50) Varchar(100) 说 明 编号 文章标题 文章内容 文章来源 文章分类 添加时间 上传文件名 文件路径 备 注 主键,唯一,非空 非空 非空 非空 非空 非空 (12) 管理员信息如表3—12所示。
该表是用于保存系统管理人员的基本信息的,其中“管理员用户名\"和“管理密码”是管理人员登陆系统进行管理的通行证,为了不引起混乱,“用户名”在表中是唯一的。本系统的管理员分为两类:一是总管理员,拥有最高权限;二是教务管理人员,拥有一般权限,如信息的发布等等.
表3-12管理员信息
序号 1 2 3 4 5 6 7 8 9 字段名 Admin_id Admin_username Admin_password Admin_realname Admin_depart Admin_mail Admin_level Admin_validate Admin_regtime 字段类型 numeric(9) Varchar(16) Varchar(32) Varchar(10) Varchar(20) Varchar(50) Varchar(10) Varchar(2) Datetime(8) 说 明 编号 用户名 管理密码 真实姓名 部门 邮箱 权限 验证 注册时间 备 注 主键,唯一,非空 唯一,非空 非空 非空 非空 非空 默认已审 非空
(13) 消息管理表Massage如表3-13所示。
表3—13消息管理表Massage
序号 1 2 3 4 5 6 7 8 9 字段名 M_id M_title M_content M_from M_to M_read M_time M_upfilename M_upfilepath 字段类型 numeric(9) Varchar(50) Varchar(200) Varchar(16) Varchar(16) Varchar(2) Datetime(8) Varchar(50) Varchar(100) 说 明 编号 消息标题 消息内容 发送人 收信人 是否已读 发送时间 附件名 附件地址 备 注 主键,唯一,非空 非空 非空 外键,非空 外键,非空 默认“未读” 非空 3.4.5创建表的脚本文件
根据数据库的字段设计,编写的创建数据表的语句详见附录。
3.5表之间的关系
图3—14表间关系
附录B 代码
创建表的脚本语句: (1) 学院数据表
create table pms_college( Collegeid int primary key, Name char(20) not null, Tel char(11) not null, Man char(12) not null, renshu char(10)); (2) 教师数据表 create table pms_teacher( tno char primary key, password char not null,
name char not null, sex char default null, Politics char not null, Education char not null, Post char not null, Mobile char, Email char, Descs char,
College char not null, Department char not null, role char); (3) 学生数据表 create table pms_student( sno char(10) primary key, passwd char(16) not null, sname char(30) not null, sex char(3) not null, politics char(45) , birthday datetime,
cerid char(30) not null, addr char(30) not null, mobile char(11), email char(50), descs char(90), college char(30), classes char(35), role char(90),
pno char(20) not null); (4) 文件上传数据表
create table pms_fileup( sno char(10),
fno char(10) primary key, fname nchar(50), filememo char(50), fileaddr char(50), filetime datetime); (1) 角色数据表 create table pms_role
( name char(9)primary key,
Rname char(12)
)
(2) 权限数据表 create table pms_right
(Rname char(12) primary key, name char(12) )
(3) 论文数据表 create table pms_paper
( Bh char(10) primary key,
Xy char not null ,Zz char not null ,Kwmc char not null ,Lwmc char not null ,Yxl char not null ,Yxyz char not null ,Yycs number not null ,Djzz number not null ,Bz char not null )) (4) 评审数据表
create table pms_score ( Bh char(10),
Sno char not null ,Lwmc char not null ,Tno char not null null ,score char not null ) (5) 管理员数据表 create table pms_admain( ano char(10) primary key, aname char(30) not null, sex char(3) not null, addr char(30) not null, mobile char(11), email char(50), descs char(90), role char(90), );
,Comm char not
因篇幅问题不能全部显示,请点此查看更多更全内容