DB2:创建数据库和表空间



DB2:创建数据库和表空间。

3.1创建数据库

DB2利用一个逻辑存储模型和一个物理存储模型来处理数据。用户操作的实际数据放在表中,用户并不知道数据的物理表示,称为数据的物理独立性。

表放在表空间中,表空间是存放表的容器,一个表空间可以包含多个表,同时表空间物理上又对应着若干个表空间容器。容器被分配给表空间。表空间是作为逻辑设计中的表和物理设计中的容器之间的一个桥梁。

实例和数据库的关系是: DB2:创建数据库和表空间
表空间是数据库中表数据与数据库之间的逻辑中间层,数据库中的物理空间组织为表空间的集合,而表空间是表的逻辑集合,每个表可以存储在一个或多个表空间中。在Windows上的最小存储单位是1KB。表空间连接了物理存储模型和逻辑存储模型,扮演了一个承上启下的角色。

CREATE DATABASE MYDB;用于创建数据库,这个命令会创建许多文件,包括日志文件,配置信息,历史文件和3个默认的表空间。SYSCATSPACE,就是通常说的数据字典;TEMPSPACE1:DB2用来放置分组、排序、连接和重组中间结果的临时工作区域。USERSPACE1:存放索引用户对象(表、索引等)的地方

3.2表空间设计

在一个数据库中建立表空间,会将容器分配到表空间,并在数据库系统目录表中记录它的定义和属性,然后就可以在此表空间内创建表。默认的页大小是4KB。

创建用户表空间,


1、使用命令行来创建SMS表空间:CREATE TABLESPACE <NAME> MANAGED BY SYSTEM USING (‘<path>’)

2、使用命令行来创建DMS表空间:CREATE TABLESPACE <NAME> MANAGED BY DATABASE USING (DEVICE|FILE’<path>’<size>)

3、用命令行来创建自动存储表空间:CREATE TABLESPACE <NAME>或者CREATE TABLESPACE <NAME> MANAGED BY AUTOMATIC STORAGE

系统临时表空间:用来存储分组、排序、连接、重组、创建索引等中间结果。

创建系统临时表空间,CREATE SYSTEM TEMPORARY TABLESPACE NAME;

查看表空间:list tablespaces [show detail]

3.3缓冲池

缓冲池指的是从磁盘读取表和索引数据时,数据库管理器分配的是用于高速缓存这些表或者索引数据的内存区域。每个DB2数据库都必须具有至少一个缓冲池。数据库中的数据访问都要经过缓冲池才能进行,不管是读还是写。创建缓冲池:CREATE BUFFERPOOL BP3 SIZE 2000 PAGESIZE 8K。使用多个用户表空间的最重要原因是管理缓冲池的命中率。一个表空间只能与一个缓冲池相关联,而一个缓冲池则可用于多个表空间。