毕业设计管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计管理系统
——数据库设计
4.1 数据库概念模型
1. 实体属性分析
毕业设计管理系统涉及到的实体对象有:班级、学生、教师(含管理员)、课题、公告(留言)、作业、成绩、学生提问、教师答疑等。以下是本系统主要实体对象及其属性。
(1)学生:学班级代号、班级名称、学号、学生姓名、权限代码、密码、学生性别、生日、头像、邮编、通讯地址、手机号码、家庭电话、办公室电话、QQ号码、Email、个人主页、首次登录时间、最近上线时间、本次登录时间、登录次数等。
(2)教师:教师代号、专业、账号、姓名、密码、权限级别、性别、生日、头像、职称、研究领域、家庭电话、办公室电话、手机、QQ号码、MSN号码、Email号码、个人主页、简介、首次登录时间、最近上线时间、本次登录时间、登录次数、科研论文等。
(3)课题:课题代号、教师代号、班级号、填报人、课题名、课题方向、课题属性、限选人数、课题状态、基本要求、课题介绍、填报日期。
(4)选题:选题号、课题号、学号、选题时间、进程号、分数。
(5)进程:进程号、进程名、起始日期、截止日期。
(6)作业:作业号、作业名、学号、提交日期、作业描述、教师评语、成绩。
(7)提问:问题号、学号、班级号、问题标题、回复内容、回复数、浏览次数、时间、是否显示。
(8)解答:回复号、问题号、教师号、班级号、解答、回复日期。
2. 实体联系图
上术各实体之间相互存在关联关系,通过各种关联关系把各个孤立的数据联系到一起,形成一个统一完整的数据。数据库的实现可以依据这种关系设置参照完整性,创建数据视图。完整的E-R图如图4-4 所示。
图4-4 完整的数据库E-R图
4.2 数据库逻辑结构
数据库设计工作在软件开发中占有重要地位,在本系统主要用到的表有学生信息表Students,教师信息表Teachers,课题信息表Projects,成绩信息表selection,通知表Notices,过程表Process,问题表Questions,师生问答关联信息表Quesolutions,资料下载信息表DownLoads,消息信息表Messages,讨论信息表Discuss,学生登陆信息表StuLog,班级信息表Class,文章信息表Articles等。以下介绍数据库中主要的三张表的逻辑结构。
1. 学生信息表Students
学生信息表Students的结构如表4-4所示。
表4-4 学生信息表Students的结构表
说明:上表中允许空一列1表示允许空,0表示不允许为空(下同)。
2.教师信息表T eachers
教师表Teachers表结构如表4-5所示。
表4-5 教师表Teachers的结构表
3. 课题信息表Projects
课程信息表Projects,表结构如表4-5所示。
表4-5课程信息表Projects的结构表
4.3 数据库实现
1. 创建数据库
SQL Server 2005 提供单一管理控制台,从而简化了企业数据平台的部署、管理和优化。通过管理控制台,管理员可以监控、管理和优化整个企业的所有数据库和相关服务。该控制台还具有可扩展的管理基础结构,这种基础结构可以通过SQL 管理对象进行编程,使用户能够自定义和扩展数据库平台管理功能和构建其他自定义工具。
通过SQL Server Management Studio可以很方便地建立数据库GPMS (Graduation Papers Management System),在数据库中定义数据表,建立表问关联关系。在数据处理过程中,可以在基本表的基础上建立查询或视图。通过SQL Server Management Studio 建立数据库GPMS效果图如图4-19 所示。
图4-19 SQL Server Management Studio –GPMS2效果图
在实际应该中,信息查询结果源于多个数据表,为了有效地进行信息综合查询,需要在数据库中建立视图,本系统中通过视图查询获取的信息主要有:通知(留言)、课题信息、选题信息、答疑记录以及各种统计数据。比如查询选题信息时,涉及到班级、学生、教师、课题、选题、进度等五个表,依据这个五个数据表建立选题视图,在应用程序中就可以通过此视图进行数据操作,从而提高查询效率。在此视图中,各表之间的关联关系如图4-20 所示。
图4-20 选题信息视图设计效果图
其对应的SQL查询语句为:
SELECT TOP (100) PERCENT Selection.SeleID, Teachers.TeaID, Teachers.TeaName, Projects.ProID, Projects.Provider, Projects.ProName, Projects.Limited, Projects.Status, Projects.Prodate, Selection.Sdate, Selection.Score, Students.CLassID, Students.ClassName, Students.StuID, Students.StuName, Class.Class, Projects.Subject, Projects.Attribute, Projects.Request, Projects.ProInfo, Process.Process, Process.ProcessID FROM Teachers INNER JOIN
Projects ON Teachers.TeaID = Projects.TeaID INNER JOIN
Selection ON Projects.ProID = Selection.ProID INNER JOIN
Students ON Selection.StuID = Students.S tuID INNER JOIN
Class ON Students.CLassID = Class.ClassID INNER JOIN
Process ON Selection.ProcessID = Process.ProcessID
ORDER BY Teachers.TeaID
2.数据库关系图
数据库中的数据表是相互关联的,通过关联关系设计数据的效性规则,可以对数据进行有效管理,GPMS中各表的关联关系图如图4-21所示。
图4-21 GPMS中各表的关联关系图
参照完整性属于表间规则。对于永久关系的相关表,在更新、插入或删除记录时,如果只改其一不改其二,就会影响数据的完整性。例如修改父表中关键字值后,子表关键字值未做相应改变;删除父表的某记录后,子表的相应记录未删除,致使这些记录称为孤立记录;对于子表插入的记录,父表中没有相应关键字值的记录;等等。对于这些设计表间数据的完整性,统称为参照完整性。
图4-21中所列出的12张表格相互之间都存在一定的依赖关系,通过数据库的关联关系设置参照完整性,可以确保数据同步更新、删除和插入,保证数据的完整性和有效性,便于在今后的运行过程中管理和维护数据库。