资源描述
课程设计报告
课程:数据库系统原理
学号: 08261008
姓名: 何婷婷
班级: 08计11班
教师: 孟 倩
徐州师范大学
计算机科学与技术学院
课程设计任务书
姓 名
何婷婷
学 号
08261008
班 级
08计11
课程名称
数据库系统原理
课程性质
专业基本课
同构成员
08261024 郭琼
分工
学生信息模块(合伙)和教师信息模块
设计时间
5月 20日—— 6月 20日
设计名称
教务管理系统
设计规定
可以对各种教学信息进行寻常管理,如学生管理、课程管理和任课教师管理等;充分发挥数据库管理系统高效、完全、可靠、便捷性能,减少教务人员工作量。数据库设计保证数据库系统对的性、完备性和一致性。尽量提高数据库系统执行效率,可以考虑使用视图、存储过程及触发器实现某些功能,尽量提高数据库系统执行效率。使用VB设计合理、和谐顾客界面,合理安排功能模块。应用ODBC数据对象连接和操作SQL Server数据库对象,访问数据库中各个表中数据。
设计思路
与
设计过程
设计思路:在这个设计中我负责学生信息模块设计教师信息管理模块设计与VB界面实现。学生信息模块涉及学生基本信息管理、成绩查询、学生选课信息查询、教师信息管理模块涉及教师基本信息管理、授课信息管理、成绩录入、学生基本信息查询。教师何学生只能通过登录查询有关信息;学生可以查询自己何同窗信息。教师能查看所有学生基本信息和成绩,但只能对自己所教课程学生成绩进行添加,删除和编辑等操作。只有教务员才可以有操作权限对教师基本信息进行添加,删除或是修改
设计过程:VB界面实现与代码编写通过图书馆资源和网上资源参照学习及询问她人,争取实现简朴美观而又实用界面,做好与数据库连接和有关操作。
筹划与进度
5月20号~5月26号数据库系统分析、设计及实行
5月27号~6月10号 系统设计、系统实现
6月11号~6月20号 系统实现、设计报告撰写
任课教师
意 见
说 明
教务管理系统
一、 绪论
选取教务管理这个题目是由于这个系统咱们较为熟悉,建表比较容易。要实现哪些功能也比较清晰。
数据库设计保证数据库系统对的性、完备性和一致性。使用视图、存储过程及触发器实现某些功能,尽量提高数据库系统执行效率。使用VB设计合理、和谐顾客界面,合理安排功能模块。应用ODBC数据对象连接SQL Server数据库对象,访问数据库中各个表中数据。
设计本系统为了可以对各种教学信息进行寻常管理,如学生管理、课程管理和任课教师管理等;充分发挥数据库管理系统高效、完全、可靠、便捷性能,减少教务人员工作量。
在本系统中有学生信息模块、教师信息模块、教务员信息模块。学生信息模块涉及学生基本信息管理、成绩查询、学生选课信息查询;教师信息管理模块涉及教师基本信息管理、授课信息管理、成绩录入、学生基本信息查询;教务员信息模块涉及学生和教师录入。教师和学生只能通过登录查询有关信息;学生可以查询自己何同窗信息。教师能查看所有学生基本信息和成绩,但只能对自己所教课程学生成绩进行添加,删除和编辑等操作。只有教务员才可以有操作权限对学生和教师基本信息进行添加,删除或是修改
二、需求分析
1、问题描述:
依照教务管理分别对学生信息,教师信息以及成绩信息管理等实际规定,结合教务员寻常工作开展与教务管理实际流程,开发教务管理系统需要满足如下等需求:
1)对学生基本信息进行管理,其中涉及学号,姓名,性别,班级,出生日期,籍贯,联系方式,所选课程等等。
2)对教师基本信息进行管理,其中涉及教师编号,姓名,性别,出生日期,职称,职务,联系方式等等。
3)对学生成绩进行管理,以便教师对学生成绩录入和查询。
4)对教师任课进行管理,能输出每位教师课程表。
5)对成绩等信息提供灵活浏览和综合查询等功能,可以以便地查看和浏览学生基本信息,教师基本信息,成绩数据等。
6)教务员可以对学生、教师基本信息以及课程信息、成绩等具备添加,删除和编辑等操作。
2、系统功能描述
1) 学生信息模块:
学生信息管理模块重要涉及:班级管理、学籍管理、成绩管理、课程管理。 其中教师对成绩管理系统可以进行修改等操作,教务秘书对所有均有权限进行添加,删除或是修改等操作,学生只能通过登录查询关于信息和成绩。
2)教师信息管理模块:
教师信息管理模块重要涉及:教师基本信息管理、授课信息管理、成绩录入。其中只有教务员才可以有操作权限对教师基本信息进行添加,删除或是修改,教师只能通过登录查询有关信息。
3)顾客管理模块:
顾客管理模块重要涉及:学生顾客,教师顾客和教务员三类。其中学生顾客只能通过登录查询自己基本信息和成绩以及有关选课,不能浏览她人基本信息和成绩,同步也不可以改动自己各项信息。教师顾客能查看所有学生基本信息和成绩,能改动自己所授课程学生成绩。教务秘书是系统特权顾客,对学生、教师基本信息以及课程信息、成绩等可以进行添加,删除和编辑等操作。
3、安全性与完整性规定:
1)给每个表实行主键及外键约束。
2)设定缺省约束。如教师、学生性别。
3)设立非空约束。如教师、学生姓名。
4)实行CHECK约束。(学生成绩在一定范畴内)
存储过程:
存储过程1:通过班号查询学生学号、姓名、班级等基本信息。
存储过程2:通过以成绩表为中介。连接学生基本信息表,课程信息表,班级基本信息表创立课程表。
三、 系统设计
3.1系统总体设计
1、开发及运营环境:
系统开发平台:Visual Basic 6.0
数据库管理系统软件:SQL Server
运营平台:Windows XP
2、系统功能构造(图):
教务管理系统
学生信息管理
顾客管理
班级管理
学籍管理
课程管理
基本信息管理
授课信息管理
成绩管理
学生
教师
教务员
教师信息管理
图1 功能构造图
系统功能模块图如图1所示,本系统按照功能划分为如下四个模块:学生信息管理(涉及学生信息查询)、教师信息管理(涉及学生信息录入和学生信息查询)、顾客管理(涉及教务员、学生、教师登录等)。
3.2数据库设计
3.2.1数据库概念构造设计
系统E-R
班主任
班名
班号
管理
班级
学号
编号
1
1
构成
ID
m
姓名
姓名
n
教师
教学
学生
成绩
n
宿舍号
职务
1 r
生成
选修
班号
r n
成绩
学号
r
讲授
r
课程
m
课程号
教师编号
课程名称
课程号
图2 E-R图
3.2.2数据库逻辑构造设计
1、学生模式设计:
依照关系模型转换原则,上面E—R图可转换为如下所示关系模型:
Bj(Bno,Bname,Bdate,Btea,Bmon,Bparty)
其中各项含义分别为:班级(班号,班名,建班时间,班主任,班长,团支
书)
其中班号是班级表是主码
Xs(Xno,Bno,Xname,Xbir,Xaddr,Xnation,Xface,Xid,Xcall,Xsno,Xmail,Xdate)
其中各项含义分别为:(学号,班号,学生姓名,性别,出生日期,籍贯,
民族,政治面貌,身份证号,联系方式,宿舍号,邮箱,入学日期 )
其中学号是学生表主码,班号是学生表外码
A、 数据构造:
班级
含义阐明:描述了构成班级信息构造
构成:班号,班名,建班时间,班主任,班长,团支书
学生
含义阐明:描述了构成学生信息构造
构成:学号,班号,学生姓名,性别,出生日期,籍贯,民族,政
治面貌,身份 证号,联系方式,宿舍号,邮箱,入学日期
B、数据表
依照上面E-R图设计及关系模型设计,得出数据表设计,在本系统
中重要数据表如下:
字段名称
数据类型
可否为空
阐明
班号Bno
Char(8)
主键
4位院系代码+2位班级代码+2位班自由编码
班名Bname
Varchar(50)
Not null
班级名称
建班时间Bdate
Datetime(8)
Null
学生入学时间
班主任Btea
Char(10)
Null
班主任
班长Bmon
Char(10)
Null
班长
团支书BParty
Text(6)
Null
团支书
表1:班级基本信息表(Bj)
字段名称
数据类型
可否为空
阐明
学号Xno
Char(8)
主键
4位院系代码+2位班代码+2位学号代码
班号Bno
Char(8)
Not Null
4位院系代码+2位班级代码+2位班自由编码
学生姓名Xname
Char(10)
Not Null
姓名
性别Xsex
Char(2)
Not Null
性别(男,女)
出生日期Xbir
Datetime(8)
Null
出生日期
籍贯Xaddr
Varchar(50)
Null
学生籍贯
民族Xnation
Varchar(30)
Null
民族名称
政治面貌Xface
Varchar(50)
Null
现阶段政治面貌
身份证号Xid
Char(20)
Null
18位身份证号
联系方式Xcall
Varchar(30)
Null
手机号或宿舍号
宿舍号Xsno
Varchar(30)
Null
宿舍楼号(2)+房间号(4)
邮箱Xmail
Varchar(30)
Null
邮箱号
入学日期Xdate
Datetime(8)
Null
入学日期
表2:学生基本信息表(Xs)
2、 教师模式
依照关系模型转换原则,上面E—R图可转换为如下所示关系模型
Kc(Kno,Kname,Jno,Kpno,Kpname,Khour,Kciredit)
其中各项含义分别为:课程(课程号,课程名,教师编号,先修课程号,先
修课程名,学时,学分)
其中课程号是课程表主码
Cj(Cid,Bno,Xno,Kno,Cscore)
其中各项含义分别为:成绩(成绩id ,班号,学号,课程号,成绩)
其中成绩id是成绩表主码,班号、学号、课程号是成绩表外码
A、 数据构造
课程表
含义阐明:定义一种描述学生所选课程信息
构成:课程号,课程名,教师编号,先修课程号,先
修课程名,学时,学分
成绩表
含义阐明:定义一种描述学生所选课程成绩
构成:成绩id ,学号,课程号,成绩
B、数据表
依照上面E-R图设计及关系模型设计,得出数据表设计,在本系统中重要数据表如下:
字段名称
数据类型
可否为空
阐明
课程号Kno
Char(8)
主键
4位院系代码+2位课程代码+2位自由编码
课程名称Kname
Varchar(50)
Not null
课程名称(中文或英文)
教师编号Jno
Char(8)
Not null
4位院系代码+2位教师代码+2位自由编码
先修课程号Kpno
Char(8)
Null
4位院系代码+2位课程代码+2位自由编码
先修课程名称Kpname
Varchar(50)
Null
课程名称(中文或英文)
学时Khour
Int(4)
Null
所学学时
学分Kcredit
Float(6)
Not null
学分
表3 课程信息表(Kc)
字段名称
数据类型
可否为空
阐明
成绩Cid
Numeric(9)
主键
标记种子1、自增1
班号Bno
Char(8)
外键
4位院系代码+2位班级代码+2位班自由编码
学号Xno
Char(8)
外键
4位院系代码+2位班代码+2位学号代码
课程号Kno
Char(8)
外键
4位院系代码+2位课程代码+2位自由编码
成绩Cscore
Float(8)
Not null
成绩,默以为0
表4 成绩信息表(CJ)
四、 系统实现
4.1创立数据库
创立数据库、数据表、视图,存储过程定义与实现,插入数据SQL语句详见文献夹中“数据库SQL语句”文档。
4.2 创立窗口
为了提高在表中搜索元组速度,在实际实现时候应当基于某些属性建立索引。
create unique index BjBno on Bj(Bno)
create unique index XsXno on Xs(Xno)
create unique index JsJno on Js(Jno)
create unique index KcKno on Kc(Kno)
1、总登录界面
Const xspasswd = "xs"
Const jspasswd = "js"
Const jwpasswd = "jw"
Dim n As Integer
Private Sub Command1_Click()
Select case Combo1.Text
Case "学生"
If (Text1.Text = xspasswd) Then
学生顾客.Show
总登录.Hide
Else
MsgBox ("密码错误,请重新登录!")
Text1.Text = ""
n = n + 1
If (n = 3) Then MsgBox ("已经3次未通过密码校验,非法顾客!"):End
End If
Case "教师"
If (Text1.Text = jspasswd) Then
教师顾客.Show
总登录.Hide
Else
MsgBox ("密码错误,请重新登录!")
Text1.Text = "" ;n = n + 1
If (n = 3) Then MsgBox ("已经3次未通过密码校验,非法顾客!"):End
End If
Case "教务员"
If (Text1.Text = jwpasswd) Then
欢迎到教务.Show
总登录.Hide
Else
MsgBox ("密码错误,请重新登录!")
Text1.Text = ""
n = n + 1
If (n = 3) Then MsgBox ("已经3次未通过密码校验,非法顾客!"):End
End If
End Select
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Combo1.AddItem "学生"
Combo1.AddItem "教师"
Combo1.AddItem "教务员"
End Sub
图3 总登录界面
(学生登录界面、学生信息查询由同伴郭琼完毕)
2、学生成绩查询
Private Sub Command1_Click()
If Text1.Text <> "" Then
Adodc1.RecordSource = "select * from Xs where Xno='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
DataGrid1.Visible = True
Else
If Text2.Text <> "" Then
Adodc1.RecordSource = "select * from Xs where Xname='" & Trim(Text2.Text) & "'"
Adodc1.Refresh
DataGrid1.Visible = True
End If
End If
End Sub
Private Sub Command2_Click()
学生基本信息.Hide
学生顾客.Show
End Sub
图 4 学生成绩查询
3、学生课程信息查询
Private Sub Command1_Click()
If Text1.Text <> "" Then
Adodc1.RecordSource = "select * from Cj where Xno='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
DataGrid1.Visible = True
End If
End Sub
Private Sub Command2_Click()
学生成绩.Hide
学生顾客.Show
End Sub
Private Sub Command3_Click()
学生成绩.Hide
End Sub
图 5 学生课程信息
图 6 教师登录界面
4、教师顾客
Private Sub Command1_Click()
教师1学生.Show
教师顾客.Hide
End Sub
Private Sub Command2_Click()
教师录入学生成绩.Show
教师顾客.Hide
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Command4_Click()
总登录.Show
教师顾客.Hide
End Sub
图 7 教师顾客界面
5、教师查询
Private Sub Command2_Click()
教师顾客.Show
教师1学生.Hide
End Sub
Private Sub Command1_Click()
If Text1.Text <> "" Then
Adodc1.RecordSource = "select * from Xs where Xno='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
DataGrid1.Visible = True
Else
If Text2.Text <> "" Then
Adodc1.RecordSource = "select * from Xs where Xname='" & Trim(Text2.Text) & "'"
Adodc1.Refresh
DataGrid1.Visible = True
End If
End If
If Combo2.Text <> "" Then
Adodc1.RecordSource = "select * from Xs where Bno='" & Trim(Combo2.Text) & "'"
Adodc1.Refresh
DataGrid1.Visible = True
End If
End Sub
Private Sub DataGrid1_Click()
End Sub
Private Sub Form_Load()
Combo1.AddItem "学号"
Combo1.AddItem "姓名"
Combo1.AddItem "班级"
Combo2.AddItem "12341101"
Combo2.AddItem "12341102"
Combo2.AddItem "12341103"
End Sub
图 8 通过学号查询学生信息
图 9 通过姓名查询学生信息
图 10 通过班级查询学生信息
6、 教师录入学生成绩
Private Sub Command3_Click()
教师顾客.Show
教师录入学生成绩.Hide
End Sub
Private Sub Command4_Click()
End
End Sub
Private Sub Command1_Click()
If Text1.Text <> "" Then
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("Cid") = Trim(Text1.Text)
Adodc1.Recordset.Fields("Xno") = Trim(Text2.Text)
Adodc1.Recordset.Fields("Bno") = Trim(Text3.Text)
Adodc1.Recordset.Fields("Kno") = Trim(Text4.Text)
Adodc1.Recordset.Fields("Cscore") = Trim(Text5.Text)
Adodc1.Recordset.Update
End If
End Sub
Private Sub Command2_Click()
If MsgBox("真要删除[" + Trim(Adodc1.Recordset.Fields("Xno")) + "]吗?",vbYesNo,"信息提示") = vbYes Then
Adodc1.Recordset.Delete
End If
End Sub
图 11 学生成绩录入
图 12 删除学生信息
五、 设计体会
通过这次课程设计我学到了诸多东西,从数据库建立,完善,到学习VB界面代码编写、编译、修改,再到前台与数据库连接,最后到word文档排版,都让我受益匪浅,在加深对数据库结识同步,提高了自己分析问题、解决问题能力以及动手操作能力,也深刻体会到团队合伙精神重要意义。
虽然在设计过程中遇到了诸多困难,但是通过自己努力和请教别人,完毕了负责模块功能及实现,实现了简朴界面操作,并学会了运用ODBC与数据库连接,实现前台修改和后台维护。但是咱们课程设计还存在诸多需要进一步完善地方,后来应继续努力学习有关知识。
展开阅读全文