学生管理系统.docx
- 文档编号:26006235
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:18
- 大小:294.89KB
学生管理系统.docx
《学生管理系统.docx》由会员分享,可在线阅读,更多相关《学生管理系统.docx(18页珍藏版)》请在冰豆网上搜索。
学生管理系统
学生管理系统的数据库设计与数据操作
1、实验目的
使学生掌握需求分析的方法、数据库概念结构设计方法、掌握数据库逻辑结构设计方法和数据库物理结构设计方法,并掌握在SQLServer2000下数据定义、数据查询、数据更新、数据控制的实现。
2、实验内容
1、对系统进行需求分析。
2、设计数据库的概念结构。
3、设计数据库的逻辑结构。
4、设计数据库的物理结构。
5、建立数据库、录入数据,并做指定的数据操作。
3、实验步骤
3.1系统需求分析
3.1.1需求描述
学生管理系统主要涉及到学生的基本信息、成绩信息和学校的课程信息的管理。
主要功能实现对学生的成绩进行收集和修改。
具体包括学生成绩录入、修改、增加、删除、查询。
此外,具体地,该学生成绩管理系统涉及教学系、班级、专业、学生、课程几个实体集。
教学系从系编号、系名称两个方面刻画。
班级从班级编号、班级名称两个方面刻画。
专业从专业编号、专业名称两个方面刻画。
学生从学号、姓名、性别,年龄、班级、专业、系别几个方面刻画。
课程从课程号、课程名、课程性质(课程性质指公共必修课、公共选修课、专业必修课、专业选修课)、学时、学分、开课学期几个方面刻画。
应用语义为:
每个教学系有多个班级,每个班级只属于一个教学系;每个教学系开设多个专业,每个专业只由一个教学系开设;每个专业有多个班级,每个班级只属于一个专业;每个班级有多名学生,每个学生只属于一个班级;一个专业开设多门课程,一门课程只属于一个专业;一个班级开设本专业的所有必修课,但选修课由学生自选,一个学生可修多门课,一门课可由多名学生所修。
该系统要具有如下功能:
(1)学生基本信息的输入
(2)课程基本信息的输入
(3)修课及成绩信息的输入
输入指定班级指定课程的成绩。
(4)学生基本信息的修改
按学号修改指定学生的基本信息。
(5)课程基本信息的修改
按课程号修改指定课程的基本信息。
(6)修课及成绩信息的修改
按学号和课程名修改指定学生所修指定课程的成绩。
(7)学生基本信息的删除
按学号删除指定学生的基本信息及修课信息。
注意删除某一个学生的基本信息后,该学生的修课信息也要删除。
(8)课程基本信息的删除
按课程号删除指定课程的基本信息。
注意删除某一门课程的基本信息后,所有选修该课程的信息都必须删除。
(9)修课及成绩信息的删除
按学号和课程名删除指定学生所修指定课程及成绩信息。
(10)学生基本信息的查询
①按学号查询指定学生的基本信息。
②按姓名查询指定学生的基本信息。
(11)课程基本信息的查询
①按课程号查询指定课程的基本信息。
②按课程名查询指定课程的基本信息。
(12)修课及成绩信息的查询
①按学号和课程名查询指定学生所修指定课程的成绩和学分绩点。
②按学号查询指定学生所修全部课程的课程名、成绩和学分绩点。
③按班级和课程名查询指定班级所有学生选修指定课程的成绩,查询结果以学号、姓名、成绩、学分绩点的形式显示。
(13)班级信息的设置
设置班级编号、班级名称,具有填加、删除、修改功能。
(14)专业信息的设置
设置专业编号、专业名称,具有填加、删除、修改功能。
(15)系别信息的设置
设置系别编号、系别名称,具有填加、删除、修改功能。
3.1.2数据流图
如图1.1所示为系统0层数据流图
图1.10层数据流图
如图1.2所示为系统1层数据流图
图1.21层数据流图
3.1.3数据字典
如表1.1所示为学生编号的数据字典
编号:
001名称:
学号别名:
学生编号
简述:
唯一标识学生的身份
表1.1
如表1.2所示为课程目录的数据字典
编号:
002名称:
课程信息目录别名:
课程目录
简述:
组成:
1.课程号2.课程名3.开课学期4.课程性质5.学分6.学时
表1.2
如表1.3所示为学生信息的数据字典
编号:
003名称:
学生信息别名:
简述:
学生的详细资料
组成:
学生学号+学生名字+性别+年龄+专业+学院+班级
表1.3
如表1.4所示为学生成绩的数据字典
编号:
004名称:
学生成绩相关信息别名:
学生成绩
简述:
学生通过系统查询所要看到的信息
输入数据流:
学生成绩表、课程信息表
输出数据流:
学生某门课程成绩及相关信息
组成:
1.课程信息目录(数据库)
2.学生成绩信息表(数据库)
3.查询的学号
表1.4
如表1.5所示为学生成绩表的数据字典
编号:
005名称:
学生成绩表别名:
学生成绩表
简述:
各任课老师向学校提交各科学生成绩表
组成:
学号、课程号、成绩
表1.5
如表1.6所示为平均成绩的数据字典
编号:
006名称:
计算平均成绩别名:
输入信息:
每个学生每门课成绩、每门课学分、读取的学生课程门数
数据存储:
课程信息表
输出信息:
学生平均成绩激发条件:
学期结束
简要说明:
可通过相关SQL语句完成
加工逻辑:
平均成绩为每门课成绩*每门课学分/总学分
表1.6
3.2系统概念结构设计
3.2.1分E-R图
运用分类和聚集的方法可得“教学系”和“教学班级”实体集,其E-R图如图2.1所示。
图2.1“教学系”和“教学班级”的E-R图
运用分类和聚集的方法可得“教学系”和“专业”实体集,其E-R图如图2.2所示。
图2.2“教学系”和“专业”的E-R图
运用分类和聚集的方法可得“专业”和“教学班级”实体集,其E-R图如图2.3所示。
图2.3“专业”和“教学班级”的E-R图
运用分类和聚集的方法可得“学生”和“教学班级”实体集,其E-R图如图2.4所示。
图2.4“学生”和“教学班级”的E-R图
运用分类和聚集的方法可得“专业”和“课程”实体集,其E-R图如图2.5所示。
图2.5“专业”和“课程”的E-R图
运用分类和聚集的方法可得“学生”和“课程”实体集,其E-R图如图2.6所示。
图2.6“学生”和“课程”的E-R图
3.2.2集成得到总的E-R图
如图2.7所示为总的E-R图
图2.7系统总的E-R图
3.3逻辑结构设计
将学生成绩管理系统数据库概念结构转换成关系模型,可得学生管理系统数据库逻辑结构,结果如下:
教学系(系编号,系名称)
班级(班号,班名,专业号)
专业(专业号,专业名,系号)
学生(学号,姓名,性别,年龄,班级,专业,系别,班号)
课程(课号,课名,课程性质,学分,学时,开课学期,专业号)
选课(学号,课号,成绩)
3.4物理结构设计
设计前要了解的信息(该部分不出现在设计说明书中)
3.4.1数据库的查询事务
1、学生基本信息的查询
①按学号查询指定学生的基本信息。
(查询学生信息涉及学生关系的选择运算)
②按姓名查询指定学生的基本信息。
(查询学生信息涉及学生关系的选择运算)
2、课程基本信息的查询
①按课程号查询指定课程的基本信息。
(查询课程信息涉及课程关系的选择运算)
②按课程名查询指定课程的基本信息。
(查询课程信息涉及课程关系的选择运算)
3、修课及成绩信息的查询
①按学号和课程名查询指定学生所修指定课程的成绩和学分绩点。
(查询学生选修课程的成绩涉及学生关系与课程关系与选课关系连接运算,连接属性为:
学号,课程号)
②按学号查询指定学生所修全部课程的课程名、成绩和学分绩点。
(查询学生选修课程的成绩涉及学生关系与课程关系与选课关系连接运算,连接属性为:
学号,课程号)
③按班级和课程名查询指定班级所有学生选修指定课程的成绩,查询结果以学号、姓名、成绩、学分绩点的形式显示。
3.4.2数据库的更新事务
(1)学生基本信息的修改
按学号修改指定学生的基本信息。
(2)课程基本信息的修改
按课程号修改指定课程的基本信息。
(3)修课及成绩信息的修改
按学号和课程名修改指定学生所修指定课程的成绩。
3.4.3数据库的数据删除
(1)学生基本信息的删除
按学号删除指定学生的基本信息及修课信息。
注意删除某一个学生的基本信息后,该学生的修课信息也要删除。
(2)课程基本信息的删除
按课程号删除指定课程的基本信息。
注意删除某一门课程的基本信息后,所有选修该课程的信息都必须删除。
(3)修课及成绩信息的删除
按学号和课程名删除指定学生所修指定课程及成绩信息。
3.4.2设计结果
1、数据库名称
Student_Manage
2、关系表
(1)Department(系别表)
列名
数据类型
长度
允许空
备注
dept_id
int
4
部门编码
dept_name
nvarchar
20
部门名称
主键:
dept_id
(2)Classes(班级表)
列名
数据类型
长度
允许空
备注
Cla_id
int
4
班级编号
cla_name
nvarchar
20
班级名称
主键:
cla_id
(3)Major(专业表)
列名
数据类型
长度
允许空
备注
major_id
int
4
专业编号
major_name
nvarchar
40
专业名称
主键:
major_id
(4)Student(学生表)
列名
数据类型
长度
允许空
备注
Stu_id
int
4
学号
stu_name
nvarchar
20
姓名
stu_sex
nchar
2
性别
stu_age
tinyint
1
年龄
stu_class
nvarchar
20
班级
stu_major
nvarchar
40
专业
stu_department
nvarchar
20
系别
主键:
stu_id
check约束:
性别的取值只能为男或女
default约束:
性别默认为男
(5)Course(课程表)
列名
数据类型
长度
允许空
备注
cou_id
int
4
课程编号
cou_name
nvarchar
20
课程名
cou_style
nvarchar
20
课程类型
cou_credit
tinyint
1
课程学分
cou_time
int
4
课程学时
cou_term
tinyint
1
开课学期
主键:
cou_id
(6)Options(选课表)
列名
数据类型
长度
允许空
备注
stu_id
int
4
学号
cou_id
int
4
课程号
opt_score
int
4
成绩
主键:
stu_id+cou_id
3、参照完整性约束
(1)FK_Student_Options
主键表:
Student外键表:
Options
主键:
stu_id外键:
stu_id
(2)FK_Course_Options
主键表:
Course外键表:
Options
主键:
cou_id外键:
cou_id
(3)FK_Department_Major
主键表:
Department外键表:
Major
主键:
dept_id外键:
dept_id
(4)FK_Major_Classes
主键表:
Major外键表:
Classes
主键:
major_id外键:
major_id
(5)FK_Classes_Student
主键表:
Classes外键表:
Student
主键:
cla_id外键:
cla_id
(6)FK_Major_Course
主键表:
Major外键表:
Course
主键:
major_id外键:
major_id
3.5数据库实现与维护
试查询检验
1、学生基本信息的查询
①按学号查询指定学生的基本信息。
select*fromStudent
wherestu_id='1118014110';
查询结果如下:
②按姓名查询指定学生的基本信息。
select*fromStudent
wherestu_name='赵雷昭';
查询结果如下:
2、课程基本信息的查询
①按课程号查询指定课程的基本信息。
select*fromCourse
wherecou_id='201402';
查询结果如下:
②按课程名查询指定课程的基本信息。
select*fromCourse
wherecou_name='数据库';
查询结果如下:
3、修课及成绩信息的查询
①按学号和课程名查询指定学生所修指定课程的成绩和学分绩点
selectopt_scoreas"成绩",cou_creditas"学分绩点"
fromOptions
joinStudent
onOptions.stu_id=Student.stu_id
joinCourse
onOptions.cou_id=Course.cou_id
whereStudent.stu_id='1118014124'andcou_name='数据库';
查询结果如下:
②按学号查询指定学生所修全部课程的课程名、成绩和学分绩点。
selectcou_nameas"课程名",opt_scoreas"成绩",cou_creditas"学分绩点"
fromOptions
joinStudent
onOptions.stu_id=Student.stu_id
joinCourse
onOptions.cou_id=Course.cou_id
whereStudent.stu_id='1118014109'
查询结果如下:
③按班级和课程名查询指定班级所有学生选修指定课程的成绩,查询结果以学号、姓名、成绩、学分绩点的形式显示。
selectStudent.stu_id,stu_name,opt_scoreas"成绩",cou_creditas"学分绩点"
fromOptions
joinStudent
onOptions.stu_id=Student.stu_id
joinClasses
onClasses.cla_id=Student.cla_id
joinCourse
onOptions.cou_id=Course.cou_id
wherecla_name='计本1104班'andcou_name='数据库'
查询结果如下:
附:
各个表之间的关系视图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 管理 系统