乐观 发表于 2015-1-16 22:21:48

MYSQL编程:研讨生办理信息体系的开辟流程

对于IT经理来说,令他们喜欢的MySQL的简单性还有另一方面。MySQL可以运行的更快速。某些人或许会说MySQL缺少了一些人们想要的功能。

体系需求剖析

研讨生团体信息办理
导师信息办理
专业信息办理

功效模块计划

针对上述需求,计划的功效模块如0.34所示。


数据表计划

1.研讨生信息数据表
数据表称号:graduate_info。数据表布局如表10.4所示。

2.专业信息数据表

3.导师信息数据表


索引和视图计划

1.研讨生信息数据表的索引和视图计划
2.专业信息表的索引和视图计划
3.导师信息数据表的索引和视图计划

创立数据库用户

(1)在如0.35所示的创立用户的【一样平常信息】选项卡中举行以下设置。
(2)切换到如0.36所示的创立用户的【脚色】选项卡。

(3)乐成创立上述用户的SQL代码以下。
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
CREATEUSER"GRADUATEUSER"PROFILE"DEFAULT"
IDENTIFIEDBY"12345678"DEFAULTTABLESPACE"USERS"
TEMPORARYTABLESPACE"TEMP"
ACCOUNTUNLOCK;
GRANTUNLIMITEDTABLESPACETO"GRADUATEUSER";
GRANT"CONNECT"TO"GRADUATEUSER";
GRANT"RESOURCE"TO"GRADUATEUSER";
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
【拜见光盘文件】:第10章creategraduateuser.sql。
(4)读者能够间接在【SQLPlusWorksheet】中实行creategraduateuser.sql文件创立用户。

创立数据表

1.创立研讨生信息表
(1)在如0.37所示的创立表的【一样平常信息】选项卡中举行以下操纵。
(2)切换到如0.38所示的创立表的【束缚前提】选项卡。

(3)上述创立数据表graduateuser.graduate_info的SQL代码以下。

(3)上述创立数据表graduateuser.graduate_info的SQL代码以下。
(4)读者能够间接在【SQLPlusWorksheet】中实行createtablegraduateinfo.sql文件创立数据表graduateuser.graduate_info。
2.创立专业信息表
(1)在如0.39所示的创立表的【一样平常信息】选项卡中依照如图所示举行设置。
(2)切换到如0.40所示的创立表的【束缚前提】选项卡。

(3)上述创立数据表graduateuser.major_info的SQL代码以下。

【拜见光盘文件】:第10章createtablemajorinfo.sql。
(4)读者能够间接在【SQLPlusWorksheet】中实行createtablemajorinfo.sql文件创立数据表graduateuser.major_info。
3.创立导师信息表
(1)在如0.41所示的创立表的【一样平常信息】选项卡中依照如图所示举行设置。
(2)切换到如0.42所示的创立表的【束缚前提】选项卡。

(3)上述创立数据表graduateuser.director_info的SQL代码以下。

【拜见光盘文件】:第10章createtabledirectorinfo.sql。
(4)读者能够间接在【SQLPlusWorksheet】中实行createtabledirectorinfo.sql文件创立数据表graduateuserdirector_info。

创立索引

1.为研讨生信息表的NAME字段创建索引
(1)在如0.43所示的创立索引的【一样平常信息】选项卡中依照图示举行操纵。
(2)其他选项卡依照默许设置便可。

(3)上述创立索引的SQL代码以下。
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
CREATEINDEX"GRADUATEUSER"."研讨生姓名字段索引"
ON"GRADUATEUSER"."GRADUATE_INFO"("NAME")
TABLESPACE"INDX"
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
【拜见光盘文件】:第10章createindexgraduate.sql。
(4)读者能够间接在【SQLPlusWorksheet】中实行createindexgraduate.sql文件创立数据表graduateuser.graduate_info的索引“研讨生姓名字段索引”。
2.为导师信息表的NAME字段创建索引
(1)在如0.44所示的创立索引的【一样平常信息】选项卡中依照图示举行操纵。
(2)其他选项卡依照默许设置便可。
(3)上述创立索引的SQL代码以下。
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
CREATEINDEX"GRADUATEUSER"."导师姓名字段索引"
ON"GRADUATEUSER"."DIRECTOR_INFO"("NAME")
TABLESPACE"INDX"
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
【拜见光盘文件】:第10章createindexdirector.sql。
(4)读者能够间接在【SQLPlusWorksheet】中实行createindexdirector.sql文件创立数据表graduateuser.director_info的索引“导师姓名字段索引”。


创立视图

1.为研讨生信息表创建视图
(1)在如0.45所示的创立视图的【一样平常信息】选项卡中依照图示举行操纵。

(2)其他选项卡依照默许设置便可。
(3)上述创立视图的SQL代码以下。
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
CREATEORREPLACEVIEW"GRADUATEUSER"."VIEW_GRADUATE"AS
select*
fromgraduateuser.graduate_infoWITHREADONLY
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
【拜见光盘文件】:第10章createviewgraduate.sql。
(4)读者能够间接在【SQLPlusWorksheet】中实行createviewgraduate.sql文件创立数据表graduateuser.graduate_info的视图“VIEW_GRADUATE”。
2.为专业信息表创建视图
(1)在如0.46所示的创立视图的【一样平常信息】选项卡中依照图示举行操纵。

(2)其他选项卡依照默许设置便可。
(3)上述创立视图的SQL代码以下。
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
CREATEORREPLACEVIEW"GRADUATEUSER"."VIEW_MAJOR"AS
select*
fromgraduateuser.major_infoWITHREADONLY
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
【拜见光盘文件】:第10章createviewmajor.sql。
(4)读者能够间接在【SQLPlusWorksheet】中实行createviewmajor.sql文件创立数据表graduateuser.major_info的视图“VIEW_MAJOR”。
2.为导师信息表创建视图
(1)在如0.47所示的创立视图的【一样平常信息】选项卡中依照图示举行操纵。
(2)其他选项卡依照默许设置便可。
(3)上述创立视图的SQL代码以下。
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
CREATEORREPLACEVIEW"GRADUATEUSER"."VIEW_DIRECTOR"AS
select*
fromgraduateuser.director_infoWITHREADONLY
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
【拜见光盘文件】:第10章createviewdirector.sql。
(4)读者能够间接在【SQLPlusWorksheet】中实行createviewdirector.sql文件创立数据表graduateuser.director_info的视图“VIEW_DIRECTOR”


VB工程整体框架

开辟完成的研讨生办理信息体系的整体框架如表10.7所示。
【拜见光盘文件】:第10章研讨生办理信息体系.vbp。



体系是怎样运转的

(1)启动VB,翻开配套光盘的工程文件。
(2)如0.48所示。

(3)呈现如0.49所示的工程属性的【通用】选项卡。
(4)翻开模块Module1,检察名为Main的历程的代码以下。申明Main历程将启动名为frmMain的主窗体。


(5)编纂名为frmMain的主窗体,如0.50所示。

(6)呈现如0.51所示的【菜单编纂器】界面,能够检察主窗体的菜单计划。

工程中计划的菜单如表10.8所示。


(7)为何这些菜单能够挪用这些子窗体大概实行加入主窗体的操纵呢?在0.50的主窗体顶用鼠标双击,在呈现的代码窗口中的次要代码以下。
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
‘选择菜单项DirectorInsertMenu后将显现子窗体FormInsertDirector
PrivateSubDirectorInsertMenu_Click()
FormInsertDirector.Show
EndSub
‘选择菜单项DirectorSelectMenu后将显现子窗体FormSelectDirector
PrivateSubDirectorSelectMenu_Click()
FormSelectDirector.Show
EndSub
‘选择菜单项DirectorUpdateMenu后将显现子窗体FormUpdateDirector
PrivateSubDirectorUpdateMenu_Click()
FormUpdateDirector.Show
EndSub
‘选择菜单项GraduateInsertMenu后将显现子窗体FormInsertGraduate
PrivateSubGraduateInsertMenu_Click()
FormInsertGraduate.Show
EndSub
‘选择菜单项GraduateSelectMenu后将显现子窗体FormSelectGraduate
PrivateSubGraduateSelectMenu_Click()
FormSelectGraduate.Show
EndSub
‘选择菜单项GraduateUpdateMenu后将显现子窗体FormUpdateGraduate
PrivateSubGraduateUpdateMenu_Click()
FormUpdateGraduate.Show
EndSub
‘选择菜单项MajorInsertMenu后将显现子窗体FormInsertMajor
PrivateSubMajorInsertMenu_Click()
FormInsertMajor.Show
EndSub
‘选择菜单项MajorUpdateMenu后将显现子窗体FormUpdateMajor
PrivateSubMajorUpdateMenu_Click()
FormUpdateMajor.Show
EndSub
‘选择菜单项ExitMenu后将显现加入主窗体
PrivateSubExitMenu_Click()
End
EndSub
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

模块的计划

模块Module1的其他次要代码以下。
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
‘界说了名为ConnectString的无参数函数,毗连数据库
PublicFunctionConnectString()AsString
ConnectString="DSN=graduateDB;UID=graduateuser;PWD=12345678"
EndFunction
‘界说了名为ExecuteSQL的带参数函数,参数SQL和MsgString都为字符串型。该函数用于实行SQL语句。
PublicFunctionExecuteSQL(ByValSQLAsString,MsgStringAsString)AsADODB.Recordset
‘conn为ADODB的connection毗连工具
DimconnAsADODB.Connection
‘rest为ADODB的纪录集工具
DimrestAsADODB.Recordset
‘若实行SQL毛病转向ExecuteSQL_Error标志处
OnErrorGoToExecuteSQL_Error
Setconn=NewADODB.Connection
‘毗连数据库
conn.OpenConnectString
Setrest=NewADODB.Recordset
‘实行SQL字符串语句
rest.OpenTrim$(SQL),conn,adOpenKeyset,adLockOptimistic
SetExecuteSQL=rest
MsgString="查询到"&rest.RecordCount&"笔记录"
‘实行SQL终了后封闭毗连和纪录集
ExecuteSQL_Exit:
Setrest=Nothing
Setconn=Nothing
ExitFunction
‘实行SQL毛病时的处置办法
ExecuteSQL_Error:
MsgString="查询毛病:"&_
Err.Description
ResumeExecuteSQL_Exit
EndFunction
‘界说了名为Checktxt的带参数函数,参数txt为字符串型。该函数用于检测txt字符串是不是有内容。
PublicFunctionChecktxt(txtAsString)AsBoolean
IfTrim(txt)=""Then
Checktxt=False
Else
Checktxt=True
EndIf
EndFunction
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

各子窗体的计划

1.增加信息窗体的计划
翻开名为FormInsertGraduate的子窗体,如0.52所示。

窗体的计划如表10.8所示。
表10.8子窗体FormInsertGraduate的计划



窗体的程序代码剖析以下。





2.修正信息窗体的计划
翻开名为FormUpdateGraduate的子窗体,如0.53所示。

窗体的计划如表10.10所示。


窗体的程序代码剖析以下。







3查询信息窗体的计划
翻开名为FormSelectGraduate的子窗体,如0.54所示。窗体的计划如表10.11所示。

窗体的代码计划以下。






RDBMS并非没有局限性。它们难以扩展,需要大量的资源来配置和维护,比如时间、硬件和人力。同样,它们往往遵循峰值性能模型,这就要求系统按照峰值容量来配置可用性,而不考虑典型的数据使用情况。

飘飘悠悠 发表于 2015-1-19 09:26:32

大家注意一点。如下面的例子:

莫相离 发表于 2015-1-27 18:50:27

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

山那边是海 发表于 2015-2-11 16:24:40

对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。

海妖 发表于 2015-3-2 15:55:17

比如日志传送、比如集群。。。

小妖女 发表于 2015-3-11 04:35:19

比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。

因胸联盟 发表于 2015-3-17 20:57:11

两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书

若相依 发表于 2015-3-25 02:34:56

发几份SQL课件,以飨阅者
页: [1]
查看完整版本: MYSQL编程:研讨生办理信息体系的开辟流程