首页 > 数据库 > DB2 > 正文

研究生管理信息系统的开发流程

2024-09-06 23:58:10
字体:
来源:转载
供稿:网友


 
系统需求分析

    研究生个人信息管理
    导师信息管理
    专业信息管理

功能模块设计

    针对上述需求,设计的功能模块如图10.34所示。


数据表设计

    1.研究生信息数据表
    数据表名称:graduate_info。数据表结构如表10.4所示。

    2.专业信息数据表

    3.导师信息数据表


索引和视图设计

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

创建数据库用户

    (1)在如图10.35所示的创建用户的【一般信息】选项卡中进行如下设置。
    (2)切换到如图10.36所示的创建用户的【角色】选项卡。

    (3)成功创建上述用户的sql代码如下。
    ―――――――――――――――――――――――――――――――――――――
    create user "graduateuser" profile "default"
        identified by "12345678" default tablespace "users"
        temporary tablespace "temp"
        account unlock;
    grant unlimited tablespace to "graduateuser";
    grant "connect" to "graduateuser";
    grant "resource" to "graduateuser";
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:第10章/creategraduateuser.sql。
    (4)读者可以直接在【sqlplus worksheet】中执行creategraduateuser.sql文件创建用户。

创建数据表

    1.创建研究生信息表
    (1)在如图10.37所示的创建表的【一般信息】选项卡中进行如下操作。
    (2)切换到如图10.38所示的创建表的【约束条件】选项卡。

    (3)上述创建数据表graduateuser.graduate_info的sql代码如下。

    (3)上述创建数据表graduateuser.graduate_info的sql代码如下。
    (4)读者可以直接在【sqlplus worksheet】中执行createtablegraduateinfo.sql 文件创建数据表graduateuser.graduate_info。
    2.创建专业信息表
    (1)在如图10.39所示的创建表的【一般信息】选项卡中按照如图所示进行设置。
    (2)切换到如图10.40所示的创建表的【约束条件】选项卡。

    (3)上述创建数据表graduateuser.major_info的sql代码如下。

    【参见光盘文件】:第10章/createtablemajorinfo.sql。
    (4)读者可以直接在【sqlplus worksheet】中执行createtablemajorinfo.sql文件创建数据表graduateuser.major_info。
    3.创建导师信息表
    (1)在如图10.41所示的创建表的【一般信息】选项卡中按照如图所示进行设置。
    (2)切换到如图10.42所示的创建表的【约束条件】选项卡。

    (3)上述创建数据表graduateuser.director_info的sql代码如下。

    【参见光盘文件】:第10章/createtabledirectorinfo.sql。
    (4)读者可以直接在【sqlplus worksheet】中执行createtabledirectorinfo.sql 文件创建数据表graduateuserdirector_info。

创建索引

    1.为研究生信息表的name字段建立索引
    (1)在如图10.43所示的创建索引的【一般信息】选项卡中按照图示进行操作。
    (2)其他选项卡按照默认设置即可。

    (3)上述创建索引的sql代码如下。
    ―――――――――――――――――――――――――――――――――――――
    create index "graduateuser"."研究生姓名字段索引"
        on "graduateuser"."graduate_info"("name")
        tablespace "indx"
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:第10章/createindexgraduate.sql。
    (4)读者可以直接在【sqlplus worksheet】中执行createindexgraduate.sql 文件创建数据表graduateuser.graduate_info的索引“研究生姓名字段索引”。
    2.为导师信息表的name字段建立索引
    (1)在如图10.44所示的创建索引的【一般信息】选项卡中按照图示进行操作。
    (2)其他选项卡按照默认设置即可。
    (3)上述创建索引的sql代码如下。
    ―――――――――――――――――――――――――――――――――――――
    create index "graduateuser"."导师姓名字段索引"
       on "graduateuser"."director_info"("name")
       tablespace "indx"
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:第10章/createindexdirector.sql。
    (4)读者可以直接在【sqlplus worksheet】中执行createindexdirector.sql 文件创建数据表graduateuser.director_info的索引“导师姓名字段索引”。


创建视图

    1.为研究生信息表建立视图
    (1)在如图10.45所示的创建视图的【一般信息】选项卡中按照图示进行操作。

    (2)其他选项卡按照默认设置即可。
    (3)上述创建视图的sql代码如下。
    ―――――――――――――――――――――――――――――――――――――
    create or replace view "graduateuser"."view_graduate" as
        select *
        from graduateuser.graduate_info with read only
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:第10章/createviewgraduate.sql。
    (4)读者可以直接在【sqlplus worksheet】中执行createviewgraduate.sql文件创建数据表graduateuser.graduate_info的视图“view_graduate”。
    2.为专业信息表建立视图
    (1)在如图10.46所示的创建视图的【一般信息】选项卡中按照图示进行操作。

    (2)其他选项卡按照默认设置即可。
    (3)上述创建视图的sql代码如下。
    ―――――――――――――――――――――――――――――――――――――
    create or replace view "graduateuser"."view_major" as
        select *
        from graduateuser.major_info with read only
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:第10章/createviewmajor.sql。
    (4)读者可以直接在【sqlplus worksheet】中执行createviewmajor.sql文件创建数据表graduateuser.major_info的视图“view_major”。
    2.为导师信息表建立视图
    (1)在如图10.47所示的创建视图的【一般信息】选项卡中按照图示进行操作。
    (2)其他选项卡按照默认设置即可。
    (3)上述创建视图的sql代码如下。
    ―――――――――――――――――――――――――――――――――――――
    create or replace view "graduateuser"."view_director" as
       select *
       from graduateuser.director_info with read only
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:第10章/createviewdirector.sql。
    (4)读者可以直接在【sqlplus worksheet】中执行createviewdirector.sql 文件创建数据表graduateuser.director_info的视图“view_director”


vb工程总体框架

    开发完成的研究生管理信息系统的总体框架如表10.7所示。
    【参见光盘文件】:第10章/研究生管理信息系统.vbp。



系统是如何运行的

    (1)启动vb,打开配套光盘的工程文件。
    (2)如图10.48所示。

    (3)出现如图10.49所示的工程属性的【通用】选项卡。
    (4)打开模块module1,查看名为main的过程的代码如下。说明main过程将启动名为frmmain的主窗体。


    (5)编辑名为frmmain的主窗体,如图10.50所示。

    (6)出现如图10.51所示的【菜单编辑器】界面,可以查看主窗体的菜单设计。

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


    (7)为什么这些菜单可以调用这些子窗体或者执行退出主窗体的操作呢?在图10.50的主窗体中用鼠标双击,在出现的代码窗口中的主要代码如下。
    ―――――――――――――――――――――――――――――――――――――
    ‘选择菜单项directorinsertmenu后将显示子窗体forminsertdirector
    private sub directorinsertmenu_click()
       forminsertdirector.show
    end sub
    ‘选择菜单项directorselectmenu 后将显示子窗体formselectdirector
    private sub directorselectmenu_click()
      formselectdirector.show
    end sub
    ‘选择菜单项directorupdatemenu后将显示子窗体formupdatedirector
    private sub directorupdatemenu_click()
     formupdatedirector.show
    end sub
    ‘选择菜单项graduateinsertmenu后将显示子窗体forminsertgraduate
    private sub graduateinsertmenu_click()
     forminsertgraduate.show
    end sub
    ‘选择菜单项graduateselectmenu后将显示子窗体formselectgraduate
    private sub graduateselectmenu_click()
      formselectgraduate.show
    end sub
    ‘选择菜单项graduateupdatemenu后将显示子窗体formupdategraduate
    private sub graduateupdatemenu_click()
      formupdategraduate.show
    end sub
    ‘选择菜单项majorinsertmenu后将显示子窗体forminsertmajor
    private sub majorinsertmenu_click()
      forminsertmajor.show
    end sub
    ‘选择菜单项majorupdatemenu后将显示子窗体formupdatemajor
    private sub majorupdatemenu_click()
      formupdatemajor.show
    end sub
    ‘选择菜单项exitmenu后将显示退出主窗体
    private sub exitmenu_click()
      end
    end sub
    ―――――――――――――――――――――――――――――――――――――

模块的设计

    模块module1的其他主要代码如下。
    ―――――――――――――――――――――――――――――――――――――
    ‘定义了名为connectstring的无参数函数,连接数据库
    public function connectstring() as string
        connectstring = "dsn=graduatedb;uid=graduateuser;pwd=12345678"
    end function
    ‘定义了名为executesql的带参数函数,参数sql和msgstring都为字符串型。该函数用于执行sql语句。
    public function executesql(byval sql as string, msgstring as string) as adodb.recordset
       ‘conn为adodb的connection连接对象
       dim conn as adodb.connection
       ‘rest为adodb的记录集对象
       dim rest as adodb.recordset
       ‘若执行sql错误转向executesql_error标记处
       on error goto executesql_error
       set conn = new adodb.connection
       ‘连接数据库
       conn.open connectstring
       set rest = new adodb.recordset
       ‘执行sql字符串语句
       rest.open trim$(sql), conn, adopenkeyset, adlockoptimistic
       set executesql = rest
       msgstring = "查询到" & rest.recordcount & " 条记录"
       ‘执行sql完毕后关闭连接和记录集
       executesql_exit:
       set rest = nothing
       set conn = nothing
       exit function
       ‘执行sql错误时的处理方法
       executesql_error:
       msgstring = "查询错误: " & _
       err.description
       resume executesql_exit
       end function
       ‘定义了名为checktxt的带参数函数,参数txt为字符串型。该函数用于检测txt字符串是否有内容。
       public function checktxt(txt as string) as boolean
           if trim(txt) = "" then
               checktxt = false
           else
               checktxt = true
           end if
    end function
    ―――――――――――――――――――――――――――――――――――――

各子窗体的设计

    1.添加信息窗体的设计
    打开名为forminsertgraduate的子窗体,如图10.52所示。

    窗体的设计如表10.8所示。
表10.8 子窗体forminsertgraduate的设计



    窗体的程序代码分析如下。





    2.修改信息窗体的设计
    打开名为formupdategraduate的子窗体,如图10.53所示。

    窗体的设计如表10.10所示。


    窗体的程序代码分析如下。







    3查询信息窗体的设计
    打开名为formselectgraduate的子窗体,如图10.54所示。窗体的设计如表10.11所示。

    窗体的代码设计如下。





发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表