0


学生信息管理系统(数据库)

一 . 学生信息管理系统资源

下载链接​​​​​​学生信息管理.accdb-Access文档类资源-CSDN下载

二.数据库设计

2.1ER图设计

2.2从ER图到关系模式

ER图中存在三个实体:学生、课程、成绩;两个关系:选修和所属。学生与课程n:m联系。课程与学生成绩1:m联系。“选修”和“所属”不单独建立实体集。把“学生”中的学号和“课程”中的课程号设为主键,其他的属性设为外键。学生与成绩可通过课程建立联系。

2.3关系模式的数据字典

学生表

数据项名

类型

长度

精度

取值范围

默认值

是否允许为空

K****EY

id

char

255

NULL

NO

PRI

name

char

25

NULL

YES

gender

char

25

NULL

YES

class

char

25

NULL

YES

address

char

25

NULL

YES

age

char

25

NULL

YES

Phone number

char

25

NULL

YES

password

char

20

NULL

YES

成绩表

数据项名

类型

长度

精度

取值范围

默认值

是否允许为空

K****EY

student_id

char

255

NULL

NO

PRI

class_id

char

255

NULL

NO

PRI

score

char

25

NULL

YES

课程表

数据项名

类型

长度

精度

取值范围

默认值

是否允许为空

K****EY

id

char

255

NULL

NO

PRI

name

char

255

NULL

YES

point

char

25

NULL

YES

2.4****系统开发工具简介

开发工具:access

2.5****数据库与表的建立

学生表:student的创建

sql = """CREATE TABLE IF NOT EXISTS student(

id char(255) NOT NULL,

name char(25) default NULL,

gender char(5) default NULL,

class char (25) default NULL,

address char(25) default NULL,

age char(25) default NULL,

phone number char(25) default NULL,

password char(20) default NULL,

PRIMARY KEY (id)

) ENGINE = InnoDB

DEFAULT CHARSET = utf8

"""

cursor.execute(sql)

Field

Type

Null

Key

Default

id

Char(255)

NO

PRI

NULL

name

Char(25)

YES

NULL

gender

Char(25)

YES

NULL

class

Char(25)

YES

NULL

address

Char(25)

YES

NULL

age

Char(25)

YES

NULL

Phone number

Char(25)

YES

NULL

password

Char(20)

YES

NULL

课程表的创建:****class

sql = """CREATE TABLE IF NOT EXISTS class(

id char(255) NOT NULL,

name char(255) default NULL,

point char(25) default NULL,

PRIMARY KEY (id)

) ENGINE = InnoDB

DEFAULT CHARSET = utf8

"""

cursor.execute(sql)

Field

Type

Null

Key

Default

id

Char(255)

NO

PRI

NULL

name

Char(255)

YES

NULL

point

Char(25)

YES

NULL

成绩表的创建:s****core

sql = """CREATE TABLE IF NOT EXISTS score(

stu_id char(255) NOT NULL,

class_id char(255) NOT NULL,

score char(25) default NULL,

PRIMARY KEY (class_id,student_id)

) ENGINE = InnoDB

DEFAULT CHARSET = utf8

"""

cursor.execute(sql)

Field

Type

Null

Key

Default

student_id

Char(255)

NO

PRI

NULL

class_id

Chat(255)

NO

PRI

NULL

score

Char(25)

YES

NULL

管理员表的创建:admin_k

sql = """CREATE TABLE IF NOT EXISTS admin_login_k(

admin_id char(50) NOT NULL,

admin_pass char(50) default NULL,

PRIMARY KEY (admin_id)

) ENGINE = InnoDB

DEFAULT CHARSET = utf8

"""

cursor.execute(sql)

Field

Type

Null

Key

Default

admin_id

Char(50)

NO

NULL

admin_pass

Char(50)

YES

NULL

2.6用户管理权限的实现

2.6.1 登陆界面

页面主要有Visual Basic代码编写,主界面设计关键代码:

Option Compare Database
Private gl As Boolean

Private Sub Option4_Click()
If Me.Option4.Value = -1 Then
   Me.Option8.Value = 0
   gl = True
End If
End Sub

Private Sub Option8_Click()
If Me.Option8.Value = -1 Then
   Me.Option4.Value = 0
   gl = False
End If
End Sub

Private Sub 登录_Click()

If IsNull(Me.Option4.Value) And IsNull(Me.Option8.Value) Then MsgBox "请选择角色后再登录", vbExclamation, vbOKOnly: Exit Sub

If IsNull(UserName) Then

  MsgBox "用户名不能为空,请重新选择!", vbExclamation + vbOKOnly, "提醒您!" '弹出框

  Me.UserName.SetFocus

  Exit Sub

Else

If IsNull(Password) Then

  MsgBox "注意,您忘了输入密码!", vbExclamation + vbOKOnly, "提醒您!" '弹出框

  Me.Password.SetFocus

  Exit Sub

End If

If gl Then

 If DLookup("管理员密码", "管理员", "管理员名称='" & UserName & "'") = [Password] Then

    '验证账号密码

    Me.Visible = False

    Me.Password = Null

    MsgBox "登录成功!", vbExclamation, "提醒您"

StrName = Me.UserName

Else

    MsgBox "您输入的密码有误,请重新输入,注意大小写!", vbExclamation + vbOKOnly, "提醒您!"

    Exit Sub

  End If

'管理员登录

DoCmd.OpenForm ("管理员系统") '登陆成功,打开管理员系统界面

Else

'普通用户登录

If DLookup("密码", "学生", "学号='" & UserName & "'") = [Password] Then

'验证账号密码

Me.Visible = False

Me.Password = Null

MsgBox "登录成功!", vbExclamation, "提醒您" '登陆成功

StrName = Me.UserName

Else

MsgBox "您输入的密码有误,请重新输入,注意大小写!", vbExclamation + vbOKOnly, "提醒您!"

Exit Sub

End If

DoCmd.OpenForm ("学生系统")

End If

'弹出框

Me.Password = Null

Me.Password.SetFocus

End If

End Sub

2.6.2学生系统

Option Compare Database

Private Sub Command1_Click()

On Error GoTo Err_Command1_Click

 Dim stDocName As String

 Dim stLinkCriteria As String

 stDocName = "学生信息查询"

 DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command1_Click:

 Exit Sub

Err_Command1_Click:

 MsgBox Err.Description

 Resume Exit_Command1_Click

End Sub

Private Sub Command2_Click()

On Error GoTo Err_Command1_Click

 Dim stDocName As String

 Dim stLinkCriteria As String

 stDocName = "课程查询"

 DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command1_Click:

 Exit Sub

Err_Command1_Click:

 MsgBox Err.Description

 Resume Exit_Command1_Click

End Sub

Private Sub Command3_Click()

On Error GoTo Err_Command1_Click

 Dim stDocName As String

 Dim stLinkCriteria As String

 stDocName = "成绩查询"

 DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command1_Click:

 Exit Sub

Err_Command1_Click:

 MsgBox Err.Description

 Resume Exit_Command1_Click

End Sub

2.6.3管理员系统

Option Compare Database

Private Sub Command1_Click()

On Error GoTo Err_Command1_Click

 Dim stDocName As String

 Dim stLinkCriteria As String

 stDocName = "学生信息管理"

 DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command1_Click:

 Exit Sub

Err_Command1_Click:

 MsgBox Err.Description

 Resume Exit_Command1_Click

End Sub

Private Sub Command2_Click()

On Error GoTo Err_Command1_Click

 Dim stDocName As String

 Dim stLinkCriteria As String

 stDocName = "成绩管理"

 DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command1_Click:

 Exit Sub

Err_Command1_Click:

 MsgBox Err.Description

 Resume Exit_Command1_Click

End Sub

Private Sub Command3_Click()

On Error GoTo Err_Command1_Click

 Dim stDocName As String

 Dim stLinkCriteria As String

 stDocName = "登录"

 DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command1_Click:

 Exit Sub

Err_Command1_Click:

 MsgBox Err.Description

 Resume Exit_Command1_Click

End Sub

Private Sub Command4_Click()

On Error GoTo Err_Command1_Click

 Dim stDocName As String

 Dim stLinkCriteria As String

 stDocName = "采购员信息管理"

 DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command1_Click:

 Exit Sub

Err_Command1_Click:

 MsgBox Err.Description

 Resume Exit_Command1_Click

End Sub

2.7删除记录

通过宏命令的叠加设计:

2.8修改记录

宏命令:

2.9增加记录

宏命令:

2.10信息查询

宏命令:

三、总结(经验与不足)

数据库管理系统实现的功能

基本上用所学知识实现了大数据的增删改查,数据比较完整,极易查询,界面清晰,较为简单,操作也相对方便,用户友好度较高界面简洁明了,总体上来说完成度较高,具备了学生信息管理系统的基本功能。

数据库存在的问题

距离真正投入使用还是存在着较大差距

管理员的管理流程和系统过于简单,容易误改学生信息

学生之间也可以互相查看对方信息,私密性较差

标签: 数据库 database sql

本文转载自: https://blog.csdn.net/weixin_51501344/article/details/122351897
版权归原作者 PP很皮 所有, 如有侵权,请联系我们删除。

“学生信息管理系统(数据库)”的评论:

还没有评论