资源描述
毕业设计管理系统数据库设计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的结构表 字段描述字段名称数据类型数据长度允许空班级代号ClassIDchar101班级名称ClassNamenvarchar1001学号StuIDchar100学生姓名StuNamenvarchar100权限代码RoleIDint41密码Passwordnvarchar201学生性别StuSexchar21生日BirthDatedatetime81头像PhotoFilechar501邮编PostCodechar61通讯地址Addressnvarchar1001手机号码MobilePhonechar111家庭电话RoomPhonechar131办公室电话OfficePhonechar131QQ号码QQchar151E_mailEMailnvarchar501个人主页WebPagenvarchar1001首次登录时间FirstTimedatetime81最近上线时间LastTimedatetime81本次登录时间CurTimedatetime81登录次数Timesint41说明:上表中允许空一列1表示允许空,0表示不允许为空(下同)。2教师信息表Teachers教师表Teachers表结构如表4-5所示。表4-5 教师表Teachers的结构表字段描述字段名称数据类型数据长度允许空教师代号TeaIDchar100专业Departmentnvarchar1001账号TeaPYvarchar101姓名TeaNamenvarchar500密码Passwordvarchar150权限级别RoleIDint40性别TeaSexchar21生日BirthDatedatetime81头像Photofilevarchar501职称Titlenvarchar2501研究领域StudyFieldnvarchar2601联系手机MobilePhonevarchar111QQ号码QQvarchar151E_mail号码Emailnvarchar501个人主页Webpagevarchar1001个人简介Introductionnvarchar20001首次登录时间FirstTimedatetime81最近上线时间LastTimedatetime81本次登录时间CurTimedatetime81登录次数Timesint413. 课题信息表Projects课程信息表Projects,表结构如表4-5所示。表4-5课程信息表Projects的结构表字段描述字段名称数据类型数据长度允许空课题代号ProIDint40教师代号TeaIDchar101班级号ClassIDchar101填报人Providernvarchar101课题名ProNamenvarchar1001课题方向Subjectnvarchar2001课题属性Attributenvarchar1001限选人数Limitedint41课题状态Statusint41基本要求Requestnvarchar10001课题介绍ProInfonvarchar10001填报日期Prodatedatetime814.3 数据库实现1. 创建数据库SQL Server2005 提供单一管理控制台,从而简化了企业数据平台的部署、管理和优化。通过管理控制台,管理员可以监控、管理和优化整个企业的所有数据库和相关服务。该控制台还具有可扩展的管理基础结构,这种基础结构可以通过 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.ProcessIDFROM Teachers INNER JOIN Projects ON Teachers.TeaID = Projects.TeaID INNER JOIN Selection ON Projects.ProID = Selection.ProID INNER JOIN Students ON Selection.StuID = Students.StuID INNER JOIN Class ON Students.CLassID = Class.ClassID INNER JOIN Process ON Selection.ProcessID = Process.ProcessIDORDER BY Teachers.TeaID2数据库关系图数据库中的数据表是相互关联的,通过关联关系设计数据的效性规则,可以对数据进行有效管理,GPMS中各表的关联关系图如图4-21所示。图4-21 GPMS中各表的关联关系图参照完整性属于表间规则。对于永久关系的相关表,在更新、插入或删除记录时,如果只改其一不改其二,就会影响数据的完整性。例如修改父表中关键字值后,子表关键字值未做相应改变;删除父表的某记录后,子表的相应记录未删除,致使这些记录称为孤立记录;对于子表插入的记录,父表中没有相应关键字值的记录;等等。对于这些设计表间数据的完整性,统称为参照完整性。图4-21中所列出的12张表格相互之间都存在一定的依赖关系,通过数据库的关联关系设置参照完整性,可以确保数据同步更新、删除和插入,保证数据的完整性和有效性,便于在今后的运行过程中管理和维护数据库。
展开阅读全文