版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Module1
DB2装入、导入和导出及安全性数据移动DB2中所谓的数据移动,包括:
1.
数据的导入(Import)
2.
数据的导出(Export)
3.
数据的装入(Load)
数据移动导入和装入都是利用DB2的相关命令把某种格式的文件中的数据保存到数据库中的表中
导出是指把DB2数据库的表中的数据保存到某种格式的文件当中去
数据移动数据移动的作用:
如果要在不同的数据库管理系统之间转移数据,数据移动通常是最实用的一种方法,因为任何一种数据库管理系统都支持常用的几种文件格式,通过这个通用的接口,就很容易实现不同系统间数据的转移。
这三个命令中,Export最简单,因为从表中向文件转移数据,通常不会出现错误,也不会有非法的数据。
数据移动首先介绍一下文件的格式,用于DB2数据移动的文件格式有四种:
1.
ASC——非定界ASCII文件,是一个ASCII字符流。数据流中的行由行定界符分隔,而行中的每一列则通过起始和结束位置来定义。例如:
数据移动2.
DEL——定界ASCII文件,也是一个ASCII字符流。数据流中的行由行定界符分隔,行中的列值由列定界符分隔。文件类型修饰符可用于修改这些定界符的默认值。例如:
数据移动3.
WSF——(work
sheet
format)为工作表格式,用于与Lotus系列的软件进行数据交换。
4.
PC/IXF——是集成交换格式(Integration
Exchange
Format,IXF)数据交换体系结构的改编版本,由一些列可变长度的记录构成,包括头记录、表记录、表中每列的列描述符记录以及表中每行的一条或多条数据记录。PC/IXF
文件记录由包含了字符数据的字段组成。
数据移动第一部分:数据的导出(Export)
例一:把Org表中的所有数据导出到文件C:\ORG.TXT中。
Export
to
c:\org.txt
of
del
select
*
from
org
其中,of
del表示导出到的文件的类型,在本例中导出到一个非定界文本文件中;后面的select
*
from
org是一个SQL语句,该语句查询出来的结果就是要导出的数据。
数据移动例2:以ASC格式将数据导出到文件
Export命令是不支持ASC格式文件的,所以如果想导出ASC这样规整的格式,需要程序员自己进行转换操作,思路是将各种数据类型都转换成定长字符串,然后把各个要导出的字段合并成为一个字段。
例如创建如下结构的表n:
create
table
n(a
int,b
date,c
time,d
varchar(5),e
char(4),f
double)
然后插入两条数据:
insert
into
n
values(15,’2004-10-21’,’23:12:23’,’abc’,’hh’,35.2)
insert
into
n
values(5,’2004-1-21’,’3:12:23’,’bc’,’hhh’,35.672)
数据移动
要想把这两条数据以规整的格式导出到文件中,进行如下操作:
export
to
c:\test.txt
of
del
select
char(a)
||
char(b)
||
char(c)
||
char(d,5)
||
e
||
char(f)
as
tmp
from
n
这样导出的结果与ASC格式的文件非常类似,只是每一行的前后多出了一对双引号,对此我们可以使用文本工具(如写字板、记事本等)把双引号删除掉,也可以置之不理,在以后导入的时候直接控制格式(忽略双引号)
数据移动例3:大数据的导出
export
to
d:\myfile.del
of
del
lobs
to
d:\lob\
lobfile
lobs
modified
by
lobsinfile
select
*
from
emp_photo
该命令把emp_photo表的数据导出到d:\myfile.del文件中,其结果为:
数据移动例五:把导出信息保存在消息文件中。
export
to
d:\awards.ixf
of
ixf
messages
d:\msgs.txt
select
*
from
staff
where
dept
=
20
这个例子把staff表中dept=20的数据导出到d:\awards.ixf文件中,所有的导出信息都保存在d:\msgs.txt文件中(无论是成功、警告还是失败信息),这样,管理员可以通过观察信息文件找到问题所在。
数据移动例5:给导出数据列重命名。
export
to
d:\awards.ixf
of
ixf
method
n(c1,c2,c3,c4,c5,c6,c7)
messages
d:\msgs.txt
select
*
from
staff
where
dept=20
在默认情况下,导出的每一列数据以表中对应的字段名自动命名,我们可以通过method
n子句给每一列重新命名,需要注意的是,这个子句只在ixf和wsf格式文件中有效,在文本文件中不能使用。
视图
视图是从一个或多个表或视图派生的虚拟表;在检索数据时,可以把它们和表交替使用。当您希望隐藏基本表中的某些列或行时,视图会非常有用。如果不想创建表的另一个副本,则可以用视图创建一个虚拟表,它只向用户显示您希望他们看到的数据。
当通过视图更改数据时,底层表本身的数据也被更改。视图本身不包含任何实际数据。在某些情况下视图是不可更新的,因此视图可以分类为可删除的、可更新的、可插入的或只读的。分类表明了可以对该视图允许执行的SQL操作的类型。
视图
一个简单视图
我们将用一个简单的示例来说明视图的能力和用处。考虑下列人事(Personnel)表:CREATETABLEPERSONNEL(PERSON_IDINTNOTNULL,FIRST_NAMEVARCHAR(20),LAST_NAMEVARCHAR(20),SALARYDEC(9,2),EXTENSIONCHAR(4),...)它并不是最复杂的人事表,但有助于说明视图的一个要点。这个表包含了一些高度敏感的信息,譬如雇员的薪水。但是,这个表中的大部分信息可以为其它部门或用户所用。例如,extension(电话号码)列可以用来产生内部电话簿。我们如何利用这些信息,同时又不危及薪水信息的完整性呢?
视图
您可能猜到了,我们的解决方案与视图有关。可以在这个表上创建限制用户只能查看某些列的视图。下列SQL语句创建了一个视图,它显示用户的名、姓和电话号码:CREATEVIEWTELEPHONE_BOOKAS(SELECTFIRST_NAME,LAST_NAME,EXTENSIONFROMPERSONNEL)向用户授予访问该视图的权限,而不是基本人事表的权限。针对该视图发出SELECT语句的用户只能看到三个列:
视图
视图语法
CREATEVIEWview-name(columnlist)AS(fullselect)实际上这并不是命令语法的所有部分,但它确实说明了可能您最为常用的部分。CREATE语句包含以下部分:View-name:视图的标识。它具有和实际表名相同的限制,并且不能与现有表的名称相同。
Columnlist:这个可选的部分将告诉DB2当返回结果集时,列的名称应该是什么。例如,在先前的示例中,我们可以对所有的列重新命名,就象这样:CREATEVIEWTELEPHONE_BOOK(FIRST,LAST,PHONE)AS(SELECTFIRST_NAME,LAST_NAME,EXTENSIONFROMPERSONNEL)Fullselect:这是将要用来生成视图定义的SQL。全选择(fullselect)可以根据WHERE子句返回独立的行,或者,它可以执行连接、聚集或任何复杂的SQL操作。
视图
带UNION的视图
DB2的一些发行版已经支持使用UNIONALL将表连接起来形成视图。假定DB2能够确定将相应命令应用到哪个表的话,也允许使用SELECT、DELETE和UPDATE运算符。在DB2V8中,对INSERT运算符的支持已经扩展到带UNIONALL的视图了.只要满足下列条件:表达式都具有相同的数据类型至少在一个列上存在约束,并可以使用该约束唯一地标识应在哪里插入行,并且约束的范围没有重叠只要被更改的列不违反该列的约束,用这种方式定义的视图也支持UPDATE操作。
视图
可更新视图
可更新视图是可删除视图的特例。当可删除视图中至少有一个列可更新时,它就成了可更新视图。当符合下列所有规则时,视图列就是可更新的:视图必须是可删除的该列必须解析成表的列(而不是使用解引用操作),并且一定不能指定READONLY选项
视图
WITHCHECKOPTION
如果视图定义包括条件(譬如WHERE子句),则必须使用WITHCHECKOPTION定义该视图。这个选项可以确保数据库中正在修改的数据的完整性。如果在INSERT或UPDATE操作期间违反了条件,则返回SQL错误。下面是一个使用了WITHCHECKOPTION的视图定义的示例。要确保总是检查条件,WITHCHECKOPTION是必需的。在这种情况下,我们希望确保DEPT总是10。这会限制DEPT列的输入值。当使用视图插入新值时,总是强制执行WITHCHECKOPTION。CREATEVIEWEMP_VIEW2(EMPNO,EMPNAME,DEPTNO,JOBTITLE,HIREDATE)ASSELECTID,NAME,DEPT,JOB,HIREDATEFROMEMPLOYEEWHEREDEPT=10WITHCHECKOPTION;如果这个子句不存在,那么某个使用该视图的用户就有可能更新某条记录,使其不再属于该视图。例如,下列SQL语句可能会引起一些问题。UPDATEEMP_VIEW2SETDEPT=20WHEREDEPT=10;这个语句的结果是该视图现在不包含任何记录,因为部门10不再有雇员了。
视图
不可操作的视图
不可操作的视图是SQL语句无法使用的视图。如果出现以下情况,视图就会成为不可操作的视图:视图定义所依赖的特权被撤销。
视图定义所依赖的对象(譬如表、别名或函数)被删除。视图定义所依赖的视图变得不可操作。该视图定义(子视图)的超视图变得不可操作。DB2中的视图无法更改。必须用您所希望的更改重新创建它。
DB2安全
DB2安全性概述
DB2安全性由外部安全性服务和内部DB2权限机制共同处理。外部安全性服务对希望访问DB2服务器的用户进行认证;DB2之外的安全性软件负责认证工作。该软件可以是操作系统的安全性工具,也可以是象Kerberos这样的独立产品。一旦成功验证了用户标识和密码,内部DB2进程即接管并确保授权用户执行请求的操作。
DB2安全认证类型
认证类型确定在哪里验证用户标识/密码对。受支持的认证类型有:SERVER(缺省值)KERBEROSCLIENT
DB2安全用SERVER选项认证
使用SERVER选项,用户标识和密码被发送到服务器进行验证。请考虑以下示例:
DB2安全用KERBEROS认证
Kerberos是一个外部安全性工具,它使用传统密码术创建共享的加密密钥。它提供了一种安全的认证机制,因为不再需要以明文形式在网络上传送用户标识和密码。通过使用加密密钥,它还使单点登录到远程DB2服务器成为可能。
DB2安全在客户机上认证
该选项允许认证在客户机上进行。当用户成功登录到客户机时,无须询问密码就可以与数据库建立连接。
DB2安全信任客户机
TRUST_ALLCLNTS决定哪些类型的客户机是可信的。该参数有以下三个可能值:YES―信任所有客户机。这是缺省设置。认证将在客户机上进行。有一个例外,我们将在下面介绍TRUST_CLNTAUTH时更详细地讨论。NO―只信任有可靠安全性工具的客户机(也就是可信的客户机)。若是不可信的客户机要进行连接,必须提供用户标识和密码以便在服务器上进行认证。这一选项只用于包、例程、模式、表、表空间和视图。IMPLICIT_SCHEMA允许用户用还不存在的模式创建对象。View-name:视图的标识。如果通过withgrantoption接收了特权,则用户将不能从其他用户处取消这些特权。grantcontrolonpackagedev.CREATETABLEPERSONNEL这个表包含了一些高度敏感的信息,譬如雇员的薪水。这一选项只用于包、例程、模式、表、表空间和视图。若是不可信的客户机要进行连接,必须提供用户标识和密码以便在服务器上进行认证。要允许这样的行为,可使用TRUST_CLNTAUTH来指定当在connect语句或attach命令中提供了用户标识和密码时,应该在哪里进行认证。例如创建如下结构的表n:
create
table
n(a
int,b
date,c
time,d
varchar(5),e
char(4),f
double)
然后插入两条数据:
insert
into
n
values(15,’2004-10-21’,’23:12:23’,’abc’,’hh’,35.可更新视图是可删除视图的特例。DB2中所谓的数据移动,包括:
1.后面的select
*
from
org是一个SQL语句,该语句查询出来的结果就是要导出的数据。DB2的一些发行版已经支持使用UNIONALL将表连接起来形成视图。CLIENT―在客户机上执行认证;SALARYDEC(9,2),视图是从一个或多个表或视图派生的虚拟表;视图定义所依赖的视图变得不可操作。revokeloadondatabasefromgroupdbagrp;如果在INSERT或UPDATE操作期间违反了条件,则返回SQL错误。数据的导入(Import)
2.grantselect,update,deleteontableemployeetouserjohnwithgrantoptionsssss该选项允许认证在客户机上进行。grantloadondatabasetogroupdbagrp;export
to
d:\awards.Columnlist:这个可选的部分将告诉DB2当返回结果集时,列的名称应该是什么。例如,extension(电话号码)列可以用来产生内部电话簿。DB2安全请考虑这样一个方案:其中DB2服务器将认证设置为CLIENT,将TRUST_ALLCLNTS设置为YES。您可以以localuser
的身份登录到Windows2000机器,然后无需指定用户标识和密码即可连接到远程数据库。localuser
将成为数据库上已连接的权限标识。如果希望用另一个用户标识连接到数据库―例如用poweruser
连接,该用户有执行数据库备份的权限―该怎么办?要允许这样的行为,可使用TRUST_CLNTAUTH来指定当在connect语句或attach命令中提供了用户标识和密码时,应该在哪里进行认证。允许使用两个值:CLIENT―在客户机上执行认证;不要求提供用户标识和密码。SERVER―当提供了用户标识和密码时,在服务器上进行认证。
让我们看一些说明这两个参数用法的示例:
DB2安全
DB2安全
设置权限级别
权限级别控制执行数据库管理器维护操作和管理数据库对象的能力。在DB2中有五种权限:
DB2安全SYSADM拥有管理实例的全部特权,并且还有对底层数据库中数据的访问权。SYSCTRL和SYSMAINT在管理实例、实例的数据库和数据库对象方面有一定的特权。这些权限没有对数据的访问权。例如,不允许象“SELECT*FROMmytable”或“DELETEFROMmytable”这样的语句。DBADM有对指定的数据库执行管理任务的特权。它还拥有对数据库的全部数据访问权。LOAD有对特定数据库运行装入实用程序的特权。别控制执行数据库管理器维护操作和管理数据库对象的能力。在DB2中有五种权限:
DB2安全
DB2安全管理DB2权限
通过将在操作系统或安全性工具中定义的用户组分配给相关参数,以在数据库管理器配置中设置SYS*权限。该参数值必须是最大长度为8个字符的组名,如下图所示:
DBADM和LOAD是数据库级权限。可用grant语句将其授予用户或用户组,并且可用revoke语句取消:connecttosample;grantdbadmondatabasetouserjohn;grantloadondatabasetogroupdbagrp;revokeloadondatabasefromgroupdbagrp;DB2安全设置特权
特权给予用户以特定方式访问数据库对象的权限。以下列表汇总了不同数据库对象的特权。数据库特权:
CONNECT允许用户连接数据库。CREATETAB允许用户在数据库中创建新表。IMPLICIT_SCHEMA允许用户用还不存在的模式创建对象。CREATE_EXTERNAL_ROUTINE允许用户创建用C、JavaTM语言、OLE和COBOL编写的存储过程。
模式特权:
CREATEIN允许用户创建模式内的对象。ALTERIN允许用户更改模式内的对象。DROPIN允许用户删除模式内的对象。
DB2安全表空间特权:
USEOFTABLESPACE允许用户在指定的表空间内创建表。表和视图特权:
CONTROL给予用户对表或视图的所有特权,以及将这些特权(CONTROL除外)授予其他用户的能力。ALTER允许用户更改表或视图。
DELETE允许用户删除表或视图的记录。INDEX允许用户对表创建索引。INSERT允许用户将记录项插入表或视图中。REFERENCES允许用户创建和删除外键,指定关系中作为父代的表。SELECT允许用户从表或视图中检索行。UPDATE允许用户更新表或视图中的记录。这一特权还能限制用户只能更新指定的列:grantupda
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度旅游地图印刷及分销合同
- 2024年度智能手机研发与生产合作合同
- 2024年度城市轨道交通建设保险合同
- 运载工具用导航仪器随载计算机市场需求与消费特点分析
- 化妆用唇彩市场发展现状调查及供需格局分析预测报告
- 2024年度二手农机跨境电商合作合同
- 公文包皮具市场发展现状调查及供需格局分析预测报告
- 2024年度培训学校租场地合同范本:包含租赁期限、租金及违约金
- 2024年度技术转让合同:人工智能技术授权协议
- 2024年度制造业搬运外包合同
- 幼儿园晨检记录表模板
- 食品安全总监职责、食品安全员守则
- 公文格式(政府发文与政府发文)
- 2023水轮发电机组润滑油系统运行维护导则
- 性格测试(考拉孔雀老虎猫头鹰)
- 化工设备图纸
- (完整)拼接屏施工方案
- 中医技能考核评分表
- 校园及周边安全隐患排查记录表
- 质量管理体系IATF16949推行计划表
- 低值易耗品领用单
评论
0/150
提交评论