各数据库综合应用.docx
《各数据库综合应用.docx》由会员分享,可在线阅读,更多相关《各数据库综合应用.docx(58页珍藏版)》请在冰豆网上搜索。
各数据库综合应用
各数据库综合应用
1概述
本文档讲述常用五类数据库的创建与配置,以及用户的创建使用。
并针对各类数据库的共同知识点进行了讲解。
2数据库配置
前提条件:
完成数据库(目前支持五种:
Oracle企业版数据库9.2、IBMDB2通用数据库v8.1.6、MicrosoftSQLServer2000、MySQL4和Sybase12.5)的安装
然后按对应的数据库类型执行下列步骤。
2.1Oracle
2.1.1创建表空间
从开始程序菜单运行Oracle管理工具EnterpriseManagerConsole,登录EnterpriseManagerConsole,选中指定数据库“存储”“表空间”,然后点击右键,选择“创建”。
将弹出“创建表空间”窗口
在“一般信息”页中,“名称”栏输入要创建的表空间名字,比如CADATA,“数据文件”的“文件名”输入cadata01.dbf(也可接受其根据名称自动生成的),“文件目录”可按默认或按需输入已存在的另外目录,大小可设为200MB。
双击文件名将弹出“创建数据文件”窗口,选中“存储”页面,勾上“数据文件已满后自动扩展(AUTOEXTEND)”,在“增量”栏输入100MB。
点击确定退出创建数据文件窗口,再点击创建以创建此表空间,完成此步骤。
或可从命令行操作。
运行sqlplus以system用户登录目标数据库,再执行类似下列SQL语句来创建此表空间(按具体环境修改下列语句中的路径,如果有必要也还可修改其它参数):
CREATETABLESPACECADATA
LOGGING
DATAFILE'D:
\ORACLE\ORADATA\CA\cadata01.dbf'SIZE200M
AUTOEXTEND
ONNEXT100MMAXSIZEUNLIMITEDEXTENTMANAGEMENTLOCAL
SEGMENTSPACEMANAGEMENTAUTO;
2.1.2创建用户
在Oracle管理工具EnterpriseManagerConsole中选中目标数据库“安全性”“用户”,然后点击右键,选择“创建”。
将弹出“创建用户”窗口。
在“一般信息”页,“名称”栏中输入要创建的用户名,比如CA,在“输入口令”栏和“确认口令”栏输入相同字符串用于新建用户的口令。
在表空间的“默认值”栏中选择前面创建的CADATA。
在“角色”页,从“可用”中选中“DBA”加入到“已授予”栏。
点击创建,完成此步骤。
或者可从命令行方式操作。
运行sqlplus以system用户登录目标数据库,再执行类似下列SQL语句来创建此用户并授权:
CREATEUSERcaIDENTIFIEDBYcaDEFAULTTABLESPACECADATADEFAULTTEMPORARYTABLESPACETEMP;;
GRANTCONNECT,RESOURCETOca;
此用户ca将用于创建IDA应用相关的表、索引等对象。
此用户名和口令将存放到配置文件中,以便下一步的初始化IDA应用系统。
2.1.3其它表空间设置(可选)
登录Oracle管理工具EnterpriseManagerConsole,选中指定数据库->“存储”“表空间”,右边将列出全部表空间,双击“名称”为SYSTEM的表空间,将弹出“编辑表空间”窗口,再双击“数据文件”的“文件名”,将弹出“编辑数据文件”窗口,选中“存储”页面,勾上“数据文件已满后自动扩展(AUTOEXTEND)”,在“增量”栏输入10MB。
如果已勾上“数据文件已满后自动扩展(AUTOEXTEND)”,则可不用修改。
同样按此方法对“类型”为“UNDO”和“TEMPORARY”的表空间设置“数据文件已满后自动扩展”。
2.2DB2
2.2.1创建数据库
从开始程序菜单运行IBMDB2->一般管理工具->控制中心。
选中“控制中心”->“所有已编目的系统”->本机名->“实例”->“DB2”->“数据库”,点击右键,选择“创建”->“使用向导创建数据库”,将转到创建数据库向导中。
在第一步,“名称”页中,在数据库名中输入要创建的数据库名,比如CA。
点击下一步,接受默认选项,点击下一步,直到6.区域,选择代码集UTF-8。
最后在“总结”页面点击“完成”。
在完成后选择不运行顾问向导。
2.2.2创建缓冲池
选中“控制中心”->“所有已编目的系统”->本机名->“实例”->“DB2”->“数据库”->CA->“缓冲池”,点击右键,点击“创建”,将弹出“创建缓冲池”窗口。
在“缓冲池名”栏输入要创建的缓冲池名字,比如CACACHE,“页大小”选择“16K”,“以16K页计的大小”输入4000。
2.2.3创建表空间
2.2.3.1常规表空间
选中“控制中心”->“所有已编目的系统”->本机名->“实例”->“DB2”->“数据库”->CA->“表空间”,点击右键,点击“创建”,将弹出“创建表空间”窗口。
在“名称”页的“表空间名”栏输入要创建的表空间名,比如CADATA。
在“类型”页选择“常规”。
在“缓冲池”页从“缓冲池”列表中选择CACACHE缓冲池。
在“空间管理”页中选择“数据库管理的空间”。
在“容器”页点击“添加”,在弹出的“定义容器”窗口中,选中“文件”,选择“驱动器”,从“目录”里选择到将存放数据文件的指定目录,在“容器”栏输入要创建的文件名,比如cadata.dbf,在“大小”中输入1000(单位选MB)(可以根据需要设置更大或更小的空间,如果选择的是“系统管理的空间”则不需设定大小,它自动会利用此驱动器下所有可用空间),点击确定,点击完成。
2.2.3.2系统临时表空间
选中“控制中心”->“所有已编目的系统”->本机名->“实例”->“DB2”->“数据库”->CA->“表空间”,点击右键,点击“创建”,将弹出“创建表空间”窗口。
在“名称”页的“表空间名”栏输入要创建的表空间名,比如CATEMP。
在“类型”页选择“系统临时”。
在“缓冲池”页从“缓冲池”列表中选择CACACHE缓冲池。
在“空间管理”页中选择“系统管理的空间”。
在“容器”页点击“添加”,在弹出的“定义容器”窗口中,选中“文件”,选择“驱动器”,从“目录”里选择到将存放数据文件的指定目录,在“容器”栏输入要创建的目录,比如CATEMP,点击确定,点击完成。
2.2.4创建OS用户
从开始菜单运行“设置”->“控制面板”->“管理工具”->“计算机管理”,在计算机管理->本地用户和组->用户,点击右键,选择“新用户”,将弹出“新用户”窗口。
在“用户名”栏输入要创建的用户名,比如CA;在“密码”栏和“确认密码”栏输入相同密码;属性“用户下次登录时须更改密码”等按需选择。
点击创建。
2.2.5创建数据库用户
选中“控制中心”->“所有已编目的系统”->本机名->“实例”->“DB2”->“数据库”->CA->“用户和组对象”->“DB用户”,点击右键,点击“添加”,将弹出“添加用户”窗口。
在“数据库”页选中前面创建的OS用户CA;把权限全部选中。
在“表空间”页点击“添加表空间”,从“表空间列表”中选择CADATA,点击确定,从“表空间”中选中CADATA,从“特权USE”中选择“是”。
点击确定。
2.3MySQL
2.3.1创建数据库
从命令行以root用户登录:
>mysql–uroot
如果ca数据库已存在则先删除:
mysql>dropdatabaseifexistsca;
创建ca数据库:
mysql>createdatabaseca;
2.3.2创建用户
如果用户已存在可先删除:
mysql>revokeallprivilegeson*.*fromca;
mysql>revokegrantoptionon*.*fromca;
mysql>deletefrommysql.userwhereuser='ca';
mysql>flushprivileges;
创建用户并授权:
mysql>grantallonca.*tocaidentifiedby'capassword';
其中capassword用自己确定的口令来代替。
此用户ca将用于创建IDA应用相关的表、索引等对象。
此用户名和口令将存放到配置文件中,以便下一步的初始化IDA应用系统。
2.4MSSQL
2.4.1创建数据库
从开始程序菜单运行MicrosoftSQLServer2000->企业管理器。
选中“控制台根目录”->“MicrosoftSQLServers”->“SQLServer组”->“(local)(WindowsNT)”->“数据库”,点击右键,选择“新建数据库”,将弹出“数据库属性”窗口。
在“常规”页中,在“名称”栏中输入要创建的数据库名,比如CA。
点击确定。
2.4.2创建数据库用户
在企业管理器中,选中“控制台根目录”->“MicrosoftSQLServers”->“SQLServer组”->“(local)(WindowsNT)”->“安全性”->“登录”,点击右键,选择“新建登录”,将弹出“SQLServer登录属性-新建登录”窗口。
在“登录”页中“名称”栏选择或输入“ca”;身份验证选择“SQLServer身份验证”,输入密码;“默认设置”的“数据库”项选择CA。
在“数据库角色”页,选中全部服务器角色。
在“数据库访问”页的“许可”栏中选中CA数据库,并选中全部的“数据库角色”。
点击确定。
2.5Sybase
2.5.1创建数据库
从开始程序菜单运行Sybase->SybaseCentralJavaEdition。
以sa用户身份登录,选中“Databases”,从详细信息栏点击“AddDatabase”,将弹出“AddDatabase”窗口。
在第一页中,输入要创建的数据库名称,比如CA。
点击确定。
2.5.2创建数据库用户
在“SybaseCentral”中,选中“Logins”,从详细信息栏点击“AddLogin”,将弹出“AddLogin”窗口。
在第一页输入要创建的用户名,比如ca和至少六个字符的口令。
在第二页选择默认登录数据库为ca。
在第三页点击“selectall”。
点击完成。
选中“Logins”,双击右边用户ca,弹出ca用户的属性,在“Roles”页,点击“Add”,添加“sa_role”角色,点击确定。
点击确定完成此授权。
3数据库连接配置
数据库连接信息在安装目录下的config\init.xml文件中的项中配置。
在完成系统初始化工作后,如果数据库信息发生变化可在config\CAConfig.xml文件中配置。
3.1完整示例
3.1.1Oracle数据库:
jdbc:
oracle:
thin:
@192.168.9.162:
1521:
jitdb
oracle.jdbc.driver.OracleDriver
jitida
jitida
20
3.1.2DB2数据库:
jdbc:
db2:
//192.168.9.162:
50000/jitdb
com.ibm.db2.jcc.DB2Driver
jitida
jitida
20
3.1.3MySQL数据库:
jdbc:
mysql:
//192.168.9.162:
3306/jitdb?
useUnicode=true&characterEncoding=gbk
com.mysql.jdbc.Driver
jitida
jitida
20
3.1.4MSSQL数据库:
jdbc:
microsoft:
sqlserver:
//192.168.9.162:
1433;DatabaseName=jitdb;SelectMethod=cursor
com.microsoft.jdbc.sqlserver.SQLServerDriver
jitida
jitida
20
3.1.5Sybase数据库:
jdbc:
sybase:
Tds:
192.168.9.162:
5000/jitdb?
charset=eucgb
com.sybase.jdbc2.jdbc.SybDriver
jitida
jitida
20
3.2参数说明
3.2.1
说明:
数据库连接用的URL
包括连接数据库的连接方式(JDBC)、数据库服务器的地址、数据库名称
举例:
Oracle数据库:
jdbc:
oracle:
thin:
@192.168.9.162:
1521:
jitdb
192.168.9.162Oracle数据库所在主机的地址
1521Oracle服务器的监听端口地址
jitdbOracle数据库服务名
DB2数据库:
jdbc:
db2:
//192.168.9.162:
50000/jitdb
192.168.9.162DB2数据库所在主机的地址
50000DB2服务器的监听端口地址
jitdbDB2数据库名称
MySQL数据库:
jdbc:
mysql:
//192.168.9.162:
3306/jitdb?
useUnicode=true&characterEncoding=gbk
192.168.9.162MySQL数据库所在主机的地址
3306MySQL服务器的监听端口地址
jitdbMySQL数据库名称
MSSQL数据库:
jdbc:
microsoft:
sqlserver:
//192.168.9.162:
1433;DatabaseName=jitdb;SelectMethod=cursor
192.168.9.162MSSQL数据库所在主机的地址
1433MSSQL服务器的监听端口地址
jitdbMSSQL数据库名称
Sybase数据库:
jdbc:
sybase:
Tds:
192.168.9.162:
5000/jitdb?
charset=eucgb
192.168.9.162Sybase数据库所在主机的地址
5000Sybase服务器的监听端口地址
jitdbSybase数据库名称
用户可能需要修改的是三个值:
数据库所在主机的地址(可用IP或机器名)、端口号和数据库名称,此三个值应由数据库管理员提供。
3.2.2
说明:
JDBC数据库连接用的数据库驱动名字
为了支持所使用的JDBC数据库驱动(参照不同数据库JDBC连接填写)
举例:
Oracle数据库:
oracle.jdbc.driver.OracleDriver
DB2数据库:
com.ibm.db2.jcc.DB2Driver
MySQL数据库:
com.mysql.jdbc.Driver
MSSQL数据库:
com.microsoft.jdbc.sqlserver.SQLServerDriver
Sybase数据库:
com.sybase.jdbc2.jdbc.SybDriver
3.2.3
说明:
数据库用户名
举例:
jitida
3.2.4
说明:
数据库用户密码
举例:
IqM=
isEncrypted表示是否对口令加密
isEncrypted="TRUE"对口令加密
="FALSE"不对口令加密
在设置时类似如下:
mypassword
在系统启动后,程序会自动加密此口令。
3.2.5
说明:
数据库连接池最大限制
为了限制数据库连接池中连接数量,通过连接池最大限制可以确保连接池不会过度膨胀;不会影响数据库效率。
举例:
20
上列表示数据库连接池最大限制为20,连接池中的同时连接到数据库的连接数量不能超过20。
此值可根据需要设置更大,直到数据库本身的限制。
4数据库连接代码
4.1完整示例
4.1.1Oracle数据库:
Stringurl="jdbc:
oracle:
thin:
@localhost:
1521:
数据库服务名";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connectioncon=DriverManager.getConnection(url,"用户名","密码");
4.1.2DB2数据库:
Stringurl="jdbc:
db2:
//localhost:
5000/dbName";
Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
Connectioncon=DriverManager.getConnection(url,"用户名","密码");
4.1.3MySQL数据库:
Stringurl="jdbc:
mysql:
//localhost:
3306/dbName?
useUnicode=true&characterEncoding=gb2312";
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Connectioncon=DriverManager.getConnection(url,"用户名","密码");
4.1.4MSSQL数据库:
Stringurl="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=dbName;SelectMethod=cursor";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connectioncon=DriverManager.getConnection(url,"用户名","密码");
4.1.5Sybase数据库:
Stringurl="jdbc:
sybase:
Tds:
localhost:
5007/dbName";mKn平坦软件园
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
Connectioncon=DriverManager.getConnection(url,"用户名","密码");
5通用SQL语句
目前市场主流关系数据库有SqlServer、Sybase、Oracle、DB2、Mysql等。
每种数据库SQL语句大同小异;各数据库的数据类型差别较大。
请参看对应数据库文档。
以下介绍数据库共同的SQL基础。
5.1排序
各数据数据库排序都遵循
orderbyfiled_nameASC(升序)/DESC(降序)
5.2模糊查询
1、like与notlike
查询指定匹配字符串的数据,like运算符有两个通配符;%与_
其中%表示零或多个字符,_表示一个字符
例:
select*fromuserTablewherenamelike‘%王%’
select*fromuserTablewherenamelike‘王_’
5.3连接查询
内连接 :
只连接匹配的行
左外连接:
包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行
右外连接:
包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全