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

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

      系统需求分析     研究生个人信息管理     导师信息管理     专业信息管理 功能模块设计     针对上述需求,设计的功能模块如图10.34所示。 数据表设计     1.研究生信息数据表     数据表名称:graduate_info。数据表结构如表10.4所示。     2.专业信息数据表     3.导师信息数据表 索引和视图设计     1.研究生信息数据表的索引和视图设计     2.专业信息表的索引和视图设计     3.导师信息数据表的索引和视图设计 创建数据库用户     (1)在如图10.35所示的创建用户的【一般信息】选项卡中进行如下设置。     (2)切换到如图10.36所示的创建用户的【角色】选项卡。     (3)成功创建上述用户的SQL代码如下。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     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";     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     【参见光盘文件】:第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代码如下。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     CREATE INDEX "GRADUATEUSER"."研究生姓名字段索引"         ON "GRADUATEUSER"."GRADUATE_INFO"("NAME")         TABLESPACE "INDX"     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     【参见光盘文件】:第10章/createindexgraduate.sql。     (4)读者可以直接在【SQLPlus Worksheet】中执行createindexgraduate.sql 文件创建数据表graduateuser.graduate_info的索引“研究生姓名字段索引”。     2.为导师信息表的NAME字段建立索引     (1)在如图10.44所示的创建索引的【一般信息】选项卡中按照图示进行操作。     (2)其他选项卡按照默认设置即可。     (3)上述创建索引的SQL代码如下。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     CREATE INDEX "GRADUATEUSER"."导师姓名字段索引"        ON "GRADUATEUSER"."DIRECTOR_INFO"("NAME")        TABLESPACE "INDX"     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     【参见光盘文件】:第10章/createindexdirector.sql。     (4)读者可以直接在【SQLPlus Worksheet】中执行createindexdirector.sql 文件创建数据表graduateuser.director_info的索引“导师姓名字段索引”。 创建视图     1.为研究生信息表建立视图     (1)在如图10.45所示的创建视图的【一般信息】选项卡中按照图示进行操作。     (2)其他选项卡按照默认设置即可。     (3)上述创建视图的SQL代码如下。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     CREATE OR REPLACE VIEW "GRADUATEUSER"."VIEW_GRADUATE" AS         select *         from graduateuser.graduate_info WITH READ ONLY     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     【参见光盘文件】:第10章/createviewgraduate.sql。     (4)读者可以直接在【SQLPlus Worksheet】中执行createviewgraduate.sql文件创建数据表graduateuser.graduate_info的视图“VIEW_GRADUATE”。     2.为专业信息表建立视图     (1)在如图10.46所示的创建视图的【一般信息】选项卡中按照图示进行操作。     (2)其他选项卡按照默认设置即可。     (3)上述创建视图的SQL代码如下。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     CREATE OR REPLACE VIEW "GRADUATEUSER"."VIEW_MAJOR" AS         select *         from graduateuser.major_info WITH READ ONLY     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     【参见光盘文件】:第10章/createviewmajor.sql。     (4)读者可以直接在【SQLPlus Worksheet】中执行createviewmajor.sql文件创建数据表graduateuser.major_info的视图“VIEW_MAJOR”。     2.为导师信息表建立视图     (1)在如图10.47所示的创建视图的【一般信息】选项卡中按照图示进行操作。     (2)其他选项卡按照默认设置即可。     (3)上述创建视图的SQL代码如下。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     CREATE OR REPLACE VIEW "GRADUATEUSER"."VIEW_DIRECTOR" AS        select *        from graduateuser.director_info WITH READ ONLY     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     【参见光盘文件】:第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的主窗体中用鼠标双击,在出现的代码窗口中的主要代码如下。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     ‘选择菜单项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     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 模块的设计     模块Module1的其他主要代码如下。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     ‘定义了名为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     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 各子窗体的设计     1.添加信息窗体的设计     打开名为FormInsertGraduate的子窗体,如图10.52所示。     窗体的设计如表10.8所示。 表10.8 子窗体FormInsertGraduate的设计     窗体的程序代码分析如下。     2.修改信息窗体的设计     打开名为FormUpdateGraduate的子窗体,如图10.53所示。     窗体的设计如表10.10所示。     窗体的程序代码分析如下。     3查询信息窗体的设计     打开名为FormSelectGraduate的子窗体,如图10.54所示。窗体的设计如表10.11所示。     窗体的代码设计如下。

  • 网络关系型数据库的代表Oracle 9i_oracle

    网络关系型数据库的代表Oracle 9i_oracle

    1.3.1 Oracle 9i数据库     1. 企业版(Enterprise Edition)     2. 标准版(Standard Edition)     3. 个人版(Personal Edition) 1.3.2 Oracle 9i应用服务器     Oracle 9i应用服务器有两种版本。     1. 企业版(Enterprise Edition)     企业版主要用于构建互联网应用,面向企业级应用。     2. 标准版(Standard Edition)     标准版用于建立面向部门级的Web应用。 1.3.3 Oracle 9i开发工具套件     Oracle 9i开发工具套件是一整套的Oracle 9i应用程序开发工具。

  • PL/SQL序列_oracle

    PL/SQL序列_oracle

          序列是Oracle 9i提供的用于按照设定的规则自动产生数据的方案对象。在某些数据表的结构中,有些字段需要这种特性。比如,对于某个学生数据表的学号关键字段,用户可以希望在录入数据时,能够自动在上一个记录的学号字段上自动加1等。由于Oracle 9i提供的16种基本数据类型并没有这样的功能,可以通过序列方案对象来实现。 序列的创建     下面介绍在【企业管理器】中如何创建序列。     (1)在【企倒芾砥鳌恐醒≡瘛myoracle.mynet】/【方案】/【序列】选项,单击鼠标右键,在出现的快捷菜单里选择【创建】选项,如图9.48所示。     (2)出现如图9.49所示的创建序列的【一般信息】选项卡。     在【名称】文本框里输入待定义的序列的名称“TEMPSEQUENCE”。     在【方案】下拉列表框里选择序列所属的用户名“SCOTT”。     序列【类型】参数有两个选项。若选择【升序】单选钮,则表示将创建从初始值向最大值递增的序列,这是创建序列时的默认设置;若选择【降序】单选钮,则表示将创建从初始值向最小值递减的序列。     对【值】可以进行设置的参数如下。     在【最小值】文本框里设置序列允许的最小值。创建序列时该字段最初为空。如果单击【创建】按钮时该字段为空,则对升序序列使用默认值 1,而对降序序列使用默认值 -1026。     在【最大值】文本框里设置序列允许的最大值。创建序列时该字段最初为空。如果单击【创建】按钮后该字段为空,则将对升序序列使用默认值 1027,而对降序序列使用默认值-1。     在【时间间隔】文本框里设置递增序列递增的间隔数值(升序序列)或递减序列递减的间隔数值(降序序列)。创建序列时该字段最初为空,如果单击【创建】按钮后该字段为空,将使用默认值1,该字段只能为正整数。     在【初始值】文本框里设置序列的起始值。如果单击【创建】按钮后该字段为空,对升序序列将使用该序列默认的最小值,对降序序列将使用该序列默认的最大值。     对【选项】可以设置的参数如下。     若选择【循环值】复选框,则表示指定在达到序列最小值或最大值之后,序列应继续生成值。对升序序列来说,在达到最大值后将生成最小值。对降序序列来说,在达到最小值后将生成最大值。如果未选择该复选框,序列将在达到最小值或最大值后停止生成任何值。默认情况下是未选择状态。     若选择【排序值】复选框,则指定序列号要按请求次序生成,默认情况下是未选择状态。     在【高速缓存】中设置由数据库预分配并存储的值的数目参数。若选择【默认值】单选钮,则表示将设置默认值为 20,默认情况下选择此选项;若选择【无高速缓存】单选钮,则表示指定不预分配序列值;若选择【大小】单选钮,则表示在文本框里输入可接受的值,最小值为2,对循环序列来说,该值必须小于循环中值的个数。如果序列能够生成的值数的上限小于高速缓存大小,则高速缓存大小将自动改换为该上限数。     完成设置后单击按钮。     (3)成功创建序列后,出现如图9.50所示界面。单击“确定”按钮。     (3)读者也可以在【SQLPlus Worksheet】中执行下列SQL程序创建序列。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     CREATE SEQUENCE "SCOTT"."TEMPSEQUENCE"         INCREMENT BY 1 START WITH 1         MAXVALUE 1.0E28 MINVALUE 1         NOCYCLE CACHE 20 NOORDER     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     【配套程序位置】:第9章/ createsequence.sql。 序列的使用     下面介绍在向数据表中插入数据时如何使用序列。     (1)首先为实例建立一个数据表“SCOTT.SEQUENCE_TABLE”,为简化起见,该数据表仅包含一个类型为“NUMBER”的数据列“NO”。     在如图9.51所示的创建表的【一般信息】选项卡中进行如下设置。     在【名称】文本框中输入“SEQUENCE_TABLE”。     在【方案】下拉列表框中选择“SCOTT”。     在【表空间】下拉列表框中选择“USERS”。     在【名称】单元格中输入“NO”,在【数据类型】下拉列表框单元格中选择“NUMBER”。     完成设置后单击按钮。     (2)读者也可以在【SQLPlus Worksheet】中执行下列SQL代码创建数据表“SCOTT.SEQUENCE_TABLE”。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     CREATE TABLE "SCOTT"."SEQUENCE_TABLE" ("NO" NUMBER(10) NOT NULL)         TABLESPACE "USERS"     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     【配套程序位置】:第9章/ createsequencetable.sql。     (3)在插入新的记录时,使用刚创建的“TEMPSEQUENCE”序列来自动产生“NO”数据列的值。在【SQLPlus Worksheet】里执行下面的SQL代码,执行的结果如图9.52所示。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     INSERT INTO SCOTT.SEQUENCE_TABLE(NO)     VALUES(SCOTT.TEMPSEQUENCE.NEXTVAL);     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     【配套程序位置】:第9章/ insertsequencetable.sql。     “SCOTT.TEMPSEQUENCE.NEXTVAL”表分配下一个惟一的、可用的序列号。     执行“SCOTT.TEMPSEQUENCE.NEXTVAL”后,可以使用“SCOTT.TEMPSEQUENCE. CURRVAL”来标识上一个已经存储的序列值。     (4)在【SQLPlus Worksheet】中可以执行查询数据表“SCOTT.SEQUENCE_TABLE”数据的语句。执行结果如图9.53所示,表明序列“SCOTT.SEQUENCE”产生的值已经成功录入数据表中。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     select * from scott.sequence_table;     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     【配套程序位置】:第9章/ selectsequencetable.sql。 序列的删除     下面介绍在【企业管理器】中如何删除序列。     (1)在创建好的序列“SEQUENCE1”上用单击鼠标右键,在出现的快捷菜单里选择【移去】选项,如图9.54所示。     (2)出现如图9.55所示的【删除序列确认】界面,单击按钮。

  • Oracle 9i服服务器的启动_oracle

    Oracle 9i服服务器的启动_oracle

    3.6.2 正常启动     (1)如图3.40所示。     (2)出现如图3.41所示的【启动选项】界面。单击“确定”按钮。     (3)服务器启动完毕,出现如图3.42所示的界面。     (4)正常启动例程后,例程状态绿灯亮,表明数据库已经正常打开可以进行连接访问,如图3.43所示。 3.6.3 不装载启动     (1)如图3.44所示为【启动选项】界面。单击"确定"按钮。     (2)出现如图3.45所示界面,单击"关闭"按钮。     (3)如图3.46所示。 (3)如图3.46所示。     (1)如图3.47所示为【启动选项】界面。     (2)出现如图3.48所示界面。     (3)例程状态黄灯亮,【启动】单选钮被选中,如图3.49所示。 3.6.5 强制启动     (1)以“SYSDBA”身份登录【SQL Plus】。     (2)在【SQL Plus】中执行“startup force;”语句,出现如图3.50所示界面,说明例程已经被启动,数据库被装载和打开。 3.6.6 限制启动     (1)如图3.51所示为【启动选项】界面。     (2)出现如图3.42所示界面。 3.6.7 只读启动     (1)如图3.52所示为【启动选项】界面。     (2)出现如图3.42所示界面。

更多...

加载中...