数据库实用技术(基于Oracle)第10章课件

PPT
  • 阅读 101 次
  • 下载 0 次
  • 页数 69 页
  • 大小 670.500 KB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
数据库实用技术(基于Oracle)第10章课件
可在后台配置第一页与第二页中间广告代码
数据库实用技术(基于Oracle)第10章课件
可在后台配置第二页与第三页中间广告代码
数据库实用技术(基于Oracle)第10章课件
可在后台配置第三页与第四页中间广告代码
数据库实用技术(基于Oracle)第10章课件
数据库实用技术(基于Oracle)第10章课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 69
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】数据库实用技术(基于Oracle)第10章课件.ppt,共(69)页,670.500 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92456.html

以下为本文档部分文字说明:

1数据库原理与应用第10章Oracle综合实例2学习目标●掌握数据库设计的基本步骤和方法。●掌握利用Java和PowerBuilder连接Oracle数据库的方法。310.1系统功能分析10.2系统

数据库设计10.3连接Oracle数据库10.4小结第10章Oracle综合实例410.1系统功能分析本章以进销存系统为例来介绍数据库设计的过程,系统功能分析是在汇总系统开发的总体任务的基础上完成。

本系统中的进销存管理系统需要完成商品管理、仓库管理、客户管理、供应商管理、库存管理、商品销售管理、商品供应管理等多个功能,满足企业高效率的需求,系统功能模块如图10-1所示。进销存系统商品管理模块客户管理

模块供应商管理模块仓库管理模块商品销售模块商品供应模块商品库存模块510.2系统数据库设计10.1系统功能分析10.3连接Oracle数据库10.4小结第10章Oracle综合实例610.2.1需求分析10.2

.2概念结构设计10.2.3逻辑结构设计10.2.4在Oracle中创建表10.2系统数据库设计10.2.5在Oracle中创建索引10.2.6在Oracle中创建视图10.2.7在Oracle中创建序列10.2

.9在Oracle中创建存储过程或存储函数10.2.8在Oracle中创建触发器710.2.1需求分析系统开发的目标是实现企业进销存管理的系统化、规划化和自动化,基本要求如下:(1)客户管理:对整个

销售过程进行管理,对销售对象进行统计。(2)供应商管理:对整个供应过程进行管理,对供应对象进行统计。(3)仓库管理:对仓库信息进行管理。(4)商品管理:对系统销售/供应过程中的商品进行管理。(5)进/退货管理:对整个供应过程中发生的进货/退货进行跟踪统计。(6)

售/退货管理:对整个销售过程中发生的进货/退货进行跟踪统计。(7)库存管理:对商品入/出仓库进行跟踪统计。810.2.1需求分析通过对企业进销存管理的内容和数据流程分析,系统的数据结构如表10-1所示。数据结构名含义组成客户信息(Custome

r)对销售客户进行记录、统计客户编码、客户名称、地址、电话、邮编供应商信息(Supplier)对供应商进行记录、统计供应商编码、供应商名称、地址、电话、邮编、联系人仓库信息(StoreHouse)对仓库进行记录、统计仓库编码、

地址、电话、成立时间商品信息(ProductClass)对商品进行记录、统计商品编号、商品名称、单价、规格910.2.1需求分析系统的数据项如表10-2~10-5所示。数据项名含义类型长度约束Supplier_ID供应商编号INT惟一标识Supplier_Name供应商名称VARCHA

R2250非空Address地址VARCHAR2250非空Phone电话VARCHAR225PostalCode邮编VARCHAR210ConstactPerson联系人VARCHAR2201010.2.1需求分析数据项名

含义类型长度约束Customer_ID客户编号INT惟一标识Customer_Name客户名称VARCHAR2250非空Address地址VARCHAR2250非空Phone电话VARCHAR225PostalC

ode邮编VARCHAR2101110.2.1需求分析数据项名含义类型长度约束StoreHouse_ID仓库编号INT惟一标识Address地址VARCHAR2250非空Phone电话VARCHAR225CreateDate成立时间DATE1210.2.1需求分析数据项名含义类型长度小

数位约束ProductClass_ID商品编号INT惟一标识ProductClass_Name商品名称VARCHAR230非空ProductSpec_ID商品规格VARCHAR230非空Price单价NUMBER52非空1310.2.1需求分析在实际应用中,系统中存在着各种联系:(

1)一个仓库可以存储多种商品,一种商品只能存储在一个仓库,而且商品入库或出库时记录是入库还是出库,还记录时间、数量、经手人;(2)一个供应商可以供应多种商品,一种商品可以由多个供应商供应,而且供应商供应商品时

记录是进货还是退货,还记录时间、变化数量、金额、经手人;(3)一个客户可以购买多种商品,一种商品可以由多个客户购买,而且客户购买或退商品时记录是卖货还是退货,还记录时间、变化数量、金额、经手人。因此,仓库与商品之间是一对多的联系,客户与商品之间是多对多的联系,供应商与商品之间是多

对多的联系。由于在一个商品同一天可能多次存入同一仓库,因此增加入/出库编号以标识每一次库存操作;同理,由于一个客户同一天可能购买多次同一商品,因此增加售/退编号以标识每一次销售操作;一个供应商同一天可能多次供应同一商品,因此增加进/退编号以标识每一次供应操作。1410.2.2概念结构设计10.2

.1需求分析10.2.3逻辑结构设计10.2.4在Oracle中创建表10.2系统数据库设计10.2.5在Oracle中创建索引10.2.6在Oracle中创建视图10.2.7在Oracle中创建序列10.2.9在Oracle中创建存储过程或存储函数10.2.8在Oracl

e中创建触发器1510.2.2概念结构设计根据需求分析,进销存管理系统的E-R图如图10-2所示。1610.2.3逻辑结构设计10.2.2概念结构设计10.2.1需求分析10.2.4在Oracle中创建表10.2系

统数据库设计10.2.5在Oracle中创建索引10.2.6在Oracle中创建视图10.2.7在Oracle中创建序列10.2.9在Oracle中创建存储过程或存储函数10.2.8在Oracle中创建触发器1710.2.3逻辑结构设计根据概念模型向逻辑模

型转换原则,进销存管理系统的逻辑结构为:(1)一个实体转换成一个关系,所以应有:供应商表(供应商编号、供应商名称、地址、电话、邮编、联系人)。客户表(客户编号、客户名称、地址、电话、邮编)。仓库表(仓库编号、地址、电话、成立时间)。商品表(商品编号、商品名称、单价、规格)。(2)一对

多的联系,可以将一方的主键传到多方,成为多方的非主属性,还可以形成新的关系,双方的主键和联系本身的属性作为新关系的属性。1810.2.3逻辑结构设计由于仓库与商品之间是一对多的联系,而且联系本身有属性,所以可以形成新关系:商品库存表(商品编号、仓库

编号、入/出编号、入/出标志、时间、数量、经手人)由于在同一商品同一天可能多次存入同一仓库,因此商品编号、仓库编号和时间三者联合也很难惟一标识一次出入库行为,因此将入/出库编号作为商品库存表的主键,修改后的商品库存表为:商品库存表(商品编号、仓

库编号、入/出编号、入/出标志、时间、数量、经手人)(3)多对多的联系形成一个新的关系,多方的主键和联系本身的属性作为新关系的属性,多方的主键联合作主键。由于商品和供应商、客户与商品之间是多对多的联系,所以形成新的关系:商品销售表(商品编号、客

户编号、售/退编号、售/退标志、时间、变化数量、金额、经手人)1910.2.3逻辑结构设计商品供应表(商品编号、供应商编号、进/退编号、进/退标志、时间、变化数量、金额、经手人)由于同一客户同一天可能购买多次同一商品

,因此商品编号、客户编号和时间三者联合也很难惟一标识一次销售行为,而售/退编号是不可以重复的有规律的编号,因此将售/退编号作为商品销售表的主键,修改后的商品销售表为:商品销售表(商品编号、客户编号、售/退编号、售/退标志、时间、变化数量、金额、经手人)由于同一供

应商同一天可能多次供应同一商品,因此商品编号、供应商编号和时间三者联合也很难惟一标识一次供应行为,而进/退编号是不可以重复的有规律的编号,因此将进/退编号作为商品供应表的主键,修改后的商品供应表为:商品供应表(商品编号、供应商编号、进/退编号、进/退标志、时间、变化数量、金额、经手人)

2010.2.4在Oracle中创建表10.2.2概念结构设计10.2.3逻辑结构设计10.2.1需求分析10.2系统数据库设计10.2.5在Oracle中创建索引10.2.6在Oracle中创建视图10.2.7在Oracle中创建序列10.2.9在Oracle中创建

存储过程或存储函数10.2.8在Oracle中创建触发器2110.2.4在Oracle数据库中创建表CREATETABLESupplier(Supplier_IDINTPRIMARYKEY,Supplier_NameVARCHAR2(250)NOTNULL,

AddressVARCHAR2(250)NOTNULL,PhoneVARCHAR2(25),PostalCodeVARCHAR2(10),ConstactPersonVARCHAR2(20));2210.2

.4在Oracle数据库中创建表CREATETABLECustomer(Customer_IDINTPRIMARYKEY,Customer_NameVARCHAR2(250)NOTNULL,AddressVARCHAR2

(250)NOTNULL,PhoneVARCHAR2(25),PostalCodeVARCHAR2(10));2310.2.4在Oracle数据库中创建表CREATETABLEStoreHouse(StoreHouse_IDINTPRIMARYKEY,AddressVAR

CHAR2(250)NOTNULL,PhoneVARCHAR2(25),CreateDateDATE);2410.2.4在Oracle数据库中创建表CREATETABLEProductClass(ProductClass_IDINTPRIMARYKEY,Pro

ductClass_NameVARCHAR2(30)NOTNULL,ProductSpec_IDVARCHAR2(30)NOTNULL,PriceNUMBER(5,2)NOTNULL);2510.2.4在Oracle数据库中创建表CREAT

ETABLEP_C(ProductClass_IDINTREFERENCESProductClass(ProductClass_ID),Customer_IDINTREFERENCESCustomer(Customer_ID),PC_IDIN

TPRIMARYKEY,PC_markINT,PC_timeDATE,PC_amountNUMBER(6,2),PC_sumNUMBER(10,2),PC_workerCHAR(10));2610.2.4在Oracle数据库中创建表为了实时统计每种商品销售情况,增加商品销售统计表。

CREATETABLEC_ALL/*商品销售统计表*/(ProductClass_IDINTREFERENCESProductClass(ProductClass_ID),CA_amountNUMBER(6,2),CA_sumNUMBER(10,2),PRIMARYKEY(Pro

ductClass_ID));2710.2.4在Oracle数据库中创建表CREATETABLEP_S(ProductClass_IDINTREFERENCESProductClass(ProductClass_ID),Supplier_IDINTREFERENCESSuppli

er(Supplier_ID),PS_IDINTPRIMARYKEY,PS_markINT,PS_timeDATE,PS_amountNUMBER(6,2),PS_sumNUMBER(10,2),PC_workerCHAR(10

));2810.2.4在Oracle数据库中创建表为了实时统计每种商品供应情况,增加商品供应统计表。CREATETABLES_ALL/*商品供应统计表*/(ProductClass_IDINTREFERENCESProductC

lass(ProductClass_ID),Supplier_IDINTREFERENCESSupplier(Supplier_ID),SA_amountNUMBER(6,2),SA_sumNUMBER(10,2),PRIMARYKEY(Supplier_ID));2910.2.4在

Oracle数据库中创建表CREATETABLEP_H(ProductClass_IDINTREFERENCESProductClass(ProductClass_ID),StoreHouse_IDINTREF

ERENCESStoreHouse(StoreHouse_ID),PH_IDINTPRIMARYKEY,PH_markINT,PH_timeDATE,PH_amountNUMBER(6,2),PC_workerCHAR(10));3010.2.4在Oracle数据

库中创建表为了实时统计每种商品库存情况,增加商品库存统计表。CREATETABLEH_ALL/*商品库存统计表*/(ProductClass_IDINTREFERENCESProductClass(Prod

uctClass_ID),StoreHouse_IDINTREFERENCESStoreHouse(StoreHouse_ID),HA_amountNUMBER(6,2),PRIMARYKEY(StoreHouse_ID));为了系统功能更加完善,可以增加其他统计表等,请读者自

行分析。3110.2.5在Oracle中创建索引10.2.2概念结构设计10.2.3逻辑结构设计10.2.4在Oracle中创建表10.2系统数据库设计10.2.1需求分析10.2.6在Oracle中创建视图10

.2.7在Oracle中创建序列10.2.9在Oracle中创建存储过程或存储函数10.2.8在Oracle中创建触发器3210.2.5在Oracle数据库中创建索引在进销存系统中经常需要查询数据,

因此可以根据查询要求在表中创建索引。例如,在商品名称上创建索引。CREATEINDEXp_name_indexONProductCLass(ProductClass_name);为了系统功能更加完善,可以增加其他索引,请读者自行分析。3310.2.6在Oracle中创建视

图10.2.2概念结构设计10.2.3逻辑结构设计10.2.4在Oracle中创建表10.2系统数据库设计10.2.5在Oracle中创建索引10.2.1需求分析10.2.7在Oracle中创建序列10.2.9在Oracle中创建存储过程或存储函数10.2.8在Ora

cle中创建触发器3410.2.6在Oracle数据库中创建视图为了提高系统的隐蔽性和查询方便可以创建一些视图。CREATEVIEWP_S_VIEW/*商品供应视图*/ASSELECTSupplier..Supplier_ID,Supplier

_Name,ProductClass.ProductClass_ID,ProductClass_NameFROMSupplier,ProductClass,P_SWHEREProductClass.ProductClass_ID=P_

S.ProductClass_IDANDSupplier.Supplier_ID=P_S.Supplier_IDWITHREADONLY;为了系统功能更加完善,可以增加其他视图,请读者自行分析。3510

.2.7在Oracle中创建序列10.2.2概念结构设计10.2.3逻辑结构设计10.2.4在Oracle中创建表10.2系统数据库设计10.2.5在Oracle中创建索引10.2.6在Oracle中创建视图1

0.2.1需求分析10.2.9在Oracle中创建存储过程或存储函数10.2.8在Oracle中创建触发器3610.2.7在Oracle数据库中创建序列在进销存系统中商品销售过程中售/退编号是不可以重复的有规律的编号,且作为主

键,其值可以用序列来填充。CREATESEQUENCEP_C_SQEINCREMENTBY1STARTWITH1MAXVALUE100000MINVALUE1CYCLECACHE20ORDER;同理,在商品供应过程中进/退编号是不可以重复的有规律的编号,且作为主键,其值也可以用序列来

填充。为了系统功能更加完善,可以增加其他序列,请读者自行分析。3710.2.8在Oracle中创建触发器10.2.2概念结构设计10.2.3逻辑结构设计10.2.4在Oracle中创建表10.2系统数据库设计10.2.5在Oracle中创建索引10.

2.6在Oracle中创建视图10.2.7在Oracle中创建序列10.2.9在Oracle中创建存储过程或存储函数10.2.1需求分析3810.2.8在Oracle数据库中创建触发器在进销存系统中有时某种商品的库存量太少会影响销售活动,所

以当某商品的库存量太少时系统应自动告警,这时需要用到触发器。CREATETRIGGERP_H_TRIGGER/******为商品库存统计表创建缺货触发器,数量小于1000时触发********/AFTERDELETEORUPDATEONH_ALLFOREACHROWWHEN

(HA_amount<1000)BEGINDBMS_OUTPUT.PUT_LINE('编号为:'||:NEW.ProductClass_ID||'的商品在'||:NEW.StoreHouse_ID||'号仓库库存总量小于1000'

);END;为了系统功能更加完善,可以增加其他触发器,请读者自行分析。3910.2.9在Oracle中创建存储过程或存储函数10.2.2概念结构设计10.2.3逻辑结构设计10.2.4在Oracle中创建表10.2系统数据库设计10.2.5在Oracle中创

建索引10.2.6在Oracle中创建视图10.2.7在Oracle中创建序列10.2.1需求分析10.2.8在Oracle中创建触发器4010.2.9在Oracle数据库中创建存储过程或函数在进销存系统中有时需要统计某供

应商供应的商品名称列表,这时可以使用存储过程。CREATEPROCEDUREP_S_PRO(s1Supplier.Supplier_ID%TYPE)ASp1ProductClass.Produc

tClass_ID%TYPE;p2ProductClass.ProductClass_Name%TYPE;Cursorc1ISSELECTProductClass_IDFROMP_SWHERESupplier_ID=s1;BEGINOPENc1;LOOPFETCH

c1intop1;EXITWHENc1%NOTFOUND;4110.2.9在Oracle数据库中创建存储过程或函数SELECTProductClass_Nameintop2FROMProductClassWHEREProductClass_ID=p1;DBMS_OUTPUT.P

UT_LINE(p2);ENDLOOP;CLOSEc1;END;为了系统功能更加完善,可以增加其他存储过程或函数,请读者自行分析。4210.3连接Oracle数据库10.2系统数据库设计10.1系统功能分析10.4小结第10章Oracle综合实例431

0.3.1利用Java连接Oracle10.3连接Oracle数据库10.3.2利用PowerbBilder连接Oracle4410.3.1Java连接OracleJava利用JDBC(JavaDatabaseConnectivity,J

ava数据库连接)连接Oracle数据库。假设使用Oracle安装过程中创建的Oracle数据库“DBSEPI”。JDBC是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一的访问接口。JDBC由一组用Java语言编写的类与接口组成,

通过调用这些类和接口所提供的方法,用户能够以一致的方式连接多种不同的数据库系统(如Access、Server2000、Oracle、Sybase等),进而使用标准的SQL语言来存取数据库中的数据,而不必再为每一种数据库系统编写不同的Java程序代主键

。JDBC提供的主要功能如下:(1)同一个数据库建立连接;(2)向数据库发送SQL语句;(3)处理数据库返回的结果。451.设置数据源打开操作系统的控制面板,双击“数据源(ODBC)”图标,选择“用户DSN”选项卡,如图10-3所示,画面中显示了已有的数据源名称。461.设置数据源

单击“添加”按钮,出现建立新数据来源对话框,如图10-4所示。471.设置数据源选中“OracleinOraHome92”作为新数据源的驱动程序,单击“完成”按钮,出现OracleODBC驱动器配置窗口,如图10-5所示。48

1.设置数据源在“DataSourceName”编辑框输入数据源的名称,假设为“dbspei”,在“TNSServerName”编辑框输入Oracle数据库的名称,假设使用Oracle安装过程中创建

的数据库“dbsepi”,在“User”编辑框输入用户名“usepi”,单击“TestConnection”按钮,出现OracleODBC驱动连接窗口,如图10-6所示。491.设置数据源在“ServerName”编辑框显示数据库的名称“dbspei”,在“UseName”编

辑框显示用户名“usepi”,在“Password”编辑框输入密码“usepi”,单击“OK”按钮,如果配置正确,则出现连接成功窗口,如图10-7所示。502.建立JDBC-ODBC桥接器在和某一特定数据

库建立连接之前,必须首先加载一种可用的JDBC驱动程序。这需要使用java.sql包中的下列方法来加载JDBC驱动程序,一般的使用格式如下:Class.forName("DriverName");“DriverName”是要加载的JDBC驱动

程序名称。驱动程序名称根据数据库厂商提供的JDBC驱动程序的种类来确定。由于本例采用的是Oracle数据库,所以加载Oracle数据库驱动程序的方法为:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");513.连接数据库创建和指定数据库的连

接需要使用DriverManager类的getConnection()方法,其一般的使用格式如下:Connectionconn=DriverManager.getConnection(URL,user,password);该方法返回的是一个Connection对象。这里的UR

L是一个字符串,代表了将要连接的数据源,即具体的数据库位置。不同的JDBC驱动程序其URL是不同的。本例为:Connectionconn=DriverManager.getConnection("jdbc:odbc:d

bsepi","usepi","usepi");524.向数据库发送SQL语句在与某个特定数据库建立连接之后,这个连接会话就可以用于发送SQL语句。在发送SQL语句之前,必须创建一个Statement类的对象,该对

象负责将SQL语句发送给数据库。如果SQL语句运行后产生结果集,Statement对象会将结果集返回给一个ResultSet对象。例如:创建Statement对象是使用Connection接口的createStatement()方法来实现的:Statementsmt=conn

.createStatement();Statement对象创建好之后,就可以使用该对象的executeQuery()方法来执行数据库查询语句,executeQuery()方法返回一个ResultSet类的对象,它包含

了SQL查询语句执行的结果。例如:ResultSetrs=smt.executeQuery("SELECT*FROMstudent");535.处理查询结果一个ResultSet对象包含了执行某个SQL语句后满足条件的所有的行,它还提供了对这些行的

访问,用户可以通过一组get方法来访问当前行的不同列。通常结果集的形式是一张带有表头和相应数值的表,例如:while(rs.next()){out.print(""+rs.getString(1));out.print(""+rs.getString(2));out.print("

"+rs.getString(3)+"<br>");546.关闭创建的各个对象一个Statement对象在同一时间只能打开一个结果集,所以如果在同一个Statement对象中运行下一条SQL语句时,第一条SQL语句生成的ResultSet对象就被自动关闭了。当然也可以通过调用ResultS

et接口的close()方法来手工关闭。关闭Statement对象和Connection对象可以分别使用各自的close()方法,例如:rs.close();stmt.close();conn.close();5510.3.2利用PowerbBilder连接Oracle10.3连接Or

acle数据库10.3.1利用Java连接Oracle5610.3.2PowerBuilder连接OraclePowerBuilder连接Oracle数据库有两种方法,一是使用专用接口,二是使用通用接口。假设使用Oracle安装过程中创建的Oracle数据库“DBSEPI

”。1.通过专用接口连接数据库PowerBuilder的专用接口都是为网络上的大型数据库提供的,如Sybase、Oracle、Informix、SQLServer等。因此,首先要调通网络,其次安装

数据库和专用接口软件,接下来配置数据库的描述文件(Profile)。通过专用接口连接数据库需要首先创建数据库描述文件,然后利用数据库描述文件即可连接数据库了。Oracle数据库是大型分布式数据库,在PowerBuilder中通过专用接

口“O90Oracle9.0.1”连接Oracle9数据库。连接步骤共分为创建数据库描述文件、连接数据库两步。5710.3.2PowerBuilder连接Oracle(1)创建数据库描述文件首先进入数据库描述文件配置窗口,如图10-8所示。5810.3.2PowerBui

lder连接Oracle在数据库描述文件窗口中选中“O90Oracle9.0.1”,单击鼠标右键,在快捷菜单中选中“NewProfile”,出现数据库描述文件配置窗口,选中“Connection”选项卡,如图10-9所示。5910.3.2PowerBuilder

连接Oracle在“ProfileName”编辑框输入用户命名的数据库描述文件名,假设为“dbsepi”,在“Server”编辑框输入数据库名,假设使用Oracle安装过程中创建的数据库“dbsepi”,在“LoginID”编辑框输入用户名“u

sepi”,在“Password”编辑框输入该用户的密码“usepi”,在“Connectas”下拉列表中选择该用户的级别“SYSDBA”,其他选项不做修改,单击“OK”按钮即可保存此数据库描述文件,同时此数据库描述文件“dbsepi”出现在数据库画板对象窗口中“O90Oracle9.0.1”

的级联列表中,如图10-10所示。6010.3.2PowerBuilder连接Oracle(2)连接数据库在数据库画板中通过不同的数据库描述文件连接不同的数据库。选中要连接的数据库描述文件“dbsepi”,单击数据库画笔图标或单击鼠

标右键,在快捷菜单中选中“Connect”即可连接指定的数据库了。连接成功后,数据库描述文件“dbsepi”就显示在“O90Oracle9.0.1”级联列表中。612.通过ODBC通用接口连接数据库PowerBuilder通过ODBC通用接口可以连接各种数据库,如Access

、Foxpro、Excel、Oracle、Syabse等。在PowerBuilder中通过通用接口ODBC连接Oracle数据库的步骤共分为配置ODBC数据源、创建数据库描述文件、连接数据库三步。622.通过ODB

C通用接口连接数据库(1)配置ODBC数据源在数据库画板对象窗口中依次单击“ODBODBC”→“Utilities”左边的“+”号,使之展开,如图10-11所示。632.通过ODBC通用接口连接数据库选中“ODBCAdministrator”,双击鼠标左键,再参照图10-

3、10-4、10-5、10-6、10-7完成ODBC数据源的配置。(2)创建数据库描述文件在图10-11所示的数据库画板对象窗口中选中“ODBODBC”,单击鼠标右键,在快捷菜单中选中“NewProfile”,出现数

据库描述文件配置窗口,选中“Connection”选项卡,如图10-12所示。642.通过ODBC通用接口连接数据库在“ProfileName”编辑框输入数据库描述文件名“pb_oracle”,从“DataSource”下拉

列表中选择ODBC数据源“dbsepi”,在“UserID”编辑框输入用户名“usepi”,在“Password”编辑框输入该用户的密码“usepi”,单击“OK”按钮即可完成数据库描述文件的建立。数据库描述文件创建成功后,该描述文件即出现在数据库画板对象

窗口中“ODBODBC”的级联列表中。(3)连接数据库在数据库画板对象窗口中,选中要连接的数据库描述文件“pb_oracle”,单击数据库画笔图标或单击鼠标右键,在快捷菜单中选中“Connect”即可连接指

定的数据库。653.编写应用对象Open事件脚本在PowerBuilder的应用对象的OPEN事件中编写如下脚本:SQLCA.DBMS="ODBC"SQLCA.AutoCommit=FalseS

QLCA.DBPARM="CONNECTSTRING='DSN=pb_oracle;UID=usepi;PWD=usepi'"//此处连接的数据源为“pb_oracle”connect;ifSQLCA.SQLCODE=-1thenmessagebox('提示信息','数据库连接失

败!')elsemessagebox('提示信息','数据库连接成功!')endif664.向数据库发送SQL语句PowerBuilder一般通过数据窗口对象与数据库连接,显示数据查询、更新的结果,数据窗口对象是一可视化编辑数据的窗口,所以应先创建一数据窗口对象

(例如dw_1),利用dw_1.settransobject(SQLCA)语句连接数据库,利用dw_1.retrieve()来获取数据库中的数据,利用dw_1.insertrow()插入一行数据,在dw_1中可以向空行中添加或修改原有数据,利用dw_1.update()和COMMIT命令保存

数据,利用dw_1.deleterow()删除一行数据。675.断开数据库,释放资源在PowerBuilder的应用对象的CLOSE事件中编写如下脚本:disconnect;//断开与数据库的连接关于具体

编程已不属于本教材的内容,请读者查阅其他相关参考资料。6810.4小结10.2系统数据库设计10.3连接Oracle数据库10.1系统功能分析第10章Oracle综合实例6910.4小结(1)数据库设计包含需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与

维护六步,其中前三步是数据库设计成功与否的关键。(2)数据库设计过程中需求分析形成应用系统的数据字典,包含数据结构、数据项、处理要求等;概念结构设计形成应用系统的全局E-R图;逻辑结构设计形成由E-R图根据转换规则形成的数据库的模式;在实际应用设计过程中经

常需要根据实际情况为应用系统添加视图、序列、存储过程、存储函数或触发器等数据库对象,以使数据库设计更加完善。(3)利用Java和PowerBuilder连接Oracle数据库的方法。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?