#SQL+Server课程设计报告123

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

网络数据库
课程设计报告
课程名称:
专业:
班级:
学号:
姓名:
题目:
指导教师:
年月
概述:
一、需求分析
高校学生学籍管理系统,是管理学生在校期间相关信息的重要系统。

系统中分别涉及到不同管理部门所管理的学生信息,因而将系统的信息分类,分别由教务处、学生处、各系管理具体的信息。

其中,教务处负责学生成绩公布、日常学籍管理(根据系里所报的学生补考成绩和表现决定是否留降级以及办理休、退学手续)、各种考试安排。

系里根据专业教学计划安排各专业学生每学期的课程和师资分配并将每学期学生的原始成绩输入计算机,并上传到系统中。

学生处主要负责学生的档案管理以及奖励和处分。

学生处根据学生的高中升学档案形成原始档案,然后根据各系对学生表现的评价,决定对学生的奖
励或处分。

在学生毕业时形成每个学生的最终档案。

学校的其他部门(包括学生、家长、用人单位)只能浏览学生的公开信息
新生入学后,按人数每个专业新生组织成若干个班级,这里每个
学生有学号、姓名、性别、出生日期、班级、所学专业、奖惩情况等信息,每个班级有一个辅导员。

由系里安排各学期的任课教师。

这里每个教师有教师编号、姓名、性别、学历、学位和职称等信息。

成绩包括每学期期末考试的各科成绩和补考成绩(没及格的同学要参加补考)。

日常的学籍管理应该涉及到学生的留降级,休、退学等信息。

学生毕业时处理的信息包括:结业处理,毕业处理,授位处理,学籍卡片等。

现在要求新开发的系统能处理涉及到的专业、教师、课
程、班级、学生基本档案、成绩、教师任课情况和学籍变动情况等信息。

二、课程设计目的
1、利用查询分析器可以查找学生在学校的一些基本情况
2、为用户提供充足的信息和快捷的查找手段
1、提高文件的查找、维护和更新
2、提高教学信息管理的效率
1、为了更好的管理学生的基本信息
三、设计概念绘制E-R图
学号课程号成绩
教师编号成绩
课程号
教师编号
教师编号
课程号
选课
教师编号课程号
学生课程
教师编号
课程号
教师编号
学号注册
授课


姓名
学号
班级教师
性别
年龄学号
学历管理学生
系管理教师
系号电话
系名
系主任
系书记
四.图形界面
学生信息表
成绩信息表
教师信息表
班级信息表
系别信息表
课程信息表
五、表的界面
学生表
字段名字段大允许空
字段类型索引备注称
学号姓名性别
char
Varchar
char

8
6
4

必填
必填
关键字
出生日
Smallint12期
专业
班级编
varchar50
varchar10号
成绩表
字段名称学号
课程号成绩字段类型
Char
Char
Char
字段大小
10
10
10
允许空值
必填
必填
必填
索引
关键字
备注
教师表
字段名字段类字段大允许空
索引备注称型小值
教师编关键
char10必填
号字
姓名性别年龄学历char
char
char
char
8
4
4
8
必填
必填
必填
必填
班级表
字段名称班级编号班级名称系别字段类型
Char
Char
Char
字段大小
10
10
8
允许空值
必填
必填
必填
索引
关键字
系别表
字段名称系号
系名
系书记系主任电话字段类型
char
char
char
char
char
字段大小
10
16
8
8
20
允许空值
必填
必填
必填
必填
必填
索引
关键字
课程表
字段名称字段类型字段大小允许空值索引备注
必填关键字
课程号int 8
课程名称Char20
学分Smallint4
学时Smallint4
六.数据库的实现
1、用SQL语句创建数据库
create database学籍管理
on
(NAME=成绩表_date,
filename='C:\成绩表_date.mdf',
size=3,
MAXSIZE=10,
FILEGROWTH=1)
LOG ON
(NAME='成绩表_log',
FILENAME='C:\成绩表_log.ldf',
SIZE=2MB,
MAXSIZE=15MB,
FILEGROWTH=1MB)
GO
(2)、按F5执行查询
2、新建表
1新建“学生表”
(1)USE学籍管理
GO
create table学生表
(
学号char(8)NOT NULL,
姓名char(6)NOT NULL,
性别char(4)NOT NULL,
出生日期char(4)NOT NULL,
专业char(20) NOT NULL,
班级编号char(10)NOT NULL, ) GO
(2)、按F5执行查询
2新建“成绩表
(1)USE学籍管理
GO
create table成绩表
(
学号char(10)NOT NULL,
课程号int(10)NOT NULL,
成绩char (10)NOT NULL, ) GO
(2)、按F5执行查询
3、新建“教师表”
(1)USE 学籍管理
GO
create table教师表
(
教师编号char(10) NOT NULL,
姓名char(8) NOT NULL,
性别char(4) NOT NULL,
学历char(8)NOT NULL,
年龄char(4) NOT NULL,
职称char(8) NOT NULL, )
GO
(2)、按F5执行查询
4、新建“班级表”
(1)USE 学籍管理
GO
create table班级表
(
班级编号int(10) NOT NULL,
班级名称char(10) NOT NULL,
系别char(8) NOT NULL, )
GO
(2)、按F5执行查询
5、新建“系别表”
(1)USE 学籍管理
GO
create table系别表
(
系号char(10)NOT NULL,
系名char(16)NOT NULL,
系主任char(8) NOT NULL,
系书记char(8)NOT NULL,
电话char(20)NOT NULL, )
GO
(2)、按F5执行查询
6 、新建“课程表”
(1)USE 学籍管理
create table课程表
(
课程名称char(10) NOT NULL,
课号int(10)NOT NULL,
学分smallint(4)NOT NULL,
课时smallint(4)NOT NULL, )
GO
(2)、按F5执行查询
六、创建主键
1、学生表主键的创建
(1)、USE学籍管理
GO
alter table学生表
add constraint学号_学生表primary key clustered
( 学号)
go
(2)、按F5执行查询
2 成绩表主键的创建
(1)、USE学籍管理
alter table成绩表
add constraint学号_成绩表primary key clustered
(学号)
go
(2)、按F5执行查询
3、教师表主键的创建
(1)、USE学籍管理
GO
alter table教师表
add constraint教师编号_教师表primary key clustered
( 教师编号)
Go
(2)、按F5执行查询
4班级表主键的创建
(1)、USE学籍管理
GO
alter table班级表
add constraint班级编号_班级表primary key clustered
(班级编号)
go
(2)、按F5执行查询
5系别表主键的创建
(1)、USE学籍管理
GO
alter table系别表
add constraint系号_系别表primary key clustered
( 系号)
Go
(2)、按F5执行查询
6、课程表主键的创建
(1)、USE学籍管理
GO
alter table课程表
add constraint课程号_课程表primary key clustered
(课程号)
Go
(2)、按F5执行查询
七、创建查询
1、查询学生表中所有女同学的记录
select*
from学生表
where性别='女'
2、询成绩表中成绩不小于80的学号,课程号和成绩,并按成绩降序排列,然后显示前5条记录。

select top5学号,课程号,成绩
from成绩表
where成绩>=80
order by成绩desc
3、查询成绩表中成绩不及格的学号,课程号和成绩,并且为不及格的成绩都加20分。

select学号,课程号,成绩=成绩+20
from成绩表
where成绩<60
4、查询课程表中学分不在2~4之间的课程号、课程名
SELECT课程号,课程名称
from课程表
where学分>4or学分<2
5、向成绩表的所有字段插入一条记录,记录内容自定。

insert成绩表
values('200612','5','95')
6、查询学生表中性别为‘男’并且专业为‘商务英语’的学生的基本信息。

select*
from学生表
where性别='男'and专业='商务英语'
7、用查询分析器创建一个名为“view_2”的视图,内容是显示学生
表中班级编号为053的学生的学号、姓名、性别和专业,并且为该视图加密。

Create view aaa
WITH ENCRYPTION
As select学号,姓名,性别,专业
from学生表
where班级编号='053'
8、使用查询分析器修改名为“aaa”的视图,内容修改为显示学生表
中性别为‘男’的学生的学号、姓名、性别和专业,并且以后所有对该视图的更新操作都必须符合所设定的条件。

Alter view aaa
As select学号,姓名,性别,专业
from学生表
where性别='男'
WITH CHECK OPTION
9、创建一个名为“bbb”的存储过程,用于查看学生表的所有信息。

然后调用该存储过程。

create proc bbb
as select*from学生表
go
exec bbb
10、创建一个名为“ab”的存储过程,用于删除成绩表中指定学号的记录,具体学号由调用时决定。

然后调用该存储过程。

create proc ab
@a char(4)
as
delete成绩表
where学号=@a
go
exec ab'200612'
11、创建一个名为“cc”的触发器,当向教师表添加记录时,该触发器自动显示教师表的所有信息。

create trigger cc
on教师表
for insert
as
select*from教师表
go
insert into教师表
values('09','李月','女','本科','26')
12、创建一个名为“kk”的触发器,当向学生表删除记录时,该触发器自动删除成绩表中与之相关的所有记录。

create trigger kk
on学生表
for delete
as
delete成绩表
where学号in(select学号from deleted)
go
delete学生表where学号='200603'
八、总结
学籍管理系统可以消除以前那种手工管理办法。

管理人员可以通过相关的表一目了然的看到学生的一些详细资料,还可以通过那些查询,通过一些功能,查询出学生的一些相关资料,在那些视图、索引、触发器、存储过程可以更改或修改一些表,通过修改这些表可以更方
便的实现一些新旧资料的更改,删除,可以及时的根据实际情况改变一些新的新信息。

相关文档
最新文档