SQLServer 课程设计.docx
《SQLServer 课程设计.docx》由会员分享,可在线阅读,更多相关《SQLServer 课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
SQLServer课程设计
学生选课系统说明书
1绪论
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
学校作为一种信息资源的集散地,学生和课程繁多,包含很多的信息数据的管理。
学生选课是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,由于信息比较多,选课信息的管理工作混乱而又复杂;一般选课情况是记录在文件上,课程的数目和代号也记录在文件中,时间长了,如再要进行查询,造成查询费时、费力。
这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
作为计算机应用的一部分,使用计算机对学生选课信息进行管理,有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事劳资管理的效率,也是科学化、正规化管理,与世界接轨的重要条件。
基于这些问题,有必要建立一个学生选课系统,使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
2需求说明
本系统就是为了管理好学生选课信息而设计的,系统开发的总体任务是实现学生选课信息的系统化、规范化和程序化,建立学生选课系统对于减轻管理人员的劳动强度、提高工作质量和效率、可以快捷、方便的对相关信息进行查询、提高了信息资源的利用率和管理水平。
2.1系统功能模块图
学生选课系统需要完成的功能主要有:
(1)查询信息,包括按课程号、学号、教师号等进行查询。
(2)选课信息,包括按院别查询,选取学号、按课程号、成绩登记。
每个学生选课时,必须判断学生是否能够选修该们课程。
(3)系统管理,包括由超级用户实现用户帐号的管理,包括新建帐号、删除帐号、修改密码、设定权限等操作。
对上述各功能进行集中、模块划分,得到系统功能模块图,如图2-1。
图2-1系统功能模块图
2.2系统流程分析
系统流程就是用户在使用系统时的工作过程。
系统的工作流程都是从用户登录模块开始,对用户身份进行权限验证,进而对于系统进行管理的。
本系统的流程分析图如下:
重试
否
失败是
图2-2系统流程图
2.3数据字典
学生选课系统,通过对学生选课过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
(1)学生信息,包括学号、姓名、性别、院别等。
(2)教师信息,包括教师编号、教师姓名、性别、职称、毕业院校、学历、授课等。
(3)课程信息,包括课程编号、课程名称、学分。
(4)用户信息,包括name、password。
(6)选课信息,包括学生学号(所选课程编号、成绩等情况)。
2.4数据流图
(1)登录时的数据流
用户登录合法要求
不合法要求
图2-3登录时数据流图
数据描述
用户登录=用户名+密码
用户身份验证合法要求:
进入系统
不合法要求:
退出系统
加工逻辑:
避免别人随意篡改数据,增加系统安全性
2)查询统计
图2-4查询统计数据流图
数据描述,通过选择查询命令实现简单条件、组合条件查询。
(3)系统管理
图2-5系统管理数据流图
数据描述,管理员通过新建删除修改设定权限等方式实现对用户帐号表的管理。
图2-6数据维护数据流图
3数据库设计
数据库是信息管理系统的后台,存储着所有的信息,在信息管理中占有非常重要的地位。
数据库结构设计的好坏对应系统的效率及实现产生直接影响,而且好的数据库结构也将有利于程序的实现。
3.1数据库概念结构设计
从上面的信息规定出的实体有学生实体、课程实体、选课实体、教师实体,如图3-1。
1、实体图
图3-1实体图
2.E-R图
NM
1
M
图3-2E-R图
3.2数据库逻辑结构设计
用户的需求具体体现在各种信息的提供、保存、修改、查询等方面,经调查和分析,针对一般学生选课系统的需求和对系统流程图的分析,设计成如下的逻辑结构。
1.系部信息表dep_pro
“系部信息表dep_pro”用来提供学生所在系别等信息。
表3-1系部信息表
字段名
字段
数据类型
数据长度
系号
dep_id
char
10
系名
institute_dep
char
20
专业
department_pro
char
20
专业号
pro_id
rchar
10
2.教师信息表teacher
“教师信息表teacher”用来提供教师的基本信息。
表3-2教师信息表
字段名
字段
数据类型
数据长度
教师号
t_no
char
10
姓名
t_name
char
10
年龄
age
tinyint
1
性别
sex
char
2
职称
duty
char
20
所属院系
institute_dep
Char
20
专业
department_pro
char
20
3.学生信息表student
“学生信息表student”用来提供学生的基本信息。
表3-3学生信息表
字段名
字段
字段类型
数据长度
学号
stu_no
Char
10
姓名
stu_name
Char
10
年龄
age
tinyint
1
性别
sex
Char
2
班级
stu_class
Sallint
2
年级
grade
Char
10
所在院系
institute_dep
Char
20
专业
department_pro
Char
20
入学时间
enrol_time
datetime
8
籍贯
stu_hometown
varchar
50
4.课程信息表course
“课程信息表course”用来提供课程的基本信息。
表3-4课程信息表
字段名
字段
数据类型
数据长度
课程号
c_id
Char
10
课程名
C_name
nchar
20
课时
C_time
tinyint
1
学分
Credit_hour
tinyint
1
课程性质
C_character
nchar
10
开课学期
Start_term
char
20
开课院系
institute_dep
char
20
开课专业
department_pro
char
20
考试类型
exam_type
char
50
上课安排
arrange
nchar
50
5.学生选课表selectinfo
“学生选课表selectinfo”用来提供选课的基本信息。
图3-5学生选课表
字段名
字段
数据类型
数据长度
学号
stu_no
Char
10
课程号
c_id
Char
10
得分
score
Char
10
开课时间
start_time
nchar
20
结课时间
achieve_time
nchar
20
6.教师授课表teachinfo
“教师授课表teach_info”用来提供所选课程的人数和教师。
表3-6教师授课表
字段名
字段
数据类型
数据长度
课程号
c_id
Char
10
教师号
t_no
bigint
8
姓名
t_name
Char
10
已选人数
num
Smallint
2
可选人数
capacity
smallint
2
7.用户信息表user_pswd
“用户信息表user_pswd”用来提供用户的基本信息及权限。
表3-7用户信息表
字段名
字段
数据类型
数据长度
用户口令
id
bigint
8
用户名
users
varchar
25
密码
password
varchar
25
权限
authority
varchar
25
4数据库行为功能
对于数据库应用系统来说,最常用的功能就是安全控制、对数据的增、删、改、查及生成报表。
我们所设计的数据库也应包括这些基本的操作。
(1)安全控制
任何数据库应用系统都需要安全控制功能,我们所设计的学生选课系统也不例外。
假设我们将系统的用户分为如下几类:
学生信息管理:
包括学号、姓名、年龄、性别、班级、年级、所在院系、专业、入学时间、籍贯等,可对其进行添加、删除、修改等操作。
教师信息管理:
包括教师号、教师名、年龄、性别、教师职称、教师所属院系、专业等,可对其进行添加、删除、修改等操作。
课程信息管理:
包括课程号、课程名、学时、学分、课程性质、开课学期、开课院系、开课专业、考试类型、上课安排等可对其进行添加、删除、修改等操作,。
系部信息管理:
包括系号、系名、专业号、专业名等,可对其进行添加、删除、修改等操作。
用户信息管理:
包括用户名、密码。
选课信息管理:
包括学生选课情况,可对选课的学生、人数、所选课程等进行查询。
学生的需求是查询院系的课程、学生选课情况及学生信息的修改;教师对选课系统学生选课情况进行操作,同时形成学生选课查看确认;选课管理员的功能最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表。
在实现时,将每一类用户作为一个角色实现,这样在授权时只需对角色授权,而无需对每个具体的用户授权。
(2)数据操作功能
数据操作功能包括对这些数据进行添加、删除、修改、查询功能。
具体如下:
(1)数据录入
包括对这几张表的数据的录入。
只有具有相应权限的用户才能录入相应表中的数据。
(2)数据删除
包括对这几张表的数据的删除。
只有具有相应权限的用户才能删除相应表中的数据。
(3)数据修改
当某些数据发生变化时或某些数据录入不正确时,应该允许用户对数据库中的数据进行修改。
修改数据的操作时,一般是先根据一定条件查询出要修改的记录,然后再对其中的某些记录进行修改,修改完后再写回到数据库中去。
同数据的录入与删除一样,只有具有相应权限的用户才能修改相应表中的数据。
(4)数据查询
在数据库应用系统中,数据查询是最常用的功能。
应根据用户提出的查询条件进行数据查询,在设计系统时应首先征求用户的查询需求,然后根据这些查询需求整理出系统应具有的查询功能。
一般允许所有使用数据库的人都具有数据查询权力。
本系统应具有的一些查询要求有:
学生信息查询。
选课信息查询。
主要是完成学生系别、学生班级、学生个人基本信息、所选课程、授课教师等查询。
(3)生成报表
数据报表是一个极为灵活的报表设计工具,可以以“数据环境设计器”作为数据源,创建有层次的、汇总若干关系型数据表数据的复杂报表。
本设计主要是选课名单报表。
5结论
通过本次设计我学习了如何使用SQLServer2000和VB来创建数据