SQL Server课程设计报告
更新时间:2024-06-16 11:11:01 阅读量: 综合文库 文档下载
- sql server推荐度:
- 相关推荐
SQL Server课程设计报告
学生选修课管理系统
院 系: 经济与管理学院
专 业: 农林经济管理15-3 学 号: 6011211314 姓 名: 唐道冬 指导教师: 张兵
2012年 6 月
目 录
1.系统开发背景 ................................................... 2 1.1课题简介 ................................................... 3 1.2设计目的 ................................................... 3 1.3设计内容 ................................................... 3
2. 需求分析 ...................................................... 3 1.1数据需求………………………………………………………………………4 1.2功能需求………………………………………………………………………4
3.概念结构设计 ................................. 错误!未定义书签。
4. 逻辑结构设计 .................................................. 4
5.物理结构设计 ................................. 错误!未定义书签。
6.源程序代码 .................................................... 5 6.1 数据库程序 ................................................... 6 6.2 备份程序 ..................................................... 7 6.3 表程序 ....................................................... 6 6.4 视图 ......................................................... 8 6.5 存储过程 ..................................................... 7 6.6 触发器 ....................................................... 8 7.数据库表及时视图截图 ........................................... 9
8.结束语 ....................................................... 12
1.系统开发背景
1.1课题简介
随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工
作效率成为一个很重要的问题。而建立管理信息系统是一个很好的解决办法。 经过三年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系 实际的宗旨,通过学校提供的这次软件技术实践的机会,在指导教师的帮助下, 历经两周时间,我自行设计一套教学管理系统,在下面的各章中,我将以这套教 学管理信息系统为例,谈谈其开发过程和所涉及到的问题。 1.2设计目的
应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践
更好的结合起来,巩固所学知识。
数据库应用 课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理 软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、 逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打 下基础。 1.3设计内容
运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发教学管理信息系统,完成教学管理信息系统的全部功能,包括学生管理子系统,教师管理自系统,后勤管理子系统。 首先做好需求分析,并完成数据流图和数据字典。
其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。
然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型
2.需求分析
1数据需求
数据字典
主要涉及到以下几个表,分别为:学生基本信息表,课程表,专业信息表,课程设置表,学生选课表,学生与专业之间的属于表以及管理人员的密码表。以下是数据字典: 数据库表名 学生学籍信息表 课程基本信息表 选课成绩信息表
学生基本情况数据表,结构如下: 字段名 学号 学生姓名 性别 专业班级 年龄 电话 地址
课程数据表,结构如下: 字段名 课程号 课程名称 任课教师 电话 上课地点 课时 学分
成绩情况数据表,结构如下: 字段名 课程号 学号 成绩 字段类型 char char int 约束控制 外键 外键 字段类型 char varchar varchar varchar varchar int numeric(2,1) 约束控制 主键(primary key) not null not null not null not null not null not null 字段类型 char varchar char varchar varchar varchar char 约束控制 Primary key not null not null not null not null not null 关系模式名称 学生 课程 成绩 not null
2.功能需求:
(1)实现学生基本情况的录入,修改,删除等基本操作。 (2)对学生基本信息提供灵活的查询方式。
(3)完成一个班级的学期选课功能。
(4)实现学生成绩的录入,修改,删除等基本操作。 (5)能方便的对学生的个人学期成绩进行查询。 (6)具有成绩统计,排名等功能。
(7)具有留级,休学等特殊情况的处理功能。 (8)能输出常用的各种报表。 (9)具有数据备份和数据恢复功能
3. 概念结构设计
(1)学生基本信息:学号,姓名,性别,专业班级,年龄,电话,地址。
(2)课程基本信息: 课程名,课程号,任课老师,电话,分数,学时,学分。 这些实体间的联系包括
地址地址 专业 学分 年龄 学时 电话 学号 学生 成绩 上课 地点 选修课程 课程号 姓名 性别 分数 上课地点 电话 课程名
四 逻辑结构设计
(1)学生(学号,姓名,性别,年龄,地址,专业班级),其主关键字为学号; (2)课程(课程名,课程号,任课老师,上课地点,分数,学时,学分),其中主关键字为课程号;
(3)成绩(课程号,学号,分数)其中主关键字为学号和课程号。可以与学生关系模式合并为:学生(学号,姓名,性别,年龄,地址,专业班级,成绩,课程号)。
五物理结构设计
(1) 数据结构:设置每一数据表的属性名,类型,宽度。 (2)设置参照属性:
成绩信息(课程号,学号,分数)的学号参照学生基本信息的学号。 成绩信息(课程号,学号,分数)的课程号参照课程基本信息的课程号。 (3)关系:
学生基本信息与成绩信息建立关于学号的关系。 课程基本信息与成绩信息建立关于课程号的关系。 (4)数据库名称:选课管理系统。 逻辑数据名称:选课管理系统。
数据文件:选课管理.mdf,初始大小:2MB,最大空间:20MB,增加量:2MB。 日志文件:选课管理_log.ldf,初始大小:2MB,最大空间:20MB,增加量:2MB。 备份设备名:rsxtbf,备份文件:rsbf.bak
(5)索引:对于每一数据表关于主关键字建立索引文件。 (6)设置触发器:
要求学生基本信息中的学号被修改时,学生的选修课信息表被修改。
要求在学生基本信息中插入新的学号时,学生的选修课信息表被插入新的学号。
要求在学生基本信息中删除工号时,学生的选修课信息表的学号被删除。
(7)设置视图:
为用户提供包含学号,姓名,性别,年龄,地址,专业班级,成绩,课程号的视图。 (8)设置存储过程:
根据用户所提交的成绩信息,为用户提供关于学生的学生基本信息(学号,姓名,
性别,年龄,地址,专业班级)。
根据用户所提交的成绩信息,为用户提供关于学生的选课信息(课程号,学号,
分数)。
6.源程序代码
6.1 数据库程序
create database 学生选课管理系统 on primary
(name=选课管理,
filename='d:\\选课管理.mdf', size=2,
maxsize=20, filegrowth=2) log on
(name=选课管理_log,
filename='d:\\ 选课管理_log.ldf', size=2,
maxsize=20,
filegrowth=2)
6.2 备份程序
sp_addumpdevice 'disk','rsxtbf','d:\\beifen\\rsbf.bak' go
backup database 学生选课管理系统 to rsbf
6.3 表程序
(1)学生表基本信息表的建立 Create table 学生基本信息
( 学号 char(9) not null,
专业班级 varchar(20) not null, 姓名 varchar(10) not null, 性别 varchar(2) not null, 年龄 char(2) ,
地址 varchar(20) not null, 电话 varchar(11) not null, constraint PK_STUDENT primary key (学号) )
(2)选修课程基本信息表的建立
Create table 选修课程基本信息
( 课程号 char(5) not null,
课程名 varchar(10) not null, 任课教师 varchar(8) not null,
教师电话 varchar(11) not null,
上课地点 varchar(20) not null, 学时 smallint not null, 学分 int not null,
constraint PK_COURSE primary key (课程号)
)
(3)成绩信息表的建立
Create table 成绩信息
( 成绩 varchar(3) not null,
学号 char(9) not null, 课程号 char(5) not null,
foreign key(学号) references 学生基本信息(学号),
foreign key(课程号) references 选修课程基本信息(课程号) )
6.4 视图
create view 学生基本信息视图(学号,专业班级,姓名,性别,年龄,地址,电话) as select.学生基本信息.学号,学生基本信息.专业班级,姓名,性别,年龄,地址,电话
from 学生基本信息,成绩信息
where 学生基本信息.学号=成绩信息.学号
6.5 存储过程定义
1.关于学生基本信息表的存储过程
create procedure yg
@xl varchar(8)=null
as if @xl is null
print '请输入学号!'
else
select 学生姓名,性别,地址,年龄,专业
from 学生基本信息,成绩信息
where学生基本信息.学号=成绩信息.学号
2.关于课程基本信息表的存储过程
create procedure yg
@xl varchar(8)=null
as if @xl is null
print '请输入课程号!'
else
select 学生姓名,性别,地址,年龄,专业
from 基本信息,成绩信息
where课程基本信息.课程号=成绩信息.课程号
6.6 触发器
(1).修改学号的触发器
create trigger goha on学生基本信息 for update as begin
if(columns_updated()&01)>0
update 成绩信息
set成绩信息.学号=(select a.学号 from inserted a)
where成绩信息.学号=(select b.学号 from deleted b) end
(2)修改课程号的触发器
create trigger goha on课程基本信息 for update as begin
if(columns_updated()&01)>0
update 成绩信息
set成绩信息.课程号=(select a.课程号 from inserted a) where成绩信息..课程号=(select b.课程号 from deleted b) end
(3)插入新学号的触发器
create trigger jbinsert on 学生基本信息
for insert as
if(columns_updated()&1)>0 begin
insert into 成绩信息(学号) select 学号,
end
(4)插入课程号的触发器
create trigger jbinsert on 选修课程基本信息
for insert as
if(columns_updated()&1)>0 begin
insert into 成绩信息(课程号) select 课程号,
end
(5)删除学号的触发器
create trigger check_delete on 学生基本信息 for delete as begin
delete成绩信息
where成绩信息.学号=(select 学号 from deleted) end
(6)删除课程号的触发器
create trigger check_delete on 选修课程基本信息 for delete as begin
delete成绩信息
where成绩信息.课程号=(select 课程号 from deleted) end
7.数据库表及时视图截图 (1)学生表基本信息表
(2)选修课程基本信息表
(3)成绩表
(4)视图
8.结束语
在张老师的指导下,运用老师课堂上讲的知识,我设计出了一个可以查询学生选课关了的系统。这次课程设计是对这学期数据库课程的一个知识综合,它需要运用到前面所学的知识。通过这次课程设计,使我将平时所学的知识运用到实践中,提高了自己实际上机操作的能力。在实际操作中发现平时的知识的不足。总之,这是对平时掌握知识的一次检验,也是一次对平时不足的弥补。感谢张老师这学期对课本知识和做人为事的教导.使我们在轻松愉快中掌握了数据库的基本操作。忠心的
正在阅读:
SQL Server课程设计报告06-16
海得拉巴密涅瓦豪华孔达普尔酒店(Minerva Grand Kondapur)05-08
alwaysup进程保护技术安装使用指南01-19
马克思和他的国际工人协会01-08
16秋学期《第一次把事情做对》在线作业06-21
加强基层意识形态工作的思考与对策调研报告08-28
土木工程施工组织毕业设计终极版05-02
IEC 61643-1 - 2005译文09-24
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 课程
- 报告
- Server
- 设计
- SQL
- 2015会计基础讲义
- 浅谈《连城诀》
- 磁铁游戏- 阳光学习网 给孩子一个绿色健康的阳光学习世界
- 初中化学专题5课程文本
- 2014年潍坊市初中英语骨干教师培训心得体会
- 废轮胎生产胶粉环评报告表 - 图文
- 公务员聘用制度研究-管理类毕业论文
- 甘肃省农村信用社农户小额信用贷款管理办法
- 浙江省舟山市2015年中考数学试卷(解析版)分解
- 院感知识竞赛报道
- 材料科学与工程试题总结
- 数据结构附部分答案
- 物理竞赛用题 运动专题
- 学士学位论文—-专家系统概述及其应用人工智能
- 《军事理论》试题库
- 小学六年级数学难题集锦
- 2第二讲 磁场对电流的作用
- 2010年11月6日四川省公务员考试笔试《行测》真题及答案(完美打
- Hemuru常用会计分录大全
- 9宋代经济发展教案