数据库课程设计Word文档格式.docx
- 文档编号:17905102
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:22
- 大小:523.04KB
数据库课程设计Word文档格式.docx
《数据库课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
1).系统管理是管理员所做的工作,包括对用户管理(添加删除用户,修改密码),实现用户注销功能,数据库还原与备份,退出系统,修改密码.学生自己也可以修改密码。
2).基本信息设置模块主要是对学生信息,教师信息,课程信息的录入,添加和修改.同时也可以的学生信息,教师信息,课程信息进行查询.
3).选课管理包括学生选课和教师选课,主要实现学生选择自己想要的课程,教师选择自己要交的课程。
4).信息查询模块包括了多种查询方式:
我们设置了学生查询和教师查询。
学生查询可以查看到个人信息(可以修改一部分),课程信息,教师信息,同学信息。
教师查询可以查看个人信息,所教课程信息,所交学生信息。
2.2E-R图
图2.2.1教师信息表E-R图
图2.2.2学生信息表E-R图
图2.2.3课程表E-R图
图2.2.4用户表E-R图
图2.2.5教师选课表E-R图
图2.2.6学生选课表E-R图
m
nn
mn
图2.2.7学生、教师、课程表间联系E-R图
三、逻辑结构设计
3.1E-R图转换
教师信息表(教师号,姓名,性别,职称,电话,住址,备注)
学生信息表(学号,姓名,性别,生日,院系,年级,专业,电话,住址,备注)
课程信息表(课程号,课程名,学时,学分)
教师选课表(教师选课编号,课程号,教师号)
学生选课表(学生选课编号,学号,课程号,教师号)
用户表(用户名,密码,权限)
3.2逻辑结构设计
选课系统数据库中各个表格的逻辑结构设计结果如下:
字段名
类型
条件
说明
Sno
Char
Primarykey
学号
Sname
char
Notnull
姓名
Ssex
性别
Sbirth
datetime
出生日期
Scol
Varchar
院别
Sgra
年级
Sspe
专业
Stel
联系方式
Saddress
地址
Sother
text
备注
表3.2.1学生信息表(student)
Tno
教师编号
Tname
教师姓名
Tsex
Tpos
varchar
职位
Ttel
Taddress
Tother
表3.2.2教师信息表(teacher)
Cno
课程号
Cname
课程名
Ctime
Int
学时
Cpoint
int
学分
表3.2.3课程信息表(course)
TCno
教师选课编号
表3.2.4教师选课表(T-choose)
SCno
学生选课编号
学生学号
表3.2.5学生选课表(S_choose)
Uname
用户名
Upwd
密码
Urole
权限(1表示管理员,2表示教师,3表示学生,4表示操作员)
表3.2.6登录用户表(user_if)
四、实现
4.1表结构
图4.1.1user_if表结构图
图4.1.2course表结构图
图4.1.3s_choose表结构图
图4.1.4student表结构图
图4.1.5t_choose表结构图
图4.1.6teacher表结构图
4.2表实例
图4.2.1user_if表实例图
图4.2.2course表实例图
图4.2.3s_choose表实例图
图4.2.4student表实例图
图4.2.5t_choose表实例图
图4.2.6teacher表实例图
4.3表间关系图
图4.3.1表间关系图
五、功能模块实现
图5.1查询学生信息
PrivateSubSmartNetXpButton1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
DimMsgTextAsString
Dimdd(3)AsBoolean
DimmrcAsADODB.Recordset
DimrsAsBoolean
DimsMegAsString
rs=True
OnErrorResumeNext
txtSQL="
select*fromstudentwhere"
IfCheck1.ValueThen
IfTrim(Combo1.Text)="
"
Then
sMeg="
学号不能为空"
MsgBoxsMeg,vbOKOnly+vbExclamation,"
警告"
Combo1.SetFocus
ExitSub
Else
dd(0)=True
txtSQL=txtSQL&
"
Sno='
&
Trim(Combo1.Text)&
'
EndIf
IfCheck2.ValueThen
IfTrim(Combo2.Text)="
姓名不能为空"
Combo2.SetFocus
dd
(1)=True
Ifdd(0)Then
andSname='
Trim(Combo2.Text)&
Sname='
IfCheck3.ValueThen
IfTrim(Combo3.Text)="
学生所属年级"
Combo3.SetFocus
dd
(2)=True
Ifdd(0)Ordd
(1)Then
andSgra='
Trim(Combo3.Text)&
Sgra='
IfCheck4.ValueThen
IfTrim(Combo4.Text)="
请输入学生所属学院"
Combo4.SetFocus
dd(3)=True
Ifdd(0)Ordd
(1)Ordd
(2)Then
andScol='
Trim(Combo4.Text)&
Scol='
'
IfNot(dd(0)Ordd
(1)Ordd
(2)Ordd(3))Then
MsgBox"
请设置查询方式!
vbOKOnly+vbExclamation,"
Ifrs=TrueThen
orderbySno"
Setmrc=MyDB.ExecuteSQL(txtSQL,MsgText)
fmrc.RecordCount>
0ThenSmartNetXpButton4.Enabled=True
SmartNetXpButton4.Enabled=False
WithMSFlexGrid1
.Rows=2
.CellAlignment=4
.TextMatrix(1,1)="
学号"
.TextMatrix(1,2)="
姓名"
.TextMatrix(1,3)="
性别"
.TextMatrix(1,4)="
出生日期"
.TextMatrix(1,5)="
院别"
.TextMatrix(1,6)="
年级"
.TextMatrix(1,7)="
专业"
.TextMatrix(1,8)="
联系方式"
.TextMatrix(1,9)="
地址"
.TextMatrix(1,10)="
备注"
DoWhileNotmrc.EOF
.Rows=.Rows+1
.TextMatrix(.Rows-1,1)=mrc.Fields(0)
.TextMatrix(.Rows-1,2)=mrc.Fields
(1)
.TextMatrix(.Rows-1,3)=mrc.Fields
(2)
.TextMatrix(.Rows-1,4)=mrc.Fields(3)
.TextMatrix(.Rows-1,5)=mrc.Fields(4)
.TextMatrix(.Rows-1,6)=mrc.Fields(5)
.TextMatrix(.Rows-1,7)=mrc.Fields(6)
.TextMatrix(.Rows-1,8)=mrc.Fields(7)
.TextMatrix(.Rows-1,9)=mrc.Fields(8)
.TextMatrix(.Rows-1,10)=mrc.Fields(9)
mrc.MoveNext
Loop
EndWith
mrc.Close
EndSub
图5.2学生选课
PrivateSubxian_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
DimiAsInteger
DimkAsInteger
k=0
DimmrccAsADODB.Recordset
DimtxtstringAsString
Dima,m,nAsString
Dimj,p,qAsInteger
strsql="
selectcnofromcoursewherecname='
List1.Text&
Setrs=MyDB.ExecuteSQL(strsql,MsgText)
IfNotrs.EOFThen
a=rs.Fields(0)
rs.Close
selecttnofromteacherwheretname='
List2.Text&
m=rs.Fields(0)
txtstring="
select*fromS_choose"
Setmrcc=MyDB.ExecuteSQL(txtstring,MsgText)
Fori=0ToList3.ListCount-1
IfList3.List(i)=List1.TextThenk=1
Next
sqlstr="
select*fromS_choose,coursewhereS_choose.Cno=course.CnoandCname='
Trim(List1.Text)&
andSno='
Trim(user_name)&
Setrs=MyDB.ExecuteSQL(sqlstr,MsgText)
IfNotrs.EOFThenk=1
selectcount(cno)froms_choosewheresno='
user_name&
fNotrs.EOFThen
n=rs.Fields(0)
Ifk<
>
1Then
IfList1.ListIndex<
-1AndList2.ListIndex<
-1Then
Ifn<
3Then
mrcc.AddNew
mrcc.Fields
(1)=user_name
mrcc.Fields
(2)=a
mrcc.Fields(3)=m
mrcc.Update
贺喜你已经选了这门课程!
List3.AddItemList1.Text
List4.AddItemList2.Text
mrcc.Close
你已经超过3门课程,不能再选课"
vbInformation+vbOKOnly,"
提示'
IfList1.ListIndex=-1ThenMsgBox"
请选中课程"
提示"
IfList2.ListIndex=-1ThenMsgBox"
请选中教师"
你已经选了该课程,请重选!
EndIfEndSub
图5.3教师选课
DimsqlstringAsString
DimccnoAsString
Fori=0ToList2.ListCount-1
IfList2.List(i)=List1.TextThenk=1
sqlstring="
select*fromT_choose,coursewhereT_choose.Cno=course.CnoandCname='
andtno='
Setmrcc=MyDB.ExecuteSQL(sqlstring,MsgText)
IfNotmrcc.EOFThenk=1
selectCnofromcoursewhereCname='
IfNotmrcc.EOFThen
ccno=mrcc.Fields(0)
select*fromT_choose"
Setmrc=MyDB.ExecuteSQL(txtstring,MsgText)
mrc.AddNew
IfNotmrc.EOFThen
mrc.Fields
(1)=ccno
mrc.Fields
(2)=user_name
mrc.Update
选课成功"
祝贺"
List2.AddItemList1.Text
请选中你要教的课程"
六、小结
这次课程设计为期两周,虽然以前也做过课程设计,但我认为这次很特别。
通过这次的课程设计,我复习和巩固了VB知识,使自己的编程能力有了很大的提高,同时,也得到了同学们的帮助,在此感谢他们。
最后祝老师在新的一年里工作顺利,万事如意!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计