资源描述
( 此文档为 word 格式,下载后您可任意编辑修改!)毕业论文论文题目 :选课系统的数据库设计系别数学系专业数学教育班级12数教( 3)班姓名指导教师2015年 4月3 日1正文目录内容摘要.11. 数据库系统描述 .11.1学生选课数据库设计的背景 . .11.2学生选课数据库设计的目的 . .12. 可行性分析 .22.1技术可行性 .22.2高效、准确可行性 .32.3操作可行性 .33. 需求分析 .33.1需求描述 .33.2需求分析任务 .33.3数据字典 .44.概要设计 .45. 学生选课数据库系统设计的业务逻辑 .55.1E-R图以及关系模式 .55.2E-R图 .65.3范式分析 .76. 创建表.106.1数据库的数据插入语句 .1326.2 数据库的特定选择查询.146.3 数据库的更新查询157. 数据库的安全管理措施,指定用户并进行相关授权157.1 数据库的安全管理措施157.2 数据库的授权操作163选课系统的数据库设计(姚雪)摘要:本文依据广泛采用的是工程化6 阶段开发设计过程与方法,对学生选课系统进行了可行性分析、需求分析、给出了数据字典, 通过概要设计得出了系统功能结构,建立了系统的ER模型,随后给出了数据表设计及创建的SQL语句。关键词 :选课 ER 模型数据表创建1 数据库系统描述1.1 学生选课数据库设计的背景随着科技的不断发展, 学生的选课信息已经摈弃了以往的手工文件管理阶段,进化成为了高科技、 高效率的数据库应用程序来进行管理。学生选课信息管理系统是基于 SQLSERVER数据库为后台、 Visual Studio2008 开发应用软件作为前台的一种 CS 模式的数据库应用程序。使用学生选课信息管理系统可以更高效、准确地进行学生选课、查询、记录添加等各种操作,大大减少信息管理人员的负担。网上选课系统的出现使同学们能够更加自主、 便捷、准确的进行选课。但是,由于一般高校中的学生都比较多, 因此带来了诸多如信息管理等问题, 鉴于需要将学生信息、 选课信息等信息数字化以便于管理维护,我们便想到了利用数据库能够比较良好地解决此类问题。1.2 学生选课数据库设计的目的随着无纸化办公的普遍实现, 信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。 让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一, 也是高校教学管理工作的重要内容之一。网上选课与传统的选课方式相比更加节约资源, 增加了学生选课自主权。学生选课系统作为一种现代化的教学技术, 越来越受到人们的重视,是一个学校不可或缺的部分 , 学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的随意性, 提高信息处理的速度和准确性, 能够准确、及时、有效的查询和修改学生选课情况。与传统的选课方式相比, 网上选课系统利用局域网为学生选课带来了极大的便捷。 学生在公共机房, 或者宿舍的个人电脑上便可以通过校园网络来选课。 在选课期间内,学生能够使用选课系统灵活的修改自己的选课情况, 大大提高了学校选课工作的效率。 教务处的教师则可以通过选课系统的管理员子系统来管理学生的选课情况, 使得学生选课工作达到系统化和自动化, 大大提高了学校的工作效率, 为广大师生及相关人员节省了极多的时间。数据库对于一个应用系统的意义是相当重要的, 一个设计良好的数据库系统一方面, 能够给开发者带来便捷, 更轻松的进行系统设计与编码;另一方面,对于系统的后期维护也非常重要, 一个良好的数据库系统能够保证系统的可扩充性, 以及系统的移植性等问题。 全校性选修课开设的目的在于扩大学生的知识面、 加强学生素质教育、 培养复合型高级人才, 具有不可替代的重要性。 随着教育改革的不断深入和素质教育的加强, 学分制的实施, 选修课在一个学生的培养计划中占的比重将越来越大。2 可行性分析2.1 技术可行性由于本系统管理的对象单一 , 都是在校学生,且每个数据内容具有较强的关联性, 涉及的计算过程不是很复杂。 因此,比较适合于采用数据库管理。 在存储量、速度方面都能满足数据库运行的要求。 在技术难度方面完全可以实现。本系统的设计是在 Windows XP中文版操作系统环境下目 , 利用多种数据库产品,每种产品都具有各自的特点和适用范围, 因此,在选择数据库时, 应考虑数据库应用的特点及适用范围,本系统选用的数据库产品为SQL Server ,可用于开发Windows环境下的种类应用程序。技术可行性考虑如下几方面:1、在当前的限制条件下,该系统的功能目标能否达到;2、利用现有的技术,该系统的功能能否实现;3、对开发人员的数量和质量的要求并说明这些要求能否满足;4、在规定的期限内,本系统的开发能否完成。2.2 高效、准确可行性学生学籍选课管理系统省去了老师为学生展示学校为学生提供的选修课程,并作介绍,考试后把分数抄录多次以做备案和公告这些大量繁杂而由单一枯燥的劳动, 可以让老师把精力放在教学和组织教学等更重要更具创造性的事情上,这就显著的提高了他们的工作效率。2.3 操作可行性本系统可以运行在 WindowsXP等操作系统上 , 一般系统都可以运行而且操作非常的简单,一看即懂,方便大家使用 , 即使不具备一定电脑知识的人也可以熟练掌握。3 需求分析3.1 需求描述随着中国教育信息化时代的来临, 各大校园对于内部信息的管理已经采用 IT 新潮的应用和管理系统技术来进行。为了紧随信息化时代的脚步,不被时代所淘汰, 学生的信息管理也应当由传统的手工管理模式进化为软件与数据库结合应用的管理模式, 从而加强学生信息的管理能力,让学校整体管理水平得到较大的提升。3.2 需求分析任务 :主要为学校管理者提供有效的管理工具完成对学生信息的输入,学生成绩的输入,系统用户的注册;生信息、成绩的删除、修改操作;方便的成绩查询,支持按条件查询;由于该系统的使用对象多, 要求有较好的权限管理;由于操作人员的计算机知识普遍不高, 要求有良好的人机界面;3.3 数据字典数据元素学号学生姓名性别所在系课程号课程名课程号操作员编号操作员姓名密码权限4. 概要设计数据类型charcharcharcharcharcharcharcharcharcharchar长度5822032034121020数据来源学生表学生表学生表学生表学生表学生表学生表操作员表操作员表操作员表操作员表在 21 世纪的科技时代,科学技术突飞猛进,信息社会的高科技时代,商品经济化的高效益, 计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切, 还有人由于计算机操作不方便继续用手工劳动。 为了适应现代社会人们高度强烈的时间观念,学生成绩管理系统为教学办公带来了极大的方便。 该学生成绩管理系统是以数据库查询语言编写。 系统管理员、 教师、学生只需通过简单的操作, 用户都可以了解本系统软件的基本工作原理。 用户只需进行输入一些简单的汉字、 数字,或用鼠标点击即可达到自己想要的目标。学生选课信息管理系统主要提供学生查询, 学生可以通过该系统查阅与自己相关信息。教师可以通过成绩管理系统查阅学生成绩信息,教师信息等相关操作。 系统管理员可以实现以上的所有功能, 还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的还原等相关操作。此外还需要配置一些管理人员, 人员的数目是根据管理员的数量确定的。管理人员在对应的学生成绩情况进行整理工作。 主要负责学生选课信息管理这一模块, 下面基于详细介绍: 学生成绩管理系统分添系统、修改系统、删除系统、查询系统、推出系统。根据模块化的思想 , 把系统分为六大模块 , 然后对每个模块具体分析 . 这样条理更清晰 . 开发制作更容易 . 具体系统功能如下 :图 4.1 系统功能5 学生选课数据库系统设计的业务逻辑5.1 E-R图以及关系模式在我们的数据库系统中共有 6 个实体:学生、教师、管理员、专业、院系、课程。(1)学生的属性:学号、姓名、性别、生日、密码(2)教师的属性:工号、姓名、性别、生日、密码、职称(3)管理员的属性:工号、姓名、性别、生日、密码、权限标志(4) 专业的属性:专业号码、专业名、辅导员、联系方式、专业介绍(5)院系的属性:系号码、系名称、系主任、联系方式、系介绍(6)课程的属性:课程号码、学时、学分、课程介绍(7)控制设置属性:选课控制、成绩录入控制5.2 E-R图:各个实体的E-R 图如下所示:学生学号姓名性别生日密码图1 学生教师工号姓名性别生日密码职称图2 教师管理员工号姓名性别生日密码图3 管理员专业专业号码专业名辅导员联系方式专业介绍图4 专业系系号码系名系主任联系方式系介绍图 5 系课程课程号课程名学时学分课程介绍图6 课程然后,将以上实体之间联系表示出来,画出数据库系统的E-R图,如图 7 所示:专业号码系号码系名系主任联系方式系介绍专业名辅导员专业M属于1系1联系方式1专业介绍属于工号属于工号姓名性别M姓名学号M11管理管理员管理教师性别姓名学生MMM密码性别1密码生日讲授密码M生日成绩管理生日职称1选课MN 课程课程号课程名学时学分课程介绍图 7 数据库系统 E-R5.3 范式分析( 1) 分析关系模式学生(学号、姓名、性别、生日、密码)在关系模式学生(学号、姓名、性别、生日、密码)中,每一个属性都不能再分,故,属于 1NF.在关系模式学生(学号、姓名、性别、生日、密码)中,主键为学号,所以,姓名,性别,专业,都是非主属性。根据候选键定义可知,学号完全决定姓名,性别,生日,密码,即每一个非主属性完全依赖于候选键,故,该关系模式属于 2NF。在关系模式学生(学号、姓名、性别、生日、密码)中,学号、姓名、性别、生日、密码,都是非主属性,且每一个非主属性不传递函数依赖于候选键学号,即,学号决定姓名,但姓名不决定性别,不决定生日和密码。故,该关系模式属于 3NF。在关系模式学生(学号、姓名、性别、生日、密码)中,候选键为学函数依赖为学号姓名,学号 性别,学号 生日 , 学号 密码故,该关系模式属BCNF。由于在关系模式学生(学号、姓名、性别、生日、密码)中不存在多值依赖,故该关系模式不属于 4NF。综上所述,关系模式学生(学号、姓名、性别、生日、密码)为 BCNF。(2)分析关系模式教师(编号,姓名,性别,职称,所教科目)和课程(课程号码、学时、学分、课程介绍)在关系模式教师(工号、姓名、性别、生日、密码、职称)和课程(课程号码、 学时、学分、课程介绍)中,每一个属性都不能再分,故,属于首先满足 1NF.主键分别为编号和课程号,每一个非主属性完全依赖于候选键,故,这两个关系模式首先属于 2NF。且每一个非主属性不传递函数依赖于候选键学号,故属于 3NF。而且,候选键编号和课程号决定一切非主属性,故,该关系模式属于 BCNF。 由于关系模式中不存在多值依赖, 故,不属于 4NF。 即,关系模式教师 (工号、姓名、性别、生日、密码、职称)和课程(课程号码、学时、学分、课程介绍)属于 BCNF。(3)分析关系模式管理员属性(工号、姓名、性别、生日、密码、权限标志)在关系模式管理员属性(工号、姓名、性别、生日、密码、权限标志)中,每一个属性都不能再分,故,先属于 1NF。在关系模式管理员属性(工号、姓名、性别、生日、密码、权限标志)中,主键为工号,其他都是非主属性,每一个非主属性完全依赖于候选键,故,该关系模式属于 2NF。在关系模式管理员属性(工号、姓名、性别、生日、密码、权限标志)中,姓名,性别、生日、密码、权限标志都是非主属性,由于存在函数依赖,即,工号 姓名,性别 姓名,故该关系模式不属于 3NF。综上所述,关系模式管理员属性(工号、姓名、性别、生日、密码、权限标志)为 2NF。( 4)分析关系模式专业属性(专业号码、系号码、专业名、辅导员、联系方式、专业介绍)在关系模式专业属性(专业号码、系号码、专业名、辅导员、联系方式、专业介绍)中,每一个属性都不能再分,故,属于1NF.在关系模式专业属性(专业号码、系号码、专业名、辅导员、联系方式、专业介绍)中,主属性为专业号码和系号码每一个非主属性不完全依赖于主属性,故,该关系模式不属于 2NF。综上所述,关系模式专业属性(专业号码、系号码、专业名、辅导员、联系方式、专业介绍)为 1NF。( 5)分析关系模式院系(系号码、系名称、系主任、联系方式、系介绍)在关系模式院系 (系号码、系名称、系主任、联系方式、系介绍)中,每一个属性都不能再分,故,先属于 1NF。在关系模式院系 (系号码、系名称、系主任、联系方式、系介绍)中,主键为系号码, 其他都是非主属性, 每一个非主属性完全依赖于候选键,故,该关系模式属于 2NF。在关系模式院系 (系号码、系名称、系主任、联系方式、系介绍)中,由于存在函数依赖,即,系名称 系号码,故,该关系模式不属于 3NF。综上所述,关系模式院系 (系号码、系名称、系主任、联系方式、系介绍)为 2NF。( 6)分析关系模式选课信息(学号、课程号码、教师工号、成绩)在关系模式选课信息(学号、课程号码、教师工号、成绩)中,每一个属性都不能再分,故,属于首先满足 1NF.在关系模式选课信息(学号、课程号码、教师工号、成绩)中,主键分别为学号和课程号码, 每一个非主属性完全依赖于候选键, 故,这两个关系模式首先属于 2NF。且每一个非主属性不传递函数依赖于候选键学号,故属于 3NF。综上所述,关系模式选课信息(学号、课程号码、教师工号、成绩)为 3NF。6. 创建表数据库的创建语句( 1) 创建 dept 院系信息表CREATE TABLE dept(DeptNamechar(20 )NOT NULL,DeptChairmanchar(10) NOT NULL,DeptTelchar(15)NOTNULL,DeptDesctextNOTNULL,) ;( 2) 创建 major 专业信息表CREATE TABLE major(MajorNum char(10) NOT NULL PRIMARY KEY, DeptNum char(10) NOT NULL,MajorName char(20) NOT NULL,MajorAssistant char(10) NOT NULL,MajorTel char(15) NOT NULL,FOREIGN KEY (DeptNum) REFERENCES dept(DeptNum) ;( 3)创建 student 学生信息表CREATE TABLE student(StudentNum char(10) NOT NULL PRIMARY KEY, MajorNum char(10) NOT NULL, StudentName char(10) NULL,StudentSex char(2) NOT NULL, StudentBirthday date NOT NULL, StudentPassword char(20) NOT NULL, FOREIGN KEY (MajorNum) REFERENCES major(MajorNum) );(4)创建 teacher教师信息表CREATE TABLE teacher(TeacherNum char(10) NOT NULL PRIMARY KEY, DeptNum char(10) NOT NULL,TeacherName char(10) NOT NULL,TeacherSex char(2) NOT NULL,TeacherBirthday date NOT NULL,TeacherTitle char(20) NULL,FOREIGN KEY (DeptNum) REFERENCES dept(DeptNum) ;(5) 创建 manager 管理员信息表CREATE TABLE manager(ManagerNum char(10) NOT NULL PRIMARY KEY, ManagerName char(10) NOT NULL, ManagerSex char(2) NOT NULL, ManagerBirth date date NOT NULL,ManagerRights int NOT NULL) ;(6) 创建 course 课程信息表CREATE TABLE course(CourseNum char(10 ) NOT NULL PRIMARY KEY, CourseName char(20) NOT NULL, CourseCredit float NOT NULL, CourseClass int NOT NULL,CourseDesccharNOT NULL,) ;(7) 创建 stucourse 学生选课信息表CREATE TABLE stucourse(StudentNum char(10) NOT NULL,CourseNum char(10) NOT NULL,TeacherNum char(10) NOT NULL,Grade int NULL,FOREIGN KEY (StudentNum) REFERENCES student (StudentNum),FOREIGN KEY (CourseNum) REFERENCESCourse(CourseNum),FOREIGN KEY (TeacherNum) REFERENCESteacher(TeacherNum),) ;6.1 数据库的数据插入语句密码为 121的一条记录。InsertIntostudent(StudentNum,StudentName,StudentSex,StudentBirthday,MajorNum,StudentPassword)02,密码为 123 的一条记录。InsertIntostudent(StudentNum,StudentName,StudentSex,StudentBirthday,MajorNum,StudentPassword)密码为 125 的一条记录。InsertInto student (StudentNum ,StudentName, StudentSex StudentBirthday, MajorNum, StudentPassword)6.2 数据库的特定选择查询(1)查询学生表中学生的学号姓名和专业号SelectStudentNum, StudentName ,MajorNumFrom student(2)查询学生表中性别为“女”的学生的学号Select StudentNumFrom studentWhere StudentSex= 女(3)查询教师表中性别号为“02”的教师的教师号Select TeacherNumFrom teacherWhere DeptNum=02(4) 查询学生表和专业表中专业号相同的学生的学号、姓名、专业号、专业名称Select StudentNum , StudentSname, ManagerNum,managernameFrom student ,majorWhere student.managernum=major.managernum(5) 查询学生表和课程表中学号相同的学生的学号,姓名,课程号,教师号Select StudentNum , StudentSname, CourseNum TeacherNumFrom student ,courseWhere srudent.studnetnum=course. Studnetnum6.3 数据库的更新查询Update studentSet majornum= 03(2) 更新课程表中课程号为“ 01”的课程学分为“ 2”。Update courseSet coursecredit=2Where coursenum=01;DeleteFrom student7. 数据库的安全管理措施,指定用户并进行相关授权7.1 数据库的安全管理措施1. 用一个用户名或者用户标识号来标识用户身份。 系统内部记录着所有合法用户的标识, 系统鉴别此用户是否为合法用户, 若是,则可以进入下一步的核实;如不是,则不能使用系统。2. 口令 为了进一步核实用户,系统常常要求用户输入口令。未保密起见,用户在终端上输入的口令不显示在屏幕上, 系统核对口令以鉴别用户身份。3. 通过设置用户权限来管理用户。7.2 数据库的授权操作( 1)把对表 student 的 insert 权限授予用户董宣, 并允许他再将此权限授予其他用户。grant inserton table studentto董宣with grant option(2)把查询表 student和修改 password 属性的权限授给用户王浩。grant select,update(password)on table studentto王浩(3)把用户王浩查询表student权限收回。revoke selecton table studentfrom 王浩 cascade参考文献:1 作者:赢心数据库原理中国考试 ( 研究版 ) 200522 作者:王子芳数据库及应用课程教学探讨 西南农业大学学报 ( 社会科学版 ) 200593 作者:李大勇时延鹏数据库技术的历史及未来的发展趋势综述辽宁省交通高等专科学校学报 200564 作者:范青马树才浅谈网络数据库系统安全河北北方学院学报 ( 自然科学版 ) ,2005105 作者:隽军利李天燕王小龙 . 浅析计算机数据库系统在信息管理中的应用科技创新导报 2008 126 作者:刘延华数据库安全技术的理论探讨福州大学学报( 自然科学版 ) 200l 8
展开阅读全文