文档视界 最新最全的文档下载
当前位置:文档视界 › 【最新版】选课系统的数据库设计毕业设计

【最新版】选课系统的数据库设计毕业设计

毕业论文

论文题目:选课系统的数据库设计

系别数学系

专业数学教育

班级 12数教(3)班

姓名

指导教师

2015年4月 3日

正文目录

内容摘要 (1)

1.数据库系统描述 (1)

1.1学生选课数据库设计的背景 (1)

1.2学生选课数据库设计的目的 (1)

2.可行性分析 (2)

2.1技术可行性 (2)

2.2高效、准确可行性 (3)

2.3操作可行性 (3)

3.需求分析 (3)

3.1需求描述 (3)

3.2需求分析任务 (3)

3.3数据字典 (4)

4. 概要设计 (4)

5.学生选课数据库系统设计的业务逻辑 (5)

5.1 E-R图以及关系模式 (5)

5.2 E-R图 (6)

5.3 范式分析 (7)

6.创建表 (10)

6.1数据库的数据插入语句 (13)

6.2 数据库的特定选择查询 (14)

6.3数据库的更新查询 (15)

7.数据库的安全管理措施,指定用户并进行相关授权 (15)

7.1数据库的安全管理措施 (15)

7.2数据库的授权操作 (16)

选课系统的数据库设计

(姚雪)

摘要:本文依据广泛采用的是工程化6阶段开发设计过程与方法,对学生选课系统进行了可行性分析、需求分析、给出了数据字典,通过概要设计得出了系统功能结构,建立了系统的ER模型,随后给出了数据表设计及创建的SQL语句。

关键词: 选课 ER模型数据表创建

1数据库系统描述

1.1学生选课数据库设计的背景

随着科技的不断发展,学生的选课信息已经摈弃了以往的手工文件管理阶段,进化成为了高科技、高效率的数据库应用程序来进行管理。学生选课信息管理系统是基于SQL SERVER数据库为后台、Visual Studio2008开发应用软件作为前台的一种C/S模式的数据库应用程序。使用学生选课信息管理系统可以更高效、准确地进行学生选课、查询、记录添加等各种操作,大大减少信息管理人员的负担。

网上选课系统的出现使同学们能够更加自主、便捷、准确的进行选课。但是,由于一般高校中的学生都比较多,因此带来了诸多如信息管理等问题,鉴于需要将学生信息、选课信息等信息数字化以便于管理维护,我们便想到了利用数据库能够比较良好地解决此类问题。

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.概要设计

在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所示:

图7 数据库系统E-R

5.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(

D eptNum char(10) NOT NULL PRIMARY KEY,

D eptName char(20 ) NOT NULL,

DeptChairman char(10) NOT NULL,

D eptTel char(15) NOT NULL,

D eptDesc text NOT NULL,

);

(2)创建major专业信息表

CREATE TABLE major(

M ajorNum char(10) NOT NULL PRIMARY KEY,

D eptNum char(10) NOT NULL,

M ajorName char(20) NOT NULL,

M ajorAssistant 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(

T eacherNum char(10) NOT NULL PRIMARY KEY,

D eptNum char(10) NOT NULL,

TeacherName char(10) NOT NULL,

TeacherSex char(2) NOT NULL,

TeacherBirthday date NOT NULL,

T eacherTitle 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,

CourseDesc char NOT 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) REFERENCES

Course(CourseNum),

FOREIGN KEY (TeacherNum) REFERENCES

teacher(TeacherNum),

);

6.1数据库的数据插入语句

密码为’121’的一条记录。

Insert

Into

student(StudentNum,StudentName,StudentSex,StudentBirthday, MajorNum,StudentPassword)

02’,密码为’ 123’的一条记录。

Insert

Into

student(StudentNum,StudentName,StudentSex,StudentBirth day,MajorNum,StudentPassword)

密码为’ 125’的一条记录。

Insert

Into student (StudentNum ,StudentName, StudentSex StudentBirthday, MajorNum, StudentPassword)

6.2 数据库的特定选择查询

(1)查询学生表中学生的学号姓名和专业号

Select StudentNum, StudentName ,MajorNum

From student

(2)查询学生表中性别为“女”的学生的学号

Select StudentNum

From student

Where StudentSex=’女’

(3)查询教师表中性别号为“02”的教师的教师号

Select TeacherNum

From teacher

Where DeptNum=’02’

(4)查询学生表和专业表中专业号相同的学生的学号、姓名、专业号、专业名称

Select StudentNum , StudentSname, ManagerNum ,managername From student ,major

Where student.managernum=major.managernum

(5)查询学生表和课程表中学号相同的学生的学号,姓名,课程号,教师号

Select StudentNum , StudentSname, CourseNum TeacherNum From student ,course

Where srudent.studnetnum=course. Studnetnum

6.3数据库的更新查询

Update student

Set majornum=’03’

(2)更新课程表中课程号为“01”的课程学分为“2”。

Update course

Set coursecredit=’2’

Where coursenum=’01’;

Delete

From student

7.数据库的安全管理措施,指定用户并进行相关授权

7.1数据库的安全管理措施

1.用一个用户名或者用户标识号来标识用户身份。系统内部记录着所有合法用户的标识,系统鉴别此用户是否为合法用户,若是,则

可以进入下一步的核实;如不是,则不能使用系统。

2.口令为了进一步核实用户,系统常常要求用户输入口令。未保密起见,用户在终端上输入的口令不显示在屏幕上,系统核对口令以鉴别用户身份。

3.通过设置用户权限来管理用户。

7.2数据库的授权操作

(1)把对表student的insert权限授予用户董宣,并允许他再将此权限授予其他用户。

grant insert

on table student

to 董宣

with grant option

(2)把查询表student和修改password属性的权限授给用户王浩。

grant select,update(password)

on table student

to 王浩

(3)把用户王浩查询表student权限收回。

revoke select

on table student

from 王浩 cascade

参考文献:

[1]作者:赢心.数据库原理.中国考试(研究版).2005.2.

[2]作者:王子芳.数据库及应用课程教学探讨.西南农业大学学报(社会科学版).2005.9.

[3]作者:李大勇.时延鹏.数据库技术的历史及未来的发展趋势综述.辽宁省交通高等专科学校学报.2005.6.

[4]作者:范青.马树才.浅谈网络数据库系统安全.河北北方学院

学报(自然科学版),2005.10.

[5]作者:隽军利.李天燕.王小龙.浅析计算机数据库系统在信息管理中的应用.科技创新导报 2008.12

[6]作者:刘延华.《数据库安全技术的理论探讨》.《福州大学学报(自然科学版)》200l.8

相关文档
相关文档 最新文档