数据库设计 选课管理Word文档下载推荐.docx
《数据库设计 选课管理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库设计 选课管理Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
七、参考文献....................................................................................15
一、前言
数据库课程的学习其主要的目标是能利用课程中所学习到得数据库的知识与技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。
本次课程设计主要在与巩固学生对数据库基本原理和基础理论的理解,掌握数据库应用系统设计与开发的基本方法,进一步提高学生的综合运用所学知识的能力。
为了使数据库应用系统开发设计合理、规范、有序、正确、高效的进行,现在广泛采用的是工程化6阶段开发设计过程和方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库的实施、数据库系统的运行与维护阶段。
这次设计的“学生选课管理信息系统”我用VB6.0开发工具以及SQL2000数据库软件来实现的。
高效的学生选课管理信息系统是当前信息化校园管理系统之所需。
面对日益庞大的教学信息,就需要有教学管理来提高管理的工作效率。
通过建立这样的系统,可以做到信息的规范管理、快速查询和科学统计,从而减少管理方面的工作量。
二、需求分析
2.1数据需求分析
1.学生信息:
学生学号,学生姓名,性别,年龄,所属院系,备注等;
2.教师信息:
教师编号,教师姓名,性别,年龄,学历,职称,毕业院校,健康状况;
3.课程信息:
课程编号,课程名称,学时,学分,备注等;
4.教室信息:
教室编号,容量,空闲时间等;
5.注成绩信息体现在学生选课表里。
2.2数据字典
学生选课系统包含的表:
序号
表名
1
学生信息表
2
课程信息表
3
教师信息表
4
教室信息表
5
教师选课表
6
学生选课表
7
密码表
学生信息表:
字段名称
数据类型
长度
非空
主键
备注
sno
nvarchar
50
Yes
学生学号
sname
No
学生姓名
ssex
性别
sage
年龄
sdept
所属院系
m
ntext
课程信息表:
cno
课程编码
cname
课程名称
chour
学时
credit
学分
教师信息表:
tno
教师编号
tname
教师姓名
tsex
tage
tedu
学历
title
职称
tsch
毕业院校
theal
健康状况
教室信息表:
rno
char
10
教室编号
rcap
教室容量
rfretim
空闲时间
学生选课表:
id
int
ID
stuno
学号
courseno
课程编号
teacherno
roomno
choicetime
选课时间
grade
成绩
教师选课表:
名称
密码表:
pser_name
用户名
pass_word
密码
limits
权限
2.3功能需求分析
1.信息管理能对各个库表进行输入,修改,删除,添加,查询等基本操作;
2.教师能够选择自己要教的课程及教室;
3.学生能选定课程及任课老师;
4.能够实现各类查询:
学生、教师、教室、课程、选课情况查询;
5.能够实现用户管理功能;
6.界面友好,功能安排合理,操作方便。
2.4系统功能图示
三、系统概念结构设计
3.1主E-R图
本系统的数据库实体主要有“学生”、“教师”、““教室”、“课程”等。
其中“教师”与“课程”存在“开设”联系,并且一个教师可以开设N门课程,即“教师”与“课程”之间是一对多的关系。
一个学生可以学习N门课程,一门课程可以有M个学生学习,即“学生”与“课程”之间是多对多的关系。
同样“课程”与“教室”之间也是多对多的关系。
整个数据库可以用一个E-R图表示,如图:
3.2分E-R图
(1)学生信息E-R图:
(2)教师信息E-R图:
(3)课程信息E-R图:
(4)教室信息E-R图:
四.系统逻辑结构设计
数据库逻辑设计就是将E—R图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。
转换过程中常见规则有:
(1)对于“教师”、“课程”、“教室”和它们之间的“开设”关系就可以规则多对多的关系转换成四个关系模式:
教师(教师编号,姓名,性别,年龄,学历,职称,所属院校,健康状况);
课程(课程编码,课程名称,课时,学分,备注);
教室(教室编号,容量,空闲时间);
教师选课(教师编号,课程编号,教室编号,备注)。
(2)对于“学生”、“课程”和它们之间的“选修”关系就可以规则多对多的关系转换成三个关系模式:
学生(学号,姓名,性别,年龄,所属院系,备注);
教师选课(教师编号,课程编号,教室编号,备注);
学生选课(学号,课程编号,教室编号,教师号,成绩)。
(3)管理员(帐号,密码,权限)。
5、系统详细实现过程
5.1建立数据库及数据表
使用SQLServer2000开发环境,在查询分析器用SQL语句建立数据库“stu”以及7个个表。
5.2APP实现
使用VisualBasic6.0开发环境,设计系统各个界面,以及实现与数据库的结合,最终实现系统功能。
在VB数据库程序中,首先要通过ADO控件来连接SQLServer2000数据库,然后通过显示数据的控件来显示数据。
一般来说,利用ADODC控件就能开发出功能完备的VB数据库系统了。
但ADODB使用起来更灵活,功能更强大。
因此本次课程设计ADODC及ADODB都有采用,另外,显示数据的控件使用的是DataGrid。
须注意的是使用ADODC控件要对其属性进行设置,以连接到数据源,而DataGrid控件的属性DataSource须选择相应的ADODC控件名,以显示源自ADODC引来的数据。
另外,VB与数据库的连接,其代码如下:
'
********数据库连接********
PublicFunctionDBConnect()
Setcn=NewADODB.Connection
Setrs=NewADODB.Recordset
cn.Open"
Provider=SQLOLEDB.1;
IntegratedSecurity=SSPI;
PersistSecurityInfo=False;
UserID=sa;
InitialCatalog=stu;
DataSource=."
EndFunction
********数据库断开********
PublicFunctionDBClose()
cn.Close
5.3系统主要功能实现
系统启动封面是一个应用系统开始的界面,通常是进行系统介绍的,人们一看见封面就可以知道这个系统是干什么的。
创建系统启动封面也就意味着创建系统的开始。
1)用户登录身份验证:
设计一个系统登录窗体,包括用户名和密码输入框体。
如果用户名或密码为空,将提示重新输入。
而且,我们限制了密码输错次数(3次),超过次数限制时,系统将提示退出。
另外,用户权限问题,我们将用户权限添加在密码表中,系统自动根据登录的用户名确定其权限。
2)用户管理:
当用户成功登录系统后,可根据其权限进行用户管理,普通用户可修改自己的密码,管理员可以改密码的同时,还能增加、删除其他用户。
3)选课实现:
选课,包括教师选课和学生选课,教师可选择想教授的课程和上课教室,我们将结果(教师编号、课程编号、教室编号)写进教师选课表里;
学生选课,可选择课程和任课教师,即是从教师选课表和学生信息表中提取的信息(学号,课程编号,教室编号,教师编号等)写入学生选课表中。
学生选课界面如下图,教师选课界面类似。
4)信息管理:
信息管理包括:
学生、教师、课程、教室信息的管理,功能包含添加、删除、修改等,管理界面也包括基本信息查询。
课程信息管理界面如下(其他类似):
修改学生信息部分代码编写思路分析,过程如下:
PrivateSubEditRecord()
......
EndSub
代码省略。
为达到人性化和实用化,学生信息修改时,学号不可改,姓名不可为空,代码中必须做必要的判定。
信息输入后,重新写入数据库,覆盖原纪录,直接写SQL语句实现。
5)查询功能:
查询功能有学生选课情况(选的课程、任课教室、上课地点等)查询,查询某个教师有多少个学生选他的课,以及基本信息查询(学生、教师、课程、教室基本信息),以及成绩查询!
查询方法可选择根据编号(或学号)、姓名、课程名、院系、学分等等进行。
选课查询窗体如下图:
查询经典部分代码:
PrivateSubQuery()
DimcountAsInteger
DimstrSQLAsString
DimstrConditionAsString
strSQL="
SELECTb.teachernoAS教师编号,c.tnameAS教师姓名,b.coursenoAS课程编号,a.snoAS学生学号,a.snameAS学生姓名"
&
_
"
FROMstudentinfoASa,choiceASb,teacherinfoASc"
WHEREa.sno=b.stunoANDb.teacherno=c.tno"
strCondition="
"
IfCheck1(0).Value=vbCheckedThen
IftxtTeacherID2="
Then
MsgBox"
请输入教师编号"
vbExclamation,sign
ExitSub
EndIf
ANDc.tno"
LIKE'
%"
Trim(txtTeacherID2)&
%'
ElseIfCheck1
(1).Value=vbCheckedThen
IftxtLessonID="
请输入课程编号"
sql=sql&
ANDb.coursenoLIKE'
Trim(txtLessonID)&
strSQL=strSQL&
sql
rs.Close
rs.OpenstrSQL,con,adOpenDynamic,adLockOptimistic
Ifrs.EOFAndrs.BOFThen
SetDataGrid1.DataSource=rs
CallDatagridWidth
没有符合条件的记录!
txtTeacherID2.Text=Empty
txtTeacherID2.SetFocus
Else
IfNot(rs.EOFAndrs.BOF)Then
rs.MoveFirst
rs.MoveLast
EndIf
count=rs.RecordCount
Label6.Caption="
查询结果如下:
总共有"
rs.RecordCount&
个学生选这个的课"
共找到:
count&
条记录"
,sign
5.4结论
通过两周的努力,我们亲手做的学生选课信息管理系统终于诞生了!
本系统是由VisualBasic和SQLServer2000结合实现的,包括对用户信息的管理,修改、删除用户等操作。
能够查询学生、教师、课程、教室、学生选课、教室选课等信息,并且可以对其进行增加、删除、修改等操作。
另外,本系统还具有界面友好、人性化、便于操作的优点!
六、课程设计总结
通过这两周的努力,我们的作品终于出炉了,内心的激动与喜悦无法言表。
想想当初,刚开时动工的时候,那真是毫无头绪,根本不知道从哪入手,首先对数据库的相关知识不是很了解,再者对sqlsever2000和VB程序的操作不是很熟悉。
但我并没有灰心气馁。
通过几天的学习,请教,上网咨询,慢慢的有了一些眉目,同时也感觉不再那么无助。
虽然,对VB的了解还不是很充足,但一些简单的操作还是很令我兴奋。
我也深深体验到要熟练掌握一种操作软件的难度时那么的大。
在制作过程中,有失败,有兴奋。
但我坚持了下来,遇到困难我没有灰心,首先的困难就是对信息的收集,对各个表建立属性的调查,通过书本上的介绍和网上的一些资料的启发,这个困难不再困扰着我。
但最大的困难就是对VB的操作的学习,从一无所知到作出自己的程序,我经历了许多的困难。
但我也从中学到了许多,通过向老师同学的请教,我明白了许多课堂上本应该记住的知识,还有一个困难就是对语句的输入,一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。
有时候,我自己觉得我写的程序非常的正确,但是就是编译通不过,在查找错误的过程中,面临着否定自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展很缓慢。
所以我经常要请教高人帮忙!
这过程中我们也培养了合作精神,我们经常在一起研究某个功能的如何实现,常常能想出意想不到的方法!
总之,通过这个数据库的制作,我感到受益匪浅。
7、参考文献
【1】梁伟、苏瑞主编《VisualBasic管理信息系统项目开发实践》科学出版社2005年6月;
【2】赵松涛编著《VisualBasic+SQLServer2000系统开发实录》电子工业出版社2007年2月;
【3】林卓然编著《VisualBasic程序设计教程》电子工业出版社2004年2月。
鸣谢:
感谢*老师这两周对我的指导和关心!