学生数据库管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
引言 (2)
1 学生数据管理需求分析 (3)
1.1业务流程 (3)
1.2功能需求 (3)
1.3数据需求 (3)
2 概念结构设计阶段 (4)
3 逻辑结构设计阶段 (4)
4物理结构设计阶段 (5)
4.1学生信息表 (5)
4.2教师信息表 (6)
4.3课程信息表 (6)
4.4成绩信息表 (6)
4.5评师信息表 (6)
5 数据库实现 (6)
5.1创建数据库 (7)
5.2创建表 (7)
5.2.1 学生信息表 (7)
5.2.2 教师信息表 (7)
5.2.3 课程信息表 (8)
5.2.4 成绩信息表 (8)
5.2.5 评师信息表 (8)
5.3列的修改 (9)
5.4增删改查 (9)
5.5视图的创建 (9)
5.5.1 学生视图的创建 (10)
5.5.2 老师视图的创建 (11)
5.6存储过程 (11)
5.6.1 学生储存过程 (12)
5.6.2 老师储存过程 (12)
设计体会及今后的改进意见 (13)
参考文献 (14)
引言
学校学生的成绩管理统计工作量大、复杂额人工处理非常困难。

学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。

学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来。

以前学校对学生的成绩是用人管理,而作为计算机应用的一部分,使用计算机对学生成绩进行信息管理,有着手工管理所无法比拟的优点,如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学校对学生成绩管理的效率。

因此,开发一套学生成绩管理系统是有必要的。

1.学生数据管理的需求分析。

1.1 业务流程。

1.2 该系统的功能需求。

◆ 对给定学号的学生的基本信息进行查询,包括学生的姓名、性别、年龄、
出生年月、所属系部、所在班级的情况。

◆ 对给定代号的老师的基本信息进行查询,包括老师的姓名、性别、所属系
部、所在班级的情况。

◆ 管理给定编号的课程基本信息,包括课程名称、学分、课时、授课教师等
基本情况。

◆ 管理给定学科成绩的基本信息,包括录入、查询、修改和删除。

◆ 管理给定学生的基本信息,包括录入、查询、修改和删除。

◆ 管理给定老师的基本信息,包括录入、查询、修改和删除。

◆ 管理给定学生成绩的基本信息,包括录入、查询、修改和删除。

◆ 管理给定评师的基本信息,包括录入、查询、修改和删除。

1.3数据需求。

◆ 学生信息=学号+姓名+性别+年龄+出生年月+所属系部+所属专业+所在班
级。

◆ 老师信息=教师号+姓名+性别+年龄+所属系部+所属专业+所在班级。

◆ 课程信息=课程号+课程名+教师号+学分+学时。

◆ 成绩信息=学号+课程名+成绩。

◆ 评师信息=教师号+授课评价。

老师
知识
学生
课程
知识被老师教学生选择课程
2、概念结构设计阶段
概念结构设计阶段是整个数据库设计的关键,他通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。

E —R 图如下:
3、逻辑结构设计阶段
逻辑结构是独立于任何一种数据模型的信息结构。

逻辑结构的任务是把概念结构设计阶段设计好的基本E —R 图转化为宜选用的DBMS 所支持的数据模型相符合的逻辑结构,并对其进行优化。

老师
学生
课程
教授
选择
评价
教师系别 教师名
教师性别
地址 电话 教师号 专业
姓名
老师号 分数
班级
系别 性别
年龄 学号
评价分数
成绩
学分
课时
课程号
课程名
课程号
学号
地址
设计学生成绩管理数据库,包括学生、教师、课程、成绩、评师五个关系,其关系模式中对每个实体定义的属性如下:
(1)学生E-R图。

学生实体有7个属性,sno(学号)是主关键属性,经过数据优化将表转化为员工关系模型。

Student:(学号、姓名、性别、年龄、系别、班级、地址)
(2)老师E-R图。

老师实体有6个属性,tno(老师号)是主关键属性,经过数据优化转化为老师关系模型。

Teacher:(教师号、教师名、教师性别、教师系别、班级、电话)(3)课程E-R图。

课程实体有4个属性,cno(课程号)是主关键属性,经过数据优化转化为课程关系模型。

Class:(课程号、课程名、学分、学时)
(4)成绩E-R图
课程实体有5个属性,sno(课程号)是主关键属性,经过数据优化转化为成绩关系模型。

Score:(学号、教师系别、班级、课程名、成绩)
(5)评师E-R图
课程实体有5个属性,tno(教师号)是主关键属性,经过数据优化转化为评师关系模型。

Appraisal:(教师号、教师系别、班级、学号、授课评价)
4、物理设计阶段
数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存储模式。

数据库物理设计内容包括记录存储结构的设计,存储路径的设计。

4.1学生信息表
Student:(学号、姓名、性别、年龄、系别、班级、地址)
属性名称属性描述数据类型字段限制
sno 学号char(10) Not null
sname 姓名char(10) Not null
ssex 性别char(2) Not null
sage 年龄char(2) Not null
depart 系别char(10) Not null
4.2教师信息表
Teacher:(教师号、教师名、教师性别、教师系别、班级、电话)属性名称属性描述数据类型字段限制
tno 教师号char(10) Not null
tname 教师名char(10) Not null
tsex 教师性别char(2) Not null
depart 教师系别char(10) Not null
class 班级char(10) Not null
tphone 电话char(10) Not null
4.3课程信息表
Class:(课程号、课程名、学分、学时))
属性名称属性描述数据类型字段限制
cno 课程号char(10) Not null
cname 课程名char(10) Not null
credit 学分char(4) Not null
Ctime 学时char(50) Not null
4.4成绩信息表
Score:(教师系别、班级、学号、课程名、成绩)
属性名称属性描述数据类型字段限制
depart 教师系别char(10) Not null
class 班级char(10) Not null
sno 学号char(10) Not null
cno 课程名char(10) Not null
sdegree 成绩char(10) Not null
4.5评师信息表
Appraisal:(教师系别、班级、学号、教师号、授课评价)
属性名称属性描述数据类型字段限制
depart 教师系别char(10) Not null
class 班级char(10) Not null
sno 学号char(10) Not null
tno 教师号char(10) Not null
tdegree授课评价char(10) Not null
5 数据库实现
数据库实施是指建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

ON
(name = student_data,
filename = 'D:\student_data.mdf', size = 10mb,
maxsize = unlimited,
filegrowth = 10%)
log on
(name = student_log,
filename = 'D:\student_log.ldf', Size = 3mb,
maxsize = 5mb,
filegrowth = 1mb
)
5.2.创建表
5.2.1学生信息表
use student_exam
GO
--创建学生信息表
CREATE TABLE student
(sno char(10) not null,
sname char(10) not null,
ssex char(2) not null,
sage char(2) not null,
sdepart char(10) not null,
smajor char(10) not null,
sclass char(10) not null,
sadd char(10) not null)
go
5.2.2教师信息表
use teacher_informition
GO
--创建教师信息表
CREATE TABLE teacher
(tno char(10) not null,
tname char(10) not null,
tsex char(2) not null,
depart char(10) not null,
major char(10) not null,
tphone char(10) not null)
Go
use class_informition
GO
--创建课程信息表
CREATE TABLE class
(con char(10) not null,
cname char(10) not null,
credit char(4) not null,
ctime char(50) not null)
Go
5.2.4成绩信息表
use score_informition
GO
--创建成绩信息表
CREATE TABLE score
(depart char(10) not null,
major char(10) not null,
sno char(10) not null,
cno char(10) not null,
sdegree char(10) not null)
Go
5.2.5评师信息表
use Appraisal_informition
GO
--创建评师信息表
CREATE TABLE Appraisal
(
depart char(10) not null,
major char(10) not null,
tno char(10) not null,
tdegree char(10) not null)
go
5.3列的修改
5.3.1添加列
Alter table student -- 在该表中添加列- - Add
abcd int Not null/*列定义*/
5.3.2 删除列
5.3.3修改列
Alter table student
Alter column sno varchar(20) - - 修改sno的数据类型为varchar(20)
5.3.4删除表
use studentexam --要修改的表名- -
GO
Drop table qwe --删除的表- -
Go
5.4增,删,改,查
(原表)
5.4.1增(插入一条记录或多条记录)
insert student(sno,sname,ssex,sage,depart,sclass,sadd)-- 列名称- - values('05','孙伟','男',20,11,01,'阎良')
5.4.2删除(删除指定条件的列)
use studentexam
Go
Delete student -- 删除该表中的某列- -
where sno='001'--指定条件删除- -
5.4.3修改(修改指定列的信息)
use studentexam
Go
update student --修改的表- -
set sage=sage+1 --修改后的值,指定修改的内容where sname='庞俊'
Go
5.4.4查询(根据所需要条件查询)
use studentexam
Go
select sno,sname,ssex,sage,depart,sclass,sadd from student
where sno='03'
Go
5.5视图的创建。

5.5.1 学生信息视图
a.创建学生信息视图
select sname,student.depart,sclass,o,score.sdegree from student inner join score on
student.sno=score.sno join class on
o=o
b. 修改学生信息视图
alter view学生信息
as
select sname, sclass,o
from student inner join score on
student.sno=score.sno join class on
o=o
c.删除视图
drop view 学生信息
d.查看视图
sp_help 学生信息
sp_dopends 学生信息
sp_helptext 学生信息e.利用视图查询、
e.利用视图查询学生成绩。

select sname,depart,sclass,cno,sdegree
from学生信息
where sname='周诗植'
5.5.2教师视图的创建
a.创建教师信息视图
create view教师信息
as
select tname,teacher.tno,tsex,teacher.depart
from teacher inner join appraisal on
teacher.tno=appraisal.tno
join class on
teacher.tno=appraisal.tno
b.修改教师信息视图
alter view教师信息
as
select tname,teacher.tno,tsex,teacher.depart
from teacher inner join appraisal on
teacher.tno=appraisal.tno
join class on
teacher.tno=appraisal.tno
c.删除视图
drop view 教师信息
d.查看视图
sp_help 教师信息
sp_dopends 教师信息
sp_helptext 教师信息
e.利用视图查询
select tname, tsex
from教师信息
where tname='王文昌'
5.6存储过程。

5.6.1学生信息储存
a.创建存储过程
create procedure学生信息储存过程
as
select sname,student.depart,sclass,o,score.sdegree from student inner join score on
student.sno=score.sno join class on
o=o
where sname='周诗植'
b.调用存储过程
exec学生信息储存过程
5.6.2 教师信息存储
a.创建存储过程
CREATE PROCEDURE教师信息储存过程/*定义过程名*/
As
select tname,teacher.tno,tsex,teacher.depart
from teacher inner join appraisal on
teacher.tno=appraisal.tno
join class on
teacher.tno=appraisal.tno
where tname='王文昌'
b.调用存储过程
exec教师信息储存过程
设计体会及今后的改进意见
通过一周的实训,简单的做出了一个学生成绩管理系统,并成功实现了各所需求的功能。

首先,在视图上,在实验题目实验的目的上,比较明确,基本没遇到什么问题。

其次,实在实验的要求,基本框架已经出来,在学生成绩的各个需求上,很容易完成,第三,使用了视图VIEW和5大约束,将所有学生的所有有关系的信息以视图的形式可供查询.第四,在设计各个表格时,注意数据和书数据的类型,需考虑到各种情况。

第五,对于各功能的实现要实现存储过程procedure,通过传递参数得到想要的过程。

在实现的功能是注意条件的判断,根据分析等各种情况,实现不同的操作,例如,在实现学生和老师的信息添加时,总得分为两种情况:第一存在的学生以及老师的信息,第二不存在的老师和学生的信息。

针对这种情况会有两种不同的添加方法.第六,系统中没有设置安全性,在数据库中的安全性比较重要,用以保护数据,防止他人修改。

但由于自身和小组成员的经验,知识等方面的不足,而且数据库中还存在很多漏洞,未能满足需要,对表的设计存在很多方面的不够完善,还有需要多要改进的地方,对于数据的完整性,独立性还考虑的不是很好,在本系统中还有多出要改进的地方。

相信一点点的修改,和老师的协助系统会更加完善。

参考文献。

a. SQL server2005数据库应用技术钱冬云,周雅静编著
b.数据库原理与SQL Server 黄炳强
c数据库原理与应用简明教程李维杰孙乾君。

相关文档
最新文档