MicrosoftSQLSERVER学生信息管理系统数据库设计示例docWord格式.docx
- 文档编号:21726033
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:94
- 大小:333.43KB
MicrosoftSQLSERVER学生信息管理系统数据库设计示例docWord格式.docx
《MicrosoftSQLSERVER学生信息管理系统数据库设计示例docWord格式.docx》由会员分享,可在线阅读,更多相关《MicrosoftSQLSERVER学生信息管理系统数据库设计示例docWord格式.docx(94页珍藏版)》请在冰豆网上搜索。
修改班级。
修改、更新、删除已经入库的班级内容(需要管理员权限)。
3.
成绩管理功能
添加成绩。
主要内容为考试编号、班号、学号、姓名、课程及分数(需要管理员权限)。
修改成绩。
修改、更新、删除已经入库成绩单(需要管理员权限)。
查询成绩。
按条件进行成绩查询。
4.
课程管理功能
课程设置。
为每个年级进行课程安排。
(需要管理员权限)。
添加课程。
录入课程名称、课程编号、课程类型等信息。
修改课程。
修改、更新、删除已经入库的课程信息。
三、1、数据库概念结构设计
根据以上分析规划出的实体有:
用户信息实体(user_info)、学生学籍信息实体(student_Info)、成绩信息实体(result_Info)、班级课程实体(gradecourse_Info)、课程实体(course_Info)及班级实体(class_Info)。
用户实体E-R图
学生学籍信息实体E-R图
成绩信息实体E-R图
班级课程实体E-R图
课程实体E-R图
班级实体E-R图
2、数据库逻辑结构设计
(1)用户表user_Info
列名
数据类型
可否为空
说明
user_ID
char
NOTNULL
用户名
user_PWD
NULL
用户密码
user_Des
用户类型
(2)学生学籍表student_Info
student_ID
int
主键
student_Name
学生名称
student_Sex
性别
born_Date
datetime
出生日期
class_NO
班级号
tele_Number
联系电话
ru_Date
入校日期
address
varchar
联系地址
comment
学生备注
(3)成绩表(result_Info)
exam_No
考试编号
学号
学生姓名
class_No
班号
course_Name
课程名
result
float
分数
(4)班级课程表(gradecourse_Info)
grade
年级
(5)课程表(course_Info)
course_No
课程号
course_Type
课程类型
course_Des
课程描述
(6)班级表(class_Info)
director
班主任
classroom_No
教室
四、数据库结构的实现
经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。
现在就可以在SQLServer2000数据库系统中实现该逻辑结构。
这是利用SQLServer2000数据库系统中的SQL查询分析器实现的。
下面给出创建这些表格的SQL语句。
1、创建用户表
CREATETABLE[dbo].[user_Info](
[user_ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[user_PWD][char](10)COLLATEChinese_PRC_CI_ASNULL,
[user_Des][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
2、创建学生信息表
CREATETABLE[dbo].[student_Info](
[student_ID][int]NOTNULL,
[student_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,
[student_Sex][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[born_Date][datetime]NULL,
[class_NO][int]NULL,
[tele_Number][char](10)COLLATEChinese_PRC_CI_ASNULL,
[ru_Date][datetime]NULL,
[address][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
[comment][varchar](200)COLLATEChinese_PRC_CI_ASNULL
3、创建成绩表
CREATETABLE[dbo].[result_Info](
[exam_No][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[class_No][int]NULL,
[course_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,
[result][float]NULL
4、创建年级课程表
CREATETABLE[dbo].[gradecourse_Info](
[grade][char](10)COLLATEChinese_PRC_CI_ASNULL,
[course_Name][char](10)COLLATEChinese_PRC_CI_ASNULL
5、创建课程表
CREATETABLE[dbo].[course_Info](
[course_No][int]NOTNULL,
[course_Type][char](10)COLLATEChinese_PRC_CI_ASNULL,
[course_Des][char](50)COLLATEChinese_PRC_CI_ASNULL
6、创建班级表
CREATETABLE[dbo].[class_Info](
[class_No][int]NOTNULL,
[director][char](10)COLLATEChinese_PRC_CI_ASNULL,
[classroom_No][char](10)COLLATEChinese_PRC_CI_ASNULL
五、学生信息管理系统主窗体的创建
上面的SQL语句在SQLServer2000中查询分析器的执行,将自动产生需要的所有表格。
有关数据库结构的所有后台工作已经完成。
现在将通过航空公司管理信息系统中各个功能模块的实现,讲解如何使用VisualBasic来编写数据库系统的客户端程序。
1、创建公用模块
在VisualBasic中可以用公用模块来存放整个工程项目公用的函数、过程和全局变量等。
这样可以极大地提高代码的效率。
在项目资源管理器中为项目添加一个Module,保存为Module1.bas。
下面就可以开始添加需要的代码了。
由于系统中各个功能模块都将频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种SQL语句。
添加函数ExecuteSQL,代码如下:
'
...............................
PublicDeclareFunctionShellExecuteLib"
shell32.dll"
Alias"
ShellExecuteA"
(ByValhWndAsLong,ByVallpOperationAsString,ByVallpFileAsString,ByVallpParametersAsString,ByVallpDirectoryAsString,ByValnShowCmdAsLong)AsLong
PublicDeclareFunctionGetWindowLongLib"
user32"
GetWindowLongA"
(ByValhWndAsLong,ByValnIndexAsLong)AsLong
PublicDeclareFunctionSetWindowLongLib"
SetWindowLongA"
(ByValhWndAsLong,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLong
PublicDeclareFunctionSetLayeredWindowAttributesLib"
(ByValhWndAsLong,ByValcrKeyAsLong,ByValbAlphaAsByte,ByValdwFlagsAsLong)AsLong
PublicfMainFormAsfrmMain
PublicUserNameAsString
PublicmnUserTypeAsBoolean'
判断用户类型
SubMain()
DimfLoginAsNewfrmLogin
fLogin.ShowvbModal
IfNotfLogin.OKThen
'
LoginFailedsoexitapp
End
EndIf
UnloadfLogin
SetfMainForm=NewfrmMain
fMainForm.Show
EndSub
PublicFunctionConnectString()_
AsString
returnsaDBConnectString
ConnectString="
Driver={SQLServer};
Server=ABS;
Database=student;
Uid=sa;
Pwd=abs;
"
ConnectString="
Provider=SQLOLEDB.1;
Password=abs;
PersistSecurityInfo=True;
UserID=sa;
InitialCatalog=student;
DataSource=ABS"
EndFunction
PublicFunctionExecuteSQL(ByValSQL_
AsString,MsgStringAsString)_
AsADODB.Recordset
executesSQLandreturnsRecordset
DimcnnAsADODB.Connection
DimrstAsADODB.Recordset
DimsTokens()AsString
OnErrorGoToExecuteSQL_Error
sTokens=Split(SQL)
Setcnn=NewADODB.Connection
cnn.OpenConnectString
IfInStr("
INSERT,DELETE,UPDATE"
_
UCase$(sTokens(0)))Then
cnn.ExecuteSQL
MsgString=sTokens(0)&
_
"
querysuccessful"
Else
Setrst=NewADODB.Recordset
rst.CursorLocation=adUseClient
rst.OpenTrim$(SQL),cnn,_
adOpenKeyset,_
adLockOptimistic
rst.MoveLast'
getRecordCount
SetExecuteSQL=rst
MsgString="
查询到"
&
rst.RecordCount&
条记录"
ExecuteSQL_Exit:
Setrst=Nothing
Setcnn=Nothing
ExitFunction
ExecuteSQL_Error:
查询错误:
Err.Description
ResumeExecuteSQL_Exit
PublicFunctionTesttxt(txtAsString)AsBoolean
IfTrim(txt)="
Then
Testtxt=False
Testtxt=True
2、创建主窗体
这个项目我们使用多文档界面,单击工具栏中的ADDMDIForm按钮,产生一个窗体frmmain.
代码如下:
PrivateSubis_usertype()
IfmnUserType=FalseThen
frmsjm.cmdaddsj.Enabled=False
frmsjm.cmdmodsj.Enabled=False
frmbjm.cmdaddbj.Enabled=False
frmbjm.cmdmodbj.Enabled=False
frmkcmod.cmdaddkc.Enabled=False
frmkcmod.cmdmodkc.Enabled=False
frmkcmod.cmdfindkc.Enabled=False
frmcjmod.cmdaddcj.Enabled=False
frmcjmod.cmdmodcj.Enabled=False
frmsys.cmdaddsys.Enabled=False
mnuadduser.Enabled=False
EndIf
PrivateSubbjIMG_Click()
frmsjm.Hide
frmkcmod.Hide
frmcjmod.Hide
frmbjm.Show
PrivateSubcjIMG_Click()
frmbjm.Hide
frmcjmod.Show
PrivateSubexitIMG_Click()
End
PrivateSubImgHelp_Click()
frmhelp.Show
PrivateSubkcIMG_Click()
frmkcmod.Show
PrivateSubMDIForm_Load()
Me.Caption="
学生信息管理系统,操作员["
UserName&
]"
Loadfrmbjm
Loadfrmkcmod
Loadfrmcjmod
Callis_usertype
PrivateSubMenuHelp_Click(IndexAsInteger)
PrivateSubmnuadduser_Click()
frmAdduser.Show
PrivateSubmnuExit_Click()
PrivateSubmnupsw_Click()
frmModifyuserinfo.Show
PrivateSubsysIMG_Click()
frmsys.Show
PrivateSubxjIMG_Click()
frmsjm.Show
3创建frmLogin窗体
OptionExplicit
PrivateDeclareFunctionGetUserNameLib"
advapi32.dll"
GetUserNameA"
(ByVallpbufferAsString,nSizeAsLong)AsLong
PrivateConstWS_EX_LAYERED=&
H80000
PrivateConstGWL_EXSTYLE=(-20)
PrivateConstLWA_ALPHA=&
H2
PrivateConstLWA_COLORKEY=&
H1
表示当前用户登录所选择的身份,即用户类型,0-表示教务管理人员;
1-表示学生
DimUserTypeAsInteger
PublicOKAsBoolean
记录确定次数
DimmiCountAsInteger
PrivateSubcmdCancel_Click()
OK=False
Me.Hide
PrivateSubcmdOK_Click()
DimtxtSQLAsString
DimmrcAsADODB.Recordset
DimMsgTextAsString
ToDo:
createtestforcorrectpassword
checkforcorrectpassword
UserName="
IfTrim(txtUserName.Text="
)Then
MsgBox"
没有这个用户,请重新输入用户名!
vbOKOnly+vbExclamation,"
警告"
txtUserName.SetFocus
txtSQL="
select*fromuser_Infowhereuser_ID='
txtUserName.Text&
Setmrc=ExecuteSQL(txtSQL,MsgText)
Ifmrc.EOF=TrueThen
没有这个用户,请重新输入用户名!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MicrosoftSQLSERVER 学生 信息管理 系统 数据库 设计 示例 doc