数据库对象

来源:互联网 发布:三星短信恢复软件 编辑:程序博客网 时间:2024/06/06 07:19

模式

用户A创建一个test表,表的模式就是A,表为A.test

创建模式: db2 “create schema A ” (显示)

           db2 “create table A.test (col1 char(10))” (隐式)

 

SYSIBM 模式下存储的对象是系统数据字典。

SYSCAT 模式下的对象是系统视图,可查看各种数据库对象的信息。

SYSIBMADM V9引入的系统管理视图模式。

SYSSTAT 统计视图模式,下包含9个视图,用来为DB2优化器提供统计信息。

常用的数据类型:

数字型:整型(smallintintegerbigint),小数(decfloatdecimalnumeric),浮点型(real double

字符型:字节型{单字节(charvarcharCLOB),双字节(graphicDBCLOB},二进制(BLOB

时间:datetimetimestamp

XMLXML

 

Describe table 查看表的结构信息

List tables

List table for schema <schema_name>

List table for all

 

表约束:

1.非空约束

2.唯一性约束

Db2 “alter table t1 add unique(c1)”

3.主外键约束

Db2 “alter table t1 add primary key(c1)”

Db2 “alter table t1 primary key (c1) add constraint fk_1 foreign key(a1) references t2 on delete cascade”

4.检查约束

Db2 “alter table stock add constraint cctype check (type in (‘A’,’B’,’C’))”

 

 

表压缩:alter table test1 compress yes

压缩完之后进行重组: db2 reorg table db2inst1.employee

 

索引

 

大对象

 

字符大对象:CLOB,储存字典,书籍,简历等

二进制大对象:BLOB,储存声音,视频等

 

每个表可有多个LOB,每个LOB字段最大长度为2GBDBCLOB存取双字节内容,每列最大支持1G

对于LOB字段,在页中存储的不是实际的数据,而是LOB描述符,指向LOB数据存储的位置,可以通过db2dart /dd 查看。

 

关于LOB的一些最佳实践:

1.长度小于32KB的字符字段,建议使用varchar(32k),而不用CLOB;只有当长度超过32K时才考虑CLOB

2.长度小于32KB的二进制数据,建议用VARCHAR(32k) for bit data类型;只有当长度超过32K时才考虑BLOB

3.如果LOB中的数据经常变化,建议将变化的数据抽取独立的字段,而保持LOB字段的变更尽量小。

4.为提升性能和运维便利,建议将LOB数据存放在独立表空间。由于LOB不通过bufferpool缓存数据,为提高性能,应考虑使用文件系统缓存。

 

 

存储过程





"未完待续。。。"

0 0