#SQL+Server课程设计报告123

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

二、课程设计目的
1、利用查询分析器可以查找学生在学校的一些基本情况
2、为用户提供充足的信息和快捷的查找手段
3、提高文件的查找、维护和更新
4、提高教学信息管理的效率
5、为了更好的管理学生的基本信息
三、设计概念绘制E-R图
四.图形界面
学生信息表
成绩信息表
教师信息表
班级信息表
系别信息表
课程信息表
五、表的界面学生表
成绩表
教师表
班级表
系别表
课程表
六.数据库的实现
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 top 5 学号,课程号,成绩
from 成绩表
where 成绩>=80
order by 成绩desc
3、查询成绩表中成绩不及格的学号,课程号和成绩,并且为不及格的成绩都加20分。

select 学号,课程号,成绩=成绩+20
from 成绩表
where 成绩<60
4、查询课程表中学分不在2~4之间的课程号、课程名
SELECT 课程号,课程名称
from 课程表
where 学分>4 or 学分<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'
八、总结
学籍管理系统可以消除以前那种手工管理办法。

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

相关文档
最新文档