1、学生学籍管理系统学生学籍管理系统 SQL 数据库课程设计报告数据库课程设计报告 长安大学电控学院 数据库课程设计报告 学生学籍管理系统 小 组:班 级:专 业:自动化(交通信息与控制)指导教师:司利云 前言 学生学籍管理系统一直是一个单位不可或缺的部分,他的容对于学校决策者和管理者来说都很重要,所以学生学籍管理系统应该能够为用户提供足够的信息和快捷的查询手段。但一直以来人们使用传统的查询方式来管理学生的学籍信息,这种方法存在很多的缺点,如效率低、保密性差,时间一长,将产生大量的文件和数据,这对于查找、维护和更新都带来很多麻烦。作为计算机应用的一部分,使用计算机对学生学籍进行管理,具有手工管理无
2、法比拟的优越。检索方便、方便查找、可靠性高、存储量大、保密性好、寿命长、成本低。这些优点能够极大的提高学生学籍管理的效率。一、课题总体介绍 1、课程介绍 高校学生学籍管理是一项即重要有繁琐的工作,为了更好的完成这一工作,提高工作效率,更好的为学校发展和一线教育服务,决定,自行研发一套学生学籍管理系统 2、课题目的语意义 计算机可以代替人工进行繁琐的工作 计算机可以节省许多资源 计算机可以提高人的工作效率 计算机可以是文档,更加安全 3、主要涉及功能 1、实现学生基本情况的录入、修改、删除等基本操作。2、对学生基本信息提供灵活的查询方式。3、完成一个班级的学期选课功能。4、实现学生成绩的录入、修
3、改、删除等基本操作。5、能方便的对学生的各学期成绩进行查询。6、具有成绩统计、排名等功能。7、具有留级、休学等特殊情况的处理功能。8、能输出常用的各种报表。9、具有数据备份和数据恢复功能。4、数据需求分析 学籍:学号、姓名、性别、年级、班级、出生年月、住址、邮政编码、联系、入学时间、备注 成绩:学号、姓名、班级、学期、课程名称、分数 班级:年级、专业、人数、教室、班主任 课程:课程代码、课程名称、任课教师 交费:学号、学期、交费、欠费、日期 二、数据库概念设计 1、用触发器对学生基本情况进行录入、修改、删除。在学籍中分别建立 insert、delete、update 触发器,例如 insert
4、 触发器,当向学籍中添加新的学生信息时,将会自动更新班级中的人数。2、利用视图将学生常用信息整合到一个表中,设置一个连接按钮,将不同表中的有用信息联系在一起,新建此表的视图,方便下次查看。3、用触发器对学生成绩进行录入、修改、删除。在成绩表中分别建立 insert、delete、update 触发器,例如 update 触发器,可以设置不能修改的基本数据,然后对其他数据进行修改。4、用视图对学生成绩进行统计。5、用报表里的报表服务器向导实现对学生的各学期成绩进行查询的功能,即按“学期”这一个项目进行分组,形成报表;6、用报表实现删选出成绩大于等于 60 并进行由大到小排序,用到报表里的筛选器和
5、排序两个功能;7、同样用报表输出其他自行设计的常用报表;8、对于数据备份和数据恢复功能的实现,我采用新建立一个存储设备 FirstDisk,将数据备份文件存储在此存储设备下,而不是文件下,更接近实用化的目标 2、数据流程图 课程名称 教 材 所有课程的 E-R 图 成 绩 学 号 类 型 学 期 课程名称 分 数 年 级 班 级 备 注 教 室 成绩的 E-R 图 班 级 班主任 专 业 年 制 班级的 E-R 图 班级查询的 E-R 图 交 费 学 号 交 费 操作员 学 期 日 期 欠 费 交费的 E-R 图 考试类型的 E-R 图 使用者信息的 E-R 图 学籍的 E-R 图 学 费 年
6、 级 学 费 专 业 学 期 年 制 学费的 E-R 图 3、数据库结构逻辑设计 学生成绩表格 序号 字段名 字段类型 宽度 可否为空 1 学号 nvarchar 10 否 2 姓名 nvarchar 8 否 3 班级 nvarchar 20 否 4 学期 nvarchar 50 否 5 课程名称 nvarchar 20 否 6 分数 nvarchar 班级信息表格 序号 字段名 字段类型 宽度 可否为空 1 班级 nvarchar 16 否 2 年级 nvarchar 16 否 3 专业 nvarchar 16 否 4 人数 nvarchar 8 否 5 教师 nvarchar 5 否 6
7、班主任 nvarchar 8 否 课程信息表格 序号 字段名 字段类型 宽度 可否为空 1 课程代码 nvarchar 20 否 2 课程名称 nvarchar 20 否 3 任课教师 nvarchar 20 否 学生交费信息表格 序号 字段名 字段类型 宽度 可否为空 1 学号 nvarchar 5 否 2 学期 nvarchar 50 否 3 交费 money 20 否 4 欠费 money 20 否 5 日期 smalldatetime 20 否 学生学籍信息表格 序号 字段名 字段类型 宽度 可否为空 1 学号 nvarchar 5 否 2 姓名 nvarchar 8 否 3 性别 n
8、varchar 2 否 4 年级 nvarchar 16 否 4 班级 nvarchar 10 否 5 出生年月 smalldatetime 20-否 6 家庭住址 nvarchar 30 否 7 邮政编码 int 20 否 8 联系 int 20 否 9 入学时间 smalldatetime 20 否 10 备注 ntext 20 否 三、详细设计 1、建立 insert 触发器 CREATE TRIGGER T_addnum on 学籍 for insert as update 班级信息 set 人数=人数+1 where 班级=(select 班级 from inserted)2、建立
9、update 触发器 create trigger T_updatecj on 成绩 for update as if(update(学号)or UPDATE(课程名称)begin print基础数据不能修改!rollback transaction end else print 数据修改成功!3、建立 delete 触发器 create trigger T_deletecj on 成绩 for delete as select 学号 as 被删除的学生学号,课程名称,分数 from deleted 4、利用视图将学生常用信息整合到一个表中,设置一个连接按钮,将不同表中的有用信息联系在一起,新
10、建此表的视图,方便下次查看。5、用视图对学生成绩进行统计。6、用报表里的报表服务器向导实现对学生的各学期成绩进行查询的功能,即按“学期”这一个项目进行分组,形成报表;7、用报表实现删选出成绩大于等于 60 并进行由大到小排序,用到报表里的筛选器和排序两个功能;8、同样用报表输出其他自行设计的常用报表;9、对于数据备份和数据恢复功能的实现,我采用新建立一个存储设备 FirstDisk,将数据备份文件存储在此存储设备下,而不是文件下,更接近实用化的目标 四、系统实现与测试 1、向学籍表中插入新的学生信息,班级人数自动更新 2、用视图表示学生常用信息 3、对学生成绩进行 update、delete
11、删除时显示所删除的信息,防止误删 修改时,所设置的基础数据不能修改 4、将学生成绩表用视图表示出来 5 用报表里的报表服务器向导实现对学生的各学期成绩进行查询的功能,即按“学期”这一个项目进行分组,形成报表;(1)报表设计 (2)报表预览 点击、后的表格显示:查询成功 6.用报表实现删选出成绩大于等于 60 并进行由大到小排序,用到报表里的“筛选器”和“排序”两个功能;(1)报表设计 (2)报表预览 7、对于数据备份和数据恢复功能的实现,我采用新建立一个存储设备 FirstDisk,将数据备份文件存储在此存储设备下,而不是文件下,更接近实用化的目标(1)建立存储设备 FirstDisk (2)
12、对该数据库进行完整备份 (3)备份成功 (4)数据库恢复 (2)恢复成功 五、数据库的建立 use master go IF EXISTS(SELECT name FROM master.dbo.sysdatabases WHERE name=学生学籍管理)DROP DATABASE 学生学籍管理 GO CREATE DATABASE 学生学籍管理 GO use 学生学籍管理 GO if exists(select*from dbo.sysobjects where id=object_id(Ndbo.学籍)and OBJECTPROPERTY(id,NIsUserTable)=1)drop
13、table dbo.学籍 GO if exists(select*from dbo.sysobjects where id=object_id(Ndbo.成绩)and OBJECTPROPERTY(id,NIsUserTable)=1)drop table dbo.成绩 GO if exists(select*from dbo.sysobjects where id=object_id(Ndbo.班级)and OBJECTPROPERTY(id,NIsUserTable)=1)drop table dbo.班级 GO if exists(select*from dbo.sysobjects w
14、here id=object_id(Ndbo.课程)and OBJECTPROPERTY(id,NIsUserTable)=1)drop table dbo.课程 GO if exists(select*from dbo.sysobjects where id=object_id(Ndbo.交费)and OBJECTPROPERTY(id,NIsUserTable)=1)drop table dbo.交费 GO use 学生学籍管理 CREATE TABLE dbo.学籍(学号 nvarchar(5)COLLATE Chinese_PRC_CI_AS NULL,姓名 nvarchar(8)CO
15、LLATE Chinese_PRC_CI_AS NULL,性别 nvarchar(2)COLLATE Chinese_PRC_CI_AS NULL,年级 nvarchar(16)COLLATE Chinese_PRC_CI_AS NULL,班级 nvarchar(10)COLLATE Chinese_PRC_CI_AS NULL,出生年月 smalldatetime NULL,住址 nvarchar(30)COLLATE Chinese_PRC_CI_AS NULL,邮政编码 int NULL,联系 int NULL,入学时间 smalldatetime NULL,备注 ntext COLLA
16、TE Chinese_PRC_CI_AS NULL )ON PRIMARY TEXTIMAGE_ON PRIMARY GO CREATE TABLE dbo.成绩(学号 nvarchar(10)COLLATE Chinese_PRC_CI_AS NULL,姓名 nvarchar(8)COLLATE Chinese_PRC_CI_AS NULL,班级 nvarchar(20)COLLATE Chinese_PRC_CI_AS NULL,学期 nvarchar(50)COLLATE Chinese_PRC_CI_AS NULL,课程名称 nvarchar(20)COLLATE Chinese_PRC_CI_AS NULL,分数 real NULL )ON PRIMARY GO CREATE TABLE dbo.班级(班级 nvarchar(16)COLLATE Chinese_PRC_CI_AS NULL,年级 nvarchar(16)COLLATE Chinese_PRC_CI_AS NULL,专业 nvarchar(16)COLLATE Chinese_PRC_CI_AS NULL,人
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1