sql课设.docx
- 文档编号:9887471
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:19
- 大小:206.61KB
sql课设.docx
《sql课设.docx》由会员分享,可在线阅读,更多相关《sql课设.docx(19页珍藏版)》请在冰豆网上搜索。
sql课设
sql-课设
辽宁工业大学
《管理信息系统设计专题》报告
题目:
学生信息管理系统
院(系):
0学号:
学生姓名:
指导教师:
教师职称:
起止时间:
2010.06.28-2010.07.09
设计任务及评语
院(系):
软件学院教研室:
软件教研室
学号
专业班级
设计题目
学生信息管理
设计任务
要求根据管理信息系统及数据库设计原理,按照系统设计的步骤和规范,完成各阶段的设计内容。
需求分析具体实际,数据流图、数据字典、关系模型要规范。
在sqlserver2000上实现数据库的模型建立(数据库、表的建立、完整性约束的实现、关系图、必要的存储过程及触发器的编程),并用VB实现简单的应用程序。
设计过程中,要严格遵守设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出设计报告。
指导教师评语及成绩
成绩:
指导教师签字:
年月日
第1章设计目的与要求
1.1设计目的
本实践课的主要目的是:
掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;掌握关系数据库的设计方法;掌握SQLServer2000技术应用;掌握简单的数据库应用程序编写方法;理解C/S模式结构。
1.2设计环境
1.硬件:
CPU:
酷睿2.4HZ硬盘:
160G内存:
512MB主板:
微星,845G
2.软件:
Windowsxp,VisualBasic6.0,SQLServer2000,SQLServer2000桌面引擎
1.3主要参考资料
1.《管理信息系统》黄梯云高等教育出版社
2.《数据库系统概论》萨师煊高等教育出版社
3.《SQLServer2000数据库应用系统开发技术》朱如龙编,机械工业出版社。
4.《SQLServer2000数据库应用系统开发技术实验指导》朱如龙编,机械工业出版社
1.4设计内容及要求
一、内容
1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。
2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范
3.在sqlserver2000上实现设计的数据库模型。
4.对应用程序进行概要设计。
5.用VB实现简单的应用程序编写。
二、要求
设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出课程设计报告。
第2章设设计内容
2.1数据库设计
2.1.1需求分析
学生信息管理系统涉及院系信息、班级信息、教师信息、学生信息、学籍变更信息、学生奖惩信息、课程信息以及选课信息和成绩等多种数据信息。
管理用户包括系统管理员、教师和学生。
系统管理员负责日常的学籍管理工作,如各种基本信息的录入、修改、删除等操作。
实现教务处个本门之间以及教务处与各院系教学管理部门之间的信息交换,实现各部门教学管理的全面计算机化,是功能尽可能完善、系统、全面;实现对历史数据的计算机管理;并及时为学校个管理部门提供统计、分析的决策信息。
教师使用该系统可完成教学班信息查询和成绩管理。
学生使用该系统主要完成选课和成绩查询等操作。
经过调研与分析,学生信息管理系统主要具有以下功能。
(1)院系信息管理。
院系信息管理包括院系信息数据的录入、修改与删除等功能。
(2)班级信息管理。
班级信息管理包括班级信息的录入、修改与删除等功能。
(3)教师信息管理。
教师信息管理包括任课教师信息的录入、修改与删除等功能。
(4)学生个人信息管理。
学生信息管理包括学生信息的录入、修改与删除等功能。
(5)课程信息管理。
课程信息管理包括课程信息的录入、修改与删除等。
1.工作流程图:
2.系统业务流程图:
系统分析和描述系统的重要工具是系统业务流程图业务流程图,它反映了系统各机构的业务处理过程和它们之间的业务分工与联系,是一种用尽可能少、尽可能简单的方法来描述业务处理过程的方法。
图2.1.1系统业务流程图
2.系统数据流程图:
数据流程图是描述系统数据流程的主要工具,通过舍去具体的组织结构、工作地点、物资、材料等要素,从而从数据流动的角度来考察实际业务处理情况,通过图形方式描述信息的来龙去脉和实际流程。
图2.1.2系统数据流程图
3.数据字典:
1)数据项:
表2.1.1数据项
数据项名称
数据项含义说明
别名
数据类型
长度
取值范围
学生学号
为每个学生设置一个代号
无
字符型
8
a000-x999
学生姓名
学生的名字
无
字符型
50
中、外文
性别
学生的性别
无
位
1
0、1
出生日期
学生出生的日期
无
日期
8
19**/**/*-20**/**/**
联系电话
该学生的电话号码
无
整型
8
0-9
班号
为班级设置一个代号
无
字符型
4
a000-x999
班主任编号
为班主任设置一个代号
无
字符型
4
a000-x999
班主任姓名
班主任的名字
无
字符型
50
中、外文
年级编号
为每个年设置一个代号
无
字符型
4
a000-x999
年级名称
具体哪个年级
无
字符型
50
中、外文
课程编号
为每个课程设置一个代号
无
字符型
4
a000-x999
课程名称
每个课程的具体名字
无
字符型
50
中、外文
课程类型
每个课程的所属类型
无
字符型
100
中、外文
课程描述
课程的具体描述
无
字符型
400
中、外文
分数
学生的各科成绩及统计
无
整形
4
0-100
2)数据结构的定义:
数据结构名称:
班级
含义说明:
数据库中用来存储班级的信息
数据结构组成:
班号+年级编号+年级名称+班主任编号+班主任名称
数据结构名称:
课程
含义说明:
数据库中用来存储课程的信息
数据结构组成:
课程编号+课程名称+课程类型+课程描述
数据结构名称:
成绩
含义说明:
数据库中用来存储学生成绩的信息
数据结构组成:
考试编号+学生学号+课程编号+分数
3)数据流的定义:
数据流名称:
成绩修改
简要说明:
对学生的原来的错误分数进行更正
数据流来源:
课程管理模块
数据流去向:
成绩管理
数据流名称:
选课信息
简要说明:
学生对学校开设的课程进行选择
数据流来源:
课程设置模块
数据流去向:
课程管理
数据结构:
学号+课程编号+课程名称+课程描述
数据流名称:
成绩统计
简要说明:
对各科成绩进行统计
数据流来源:
成绩管理
数据流去向:
课程管理模块
数据结构:
考试编号+学号+课程编号+分数
4)数据存储:
数据存储名:
课程信息
输入数据流:
课程基本信息,年级开课课程
输出数据流:
学生选修的课程信息
数据存储名:
成绩信息
输入数据流:
更新后的成绩信息
输出数据流:
学生各科分数及成绩的统计
2.1.2概念设计
年级开课信息表的E-R图包括如下信息:
课程编号、年级编号、年级名称、…。
图2.1.3年级开课信息E-R图
课程信息的E-R图包括如下信息:
课程编号、课程名称、课程类型、课程描述。
图2.1.3课程信息E-R图
总体E-R图包括:
学校信息表、学院信息表、教师信息表、学生信息表、课程信息表和成绩表。
图2.1.5整体E-R图
2.1.3逻辑设计
逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。
逻辑结构设计一般分为三步进行:
从E-R图向关系模式转化数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。
一个实体类型转换为一个关系模型,将每种实体类型转换为一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。
将“学生”实体转换为一个关系模型,其中,带下划线的属性为主键,该主属性为关系模型外键。
学生(学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间)
成绩信息(考试编号、课程编号、学号、分数。
)
2.1.4物理设计
1.存储结构
存储结构是建立一种由逻辑结构到存储空间的映射。
存储结构是把一组结点存放在按地址相邻的存储单元里,结点间的逻辑关系用存储单元的自然顺序关系来表达的,即用一块存储区域存储线性数据结构,为使用整数编码访问数据结点提供了便利。
2.索引的创建
为schoolgrade表创建一个以grade_id为索引的关键字的唯一聚簇索引
1)展开数据库中的表右键学生表,单击所有任务弹出的索引管理。
2)在窗体点新建索引名称为grade_name,点击复选框“聚簇索引”、“惟一值”。
3.事务日志文件备份及存放
SQLServer创建数据库的时候,会同时创建事物日志文件,事物日志存储在一个单独的日志文件上。
在修改写入数据库之前,事物日志会自动地记录对数据库对象所做的所有修改,事物日志有助于防止数据库损坏。
日志文件与数据文件要分开放在不同的磁盘上,这样事物日志就可以单独的备份,事务日志不会抢占数据库的空间,可以很容易的监测事务日志的空间。
4.存取方法:
数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。
物理设计的任务之一就是要确定选择哪些存取方法,即建立哪些存取路径。
存取方法是快速存取数据库中数据的技术。
数据库管理系统一般都提供多种存取方祛。
常用的存取方法有二类。
第一类是索引方法,第二类是聚簇(Cluster)方法。
索引方法是数据库中经典的存取方法,使用最普遍。
索引法是为了加速对表中的数据行的检索而创建的一种分散的存储结构。
是针对一个表而建立的,它能够以一列或多列的值为关键字,迅速查找/存取表中行数据加快了数据检索。
例如在本数据库中的:
学生(学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间)
年级开课信息(年级编号、课程编号、课程名称。
)
整个系统需要调用学生表、成绩表等,所以学生表属性“学号”,成绩表表中的属性“学号”,将经常出现在查询条件中,可以考虑在上面建立聚簇索引以提高查询效率。
2.1.5数据库实现
数据库实现是通过数据字段、关系图、存储过程和触发器实现等各部分的功能实现的。
(1)数据字段:
通过班级信息表,课程信息表,成绩表可以清楚的了解班级的班号、年级编号、班主任编号、课程名称、课程类型、考试分数等信息。
表2.1.2课程信息表
序号
TableName(表名)
FieldName(字段)
FieldType(字段类型)
IsPrimaryKey(是否主键)1为主键
1
course_info
course_No
[int]NOTNULL
1
2
course_info
course_Name
[varchar](30)NULL
0
3
course_info
course_type
[char](20)NULL
0
4
course_info
course_des
[varchar](60)NULL
0
表2.1.3年级开课信息表
序号
TableName(表名)
FieldName(字段)
FieldType(字段类型)
IsPrimaryKey(是否主键)1为主键
1
schoolgrade_info
grade_No
[int](8)NULL
0
2
schoolgrade_info
Grade_name
[char](20)NULL
0
(2)关系图:
以关系型为目标将E-R实体图中概念模型映射为关系模型,学生信息管理模型实现设计,如图所示:
图2.1.6系统关系图
(3)存储过程程序及其功能:
存储过程myon
作用:
将vb从客户端得到的值通过输入参数传递到存储过程,再通过存储过程将数据
写入要修改的表中
Createproceduremyonschoolgrade_info
(@grade_Noint(8)
@grade_namechar(20),
@course_name(30),
@course_Noint(4),
@course_typechar(20),
@course_deschar(60),
)
AS
Insertinto课程开设表(course_No,course_type,course_name,course_des)values(@course_No,@course_type,@course_name,@course_des)
Insertinto年级开课信息表(grade_No,grade_name)values(@grade_No,@grade_name)
GO
(4)触发器程序及其功能:
触发器1,对于“年级开课信息”表中的插入操作进行计数,从而动态统计课程的数量.
CREATE TRIGGER [tr_1] ONschoolgrade_info
after INSERT
AS
update 课程数
set 课程数 = 课程数+1
Go
当每进行完一次插入操作后,触发器更新人数信息,使其自加一
CREATE TRIGGER [tr_2] ON schoolgrade_info
after delete
AS
update 课程数
set 课程数 = 课程数-1
当每进行完一次删除操作后,触发器更新课程数信息,使其自减一。
程序通过读取表“课程数量“中的数据来得到当前本系统所管理的课程数。
2.2程序设计
2.2.1概要设计
学生信息管理分为年级信息管理,学籍信息管理,班级信息管理,成绩信息管理,课程信息管理,查询管理,其中有关学生学籍等信息的输入,包括学生基本信息,所在班级,所学课程和成绩等。
学生信息的查询,包括学生基本信息,所在班级,所学课程和成绩等。
班级管理信息的查询班级管理信息的修改 学校基本课程的输入,查询 学生课程的设置和修改 学生成绩信息的输入,修改,查询,统计。
所以为其设计管理信息系统的时候,首先要考虑其组织结构,经过调查该系统的总体设计功能图如下:
图2.2.1整体功能模块图
课程信息管理包括课程信息设置、年级课程。
其中课程信息添加时,可以输入课程号、课程名实现对课程信息的添加,包括课程所在年级及课程主要内容。
课程信息管理
年级课程开设
课程信息设置
图2.2.2查询管理功能模块图
2.2.2程序实现
程序实现主要是代码在编译器中运行得到的结果,课程信息类型管理窗体主要由文本框及命令按钮组成,管理员点击“添加、修改、删除、关闭”按钮系统会通过上述四个控件与数据库进行连接并进行数据的相应操作。
实现具体功能窗口如图所示:
程序代码如下:
PrivateSubcmdAdd_Click()
IfcmdAdd.Caption="添加(&A)"Then
CallClearText
cmdAdd.Caption="关闭(&C)"
Frame1.Enabled=True
CallAutoCourseNo
TxtcouName.SetFocus
cmdSave.Caption="保存(&S)"
cmdSave.Enabled=True
cmdDel.Enabled=False
Else
CallClearText
cmdAdd.Caption="添加(&A)"
Frame1.Enabled=False
cmdSave.Caption="保存(&S)"
cmdSave.Enabled=False
cmdDel.Enabled=False
EndIf
EndSub
第3章设计总结
在这次实验中,我学会了SQL与VB的结合,它让我知道SQL的更多功能,加深了我学习SQL的兴趣,在实验中建表,以及关系模式,关系代数的建立及理解,将SQL的查询语句运用的淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入,删除,修改,查询涉及表和表之间的联系,主键与外键的定义。
而在编码方面,我从系统的功能,规模和使用方面考虑。
我对课堂上学的知识再次巩固了一遍。
学会了SQL+VB编程的基本方法。
在此次实训当中加深了对数据库对象的使用。
更加了解其个对象的用处。
学会了前台与后台的链接。
这次实训是老师给了范例程序,经过自己的改写,实现要求。
在实际操作过程中犯的一些错误还会有意外的收获,感觉实训很有意思。
在具体操作中对这学期所学的数据库的理论知识得到巩固,达到实训的基本目的,也发现自己的不足之出,在以后的上机中应更加注意,同时体会到数据库具有的语句简洁,使用灵活,执行效率高等特点。
发现上机实训的重要作用,特别是对数组和循环有了深刻的理解。
通过本次的课程设计,让我对计算机系统有了更深一步的了解,感觉自己不仅会使用它,而且还会设计它,似乎感觉自己突然间变的强大了许多!
参考文献
1.黄梯云.《管理信息系统》.高等教育出版社
2.萨师煊.《数据库系统概论》.高等教育出版社
3.朱如龙.《SQLServer2000数据库应用系统开发技术》.机械工业出版社
4.《SQLServer2000数据库应用系统开发技术实验指导》.机械工业出版社
5熊桂喜《SQLServer开发指南》清华大学出版社
6.刘玉生《SQLServer开发和应用》电子工业出版社
7.张营《SQLServer2000开发指南》电子工业出版社
8.王华杰《VB.NET编程实例详解》中国铁道出版社
9.Thomsen《VB.NET数据库开发》清华大学出版社
10.彭东《SQLServer应用开发技术指南》清华大学出版社
11.钱雪忠《数据库原理及应用》北京邮电大学出报社
12.王珊《数据库原理概论》高等教育出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql