学生成绩查询系统报告Word格式.docx
《学生成绩查询系统报告Word格式.docx》由会员分享,可在线阅读,更多相关《学生成绩查询系统报告Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计学生成绩管理数据库,包括学生信息,学生成绩信息,课程信息三个关系,其关系模式中对每个实体定义的属性如下:
课程信息表:
(课程编号,课程名称,任课教师,学分)
其中,课程编号为主码
学生信息表:
(学号,姓名,性别,年龄,专业,年级)
其中,学号为主码
学生成绩信息表:
(学号,课程编号,课程名称,分数,修课类别)其中,学号、课程编号为主码
四、物理设计阶段
数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存储模式。
数据库物理设计内容包括记录存储结构的设计,存储路径的设计。
五、功能模块设计
PrivateSubCommand1_Click()
Ifuser="
a"
Andpasswd="
Then
Form1.Show
Else
MsgBox("
用户名或密码错误,请重新输入"
)
EndIf
EndSub
PrivateSubCommand2_Click()
End
PrivateSubcmdreturn_Click()
UnloadMe
PrivateSubdtgCond_Click()
Withdtgcond
.Columns(0).Caption="
学号"
.Columns
(1).Caption="
姓名"
.Columns
(2).Caption="
性别"
.Columns(3).Caption="
系别"
.Columns(4).Caption="
年级"
.Columns(5).Caption="
年龄"
.Columns(0).Width=1000
.Columns
(1).Width=2000
.Columns
(2).Width=800
.Columns(3).Width=800
.Columns(4).Width=800
.Columns(5).Width=800
EndWith
PrivateSubForm_Load()
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="
select*from学生信息wheresno='
"
&
Form2.Text1.Text&
"
'
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Key
CaseIs="
查询"
Form2.Show
添加"
Form3.Text1.Text="
Form3.Text2.Text="
Form3.Text3.Text="
Form3.Text4.Text="
Form3.Text5.Text="
Form3.Text6.Text="
Form3.Command1.Visible=True
Form3.Command2.Visible=True
Form3.Show
修改"
Form3.Command6.Visible=True
删除"
Form3.Command3.Visible=True
Form3.Command1.Visible=False
Form3.Command6.Visible=False
EndSelect
Form6.Show
Form4.Show
PrivateSubCommand3_Click()
Form5.Show
PrivateSubCommand4_Click()
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("
sno"
)=Trim(Text1.Text)
sname"
)=Trim(Text2.Text)
ssex"
)=Trim(Text3.Text)
class"
)=Trim(Text5.Text)
sage"
)=Trim(Text6.Text)
professional"
)=Trim(Text4.Text)
使"
和"
按钮为不可用状态
Command1.Enabled=False
Command3.Enabled=False
更改"
取消"
按钮为可用状态
Command2.Enabled=True
Command4.Enabled=True
Adodc1.Refresh
DimresAsInteger
res=MsgBox("
确实要删除此行记录吗?
vbExclamation+vbYesNo+vbDefaultButton2)
Ifres=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOF=TrueThen
Adodc1.Recordset.MoveLast
EndIf
使更新生效
Adodc1.Recordset.Update
Command1.Enabled=True
Command3.Enabled=True
Command4.Enabled=False
Adodc1.Recordset.CancelUpdate
PrivateSubCommand5_Click()
PrivateSubCommand6_Click()
Command6.Enabled=False
PrivateSubAdodc1_WillMove(ByValadReasonAsADODB.EventReasonEnum,adStatusAsADODB.EventStatusEnum,ByValpRecordsetAsADODB.Recordset)
PrivateSubinitgrid()
WithdtgCond
课程编号"
课程名称"
分数"
选课类别"
DimstrsnoAsString
DimstrselectAsString
strsno=Trim(Form2.Text1.Text)
strselect="
select学生信息.sno,cno,cname,grade,xklbfrom学生信息join学生成绩信息"
on学生信息.sno=学生成绩信息.snowhere"
学生成绩信息.sno='
strsno&
AdodcGrid.CommandType=adCmdText
AdodcGrid.RecordSource=strselect
AdodcGrid.Refresh
SetdtgCond.DataSource=AdodcGrid
Callinitgrid
授课教师"
学分"
select学生成绩信息.cno,学生成绩信息.cname,teacher,ccreditfrom学生信息join学生成绩信息"
on学生信息.sno=学生成绩信息.snojoin课程信息on课程信息.cno=学生成绩信息.cnowhere"
select学生信息.sno,学生信息.sname,ssex,professional,class,sagefrom学生信息join学生成绩信息"
学生信息.sno='
Setdtgcond.DataSource=AdodcGrid