文档章节

DB2数据库基本概念

Goopand
 Goopand
发布于 2015/04/20 11:01
字数 2080
阅读 5
收藏 0
点赞 0
评论 0

1 DB2数据库基本概念

1.1数据库对象

关键的数据库对象包括:实例、数据库、节点组、表、视图、索引、模式、系统目录表。图1显示了一些数据库对象之间的关系。它也显示了表、索引和长整型数据存储在表空间中的情况。

 

 

1.一些数据库对象之间的关系

 

1.1.1实例

实例(有时称为数据库管理程序)是管理数据的DB2代码。它控制可对数据执行的操作,并管理分配给它的系统资源。每一个实例都是一个完整的环境。一个实例有它自己的数据库(其他的实例不能存取它)。它还有独立的安全性,不受同一机器(系统)上其他实例的影响。

1.1.2数据库

关系数据库将数据表示成表的集合。表由数目已定的列和任意数目的行组成。每个数据库都包括一组描述数据的逻辑和物理结构的系统目录表,一个包含为该数据库分配的参数值的配置文件以及一个带有正在进行的事务和可归档事务的恢复日志。

1.1.3节点组

节点组是一个或多个数据库分区组成的集合。当您想为数据库创建表时,首先创建节点组以存储表空间,然后创建表空间以存储表。

1.1.4

关系数据库将数据表示成表的集合。表由逻辑排列的行和列数据组成。所有数据库的表数据都被存储在表空间中。

1.1.5视图

视图是高效率的数据呈现方法(无需维护数据)。视图不是实际的表,不需要永久性存储器。创建并使用一个“虚拟表”。

视图可以包括它所基于的表中的所有或某些列或行。例如,可以在视图中连接一个部门表和一个员工表,以便可以列出特定部门中的所有雇员。图2显示了表和视图的关系。

1.1.6索引

索引是一组关键字,其每一个都指向一些行。例如,图3中,表A的一个索引基于表中的员工号码。此关键字提供指向表行的指针:员工号码19指向员工KMP。通过使用指针创建指向数据的直接路径,索引是更有效的存取表行成为可能。

SQL优化器自动选择最有效率的存取表中数据的方法。当确定最快速的数据存取路径时,优化器会将索引考虑在内。

可创建唯一索引以确保索引关键字的唯一性。索引关键字是定义了索引的一个列或一些列的有序集合。使用唯一索引将确保在编入的索引的列中,每个索引关键字的值都是唯一的。图3显示了索引与表之间的关系。

 

2.表和视图之间的关系

 

 

3.索引与表之间的关系

1.1.7模式

模式是一个标识符,如用户ID,它帮助分组表和其他数据库对象。模式可以归个人拥有,拥有者可以控制对数据以及其中的对象的存取。

模式也可以是数据库中的对象。它可以在创建模式中的第一个对象时自动创建。这样的对象可以是任何可以由模式名限定的对象,如表、索引、视图、程序包、单值类型、函数或触发器。

1.1.8系统目录表

每个数据库都包括一组描述数据的逻辑和物理结构的系统目录表。DB2为每个数据库维护一大组系统目录表。这些表包含有关数据库对象(例如,用户表、视图和索引)的定义信息,以及用户对这些对象所拥有的权限的安全性信息。它们在数据库创建时被创建,并在常规操作期间得到更新。不能显示的创建或卸载下它们,但是可以使用目录视图查询和查看它们的内容。

1.2存储器对象

下列数据库对象用来定义在系统上存储数据的方式以及改进(与存取数据相关的)性能的方法:表空间、容器和缓冲池。

1.2.1表空间

数据库由称为表空间的部件组成。表空间是用来存储表的位置。当创建表时,您可以决定将特定对象(如索引和大对象)数据与其余表数据分开存放。表空间也可以分布在一个或多个物理存储设备上。图4显示了在表空间之间分布数据时具有的一些灵活性。

 

 

4.表空间

将容器分配给表空间。容器是分配的物理存储器(如文件和设备)。

表空间可以使系统管理空间(SMS)或数据库管理空间(DMS)。对于SMS表空间,每个容器都是操作系统的文件空间中的一个目录,由操作系统的文件管理器控制存储空间。对于DMS表空间,每个容器或者是固定大小的预分配文件,或者是物理设备如磁盘,由数据库管理程序控制存储空间。

表空间有三种类型:规则、临时和长整数。

包含用户数据的表存放在规则表空间中。缺省用户表空间名为USERSPACE1。索引也存储在规则表空间中。系统目录表存放在规则表空间中。缺省系统目录表空间名为SYSCATSAPCE

包含长整数字段数据或长整数对象数据(如多媒体对象)的表存放在长整数表空间中。

临时表空间分为系统临时表空间或用户临时表空间。系统临时表空间用来存储SQL操作(如排序、重组表、创建索引和连接表)期间所需的内部临时数据。虽然可以创建任意数目个系统临时表空间,但建议您只适用大多数表所使用的页大小创建一个。缺省系统临时表空间名为TEMPSPACE1。用户临时表空间用来存储已说明全局临时表(已说明全局临时表存储的是应用程序临时数据)。用户临时表空间不是在数据库创建时缺省创建的。

1.2.2容器

容器是物理存储设备。它可以由目录名、设备名或文件名标识。

将为表空间分配容器。单个表空间可以横跨多个容器,但每个容器只能属于一个表空间。

5举例说明了表与数据库中的表空间、相关联的容器和磁盘之间的关系。

 

 

5.表空间、相关联的容器和磁盘之间的关系

EMPLOYEEDEPARTMENTPROJECT表在HUMANRES表空间中,该表空间横跨容器01234。此示例显示每个容器存在于不同的磁盘上。

任何表的数据都以循环方式存储在表空间中的所有容器中。这能在属于给定表空间容器之间平衡数据。数据库管理程序在使用另一个容器之前写入一个容器的页数称为数据块大小。

1.2.3缓冲池

缓冲池指的是从磁盘读去高速缓存表和索引数据页时或修改它们时分配给它们的主存储器。缓冲池的目的是改进系统性能。从内存存取数据要比从磁盘存取数据快的多;因此,数据库管理程序需要读写(I/O)的次数越少,性能也越好。(可以创建多个缓冲池,虽然在大多数情况下只需要一个。)

因为可以缩短慢速I/O所造成的延迟,所以缓冲池的配置是最重要的调整项目。



本文转载自:http://blog.csdn.net/zhaojianmi1/article/details/5449306

共有 人打赏支持
Goopand
粉丝 8
博文 376
码字总数 186222
作品 0
朝阳
数据库的基本概念

21世纪,人类迈入了“信息爆炸时代”,大量的数据、信息不断产生,伴随的就是如何安全的、有效的存储、检索和管理它们。使用数据库可以对数据进行有效存储、高效访问、方便共享和安全控制等功...

杨书凡
2017/11/16
0
0
SOL Server数据库库部署

1、数据库基本概念 数据:描述事物的符号 数据表:由记录(行)和字段(列)组成 数据库:数据表的集合 数据库管理系统:对数据库进行管理和维护DBMS 数据库管理员:DBA负责数据库管理和维护...

IT鑫鑫
01/22
0
0
db2 command list

工作一个多月了,因为公司要用DB2数据库,所以总是努力去看这方面的书,一段时间来有点体会也总结了一些常用的DB2命令,发出来给大家分享吧!希望对大家会有所帮忙,呵呵。。 启动DB2服务:d...

jiyayun
2013/07/19
0
0
DB2 手动安装 on Linux

环境:RedHat5.3+DB2 V9.1 需求:手动安装数据库 远程:CRT ssh 1:上传远程服务器: db2v9eselinux32.tar 2:解压: tar -xzvf db2v9eselinux32.tar 3:配置内核参数: vi /etc/sysctl.conf ...

cyper
2013/01/06
0
0
IBM的DB2数据库常用命令及查询

IBM的DB2数据库常用命令及查询2017年04月16日 11:57:31阅读数:33431、 打开命令行窗口  #db2cmd2、 打开控制中心  #db2cmd db2cc3、 打开命令编辑器 #db2cmd db2ce=====操作数据库命令=...

rootliu
05/10
0
0
DB2 HADR v8.2 EE 实施步骤

/*说明: 1.数据库版本必须一致,此例为8.2ese 2.运行db2licm -l 查看是否支持hadr特性 3.两台机器: serverA 10.10.20.16 255.255.255.0 serverB 10.10.20.110 255.255.255.0 4.两台机器均使用...

晨曦之光
2012/03/09
0
0
DB2 HADR 配置示例

介绍   DB2的HA可以在OS级别使用专门的HA来实现,也可使用DB2内置的HADR来实现,且配置和管理很简单。   一个HADR环境需要两台数据库服务器:主数据库服务器(primary)和备用数据库服务...

adelphos
2015/02/05
0
0
db2 卸载和安装

Db2 卸载步骤(参考) 开始卸载 1. 删除所有数据库。 可以使用“控制中心”或drop database命令删除数据库。笔者卸载而未删除数据库,结果是重新安装后无法建立同名数据库。 若要显示所有已创...

银河zlm
2016/04/15
0
0
DB2菜二(升级到DB2 V10)

我卸载了老版的DB2,但是services.msc中还有一项DB2 - DB2-0的服务, (1)尝试用下面的命令删除 sc delete "DB2 - DB2-0",提示服务不存在。 (2)打开注册表编辑器,找到下面的键值: HKEY...

cyper
2012/11/12
0
1
[转]DB2 并发机制表格分析法

级别: 中级 齐克科 (qikeke@cn.ibm.com), 软件工程师, IBM Elaine Zhan (ezhan@cn.ibm.com), 软件咨询工程师, IBM 陈荔龙 (chenlil@cn.ibm.com), 软件工程师, IBM 2008 年 5 月 08 日 本文介...

穿越星辰
2009/03/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

【面试题】盲人坐飞机

有100位乘客乘坐飞机,其中有一位是盲人,每位乘客都按自己的座位号就坐。由于盲人看不见自己的座位号,所以他可能会坐错位置,而自己的座位被占的乘客会随便找个座位就坐。问所有乘客都坐对...

garkey
48分钟前
0
0
谈谈神秘的ES6——(二)ES6的变量

谈谈神秘的ES6——(二)ES6的变量 我们在《零基础入门JavaScript》的时候就说过,在ES5里,变量是有弊端的,我们先来回顾一下。 首先,在ES5中,我们所有的变量都是通过关键字var来定义的。...

JandenMa
今天
1
0
arts-week1

Algorithm 594. Longest Harmonious Subsequence - LeetCode 274. H-Index - LeetCode 219. Contains Duplicate II - LeetCode 217. Contains Duplicate - LeetCode 438. Find All Anagrams ......

yysue
今天
0
0
NNS拍卖合约

前言 关于NNS的介绍,这里就不多做描述,相关的信息可以查看NNS的白皮书http://doc.neons.name/zh_CN/latest/nns_background.html。 首先nns中使用的竞价货币是sgas,关于sgas介绍可以戳htt...

红烧飞鱼
今天
1
0
Java IO类库之管道流PipeInputStream与PipeOutputStream

一、java管道流介绍 在java多线程通信中管道通信是一种重要的通信方式,在java中我们通过配套使用管道输出流PipedOutputStream和管道输入流PipedInputStream完成线程间通信。多线程管道通信的...

老韭菜
今天
0
0
用Python绘制红楼梦词云图,竟然发现了这个!

Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具,下面我们来看看如何使用Python,来读红楼梦,绘制小...

猫咪编程
今天
1
0
Java中 发出请求获取别人的数据(阿里云 查询IP归属地)

1.效果 调用阿里云的接口 去定位IP地址 2. 代码 /** * 1. Java中远程调用方法 * http://localhost:8080/mavenssm20180519/invokingUrl.action * @Title: invokingUrl * @Description: * @ret......

Lucky_Me
今天
1
0
protobuf学习笔记

相关文档 Protocol buffers(protobuf)入门简介及性能分析 Protobuf学习 - 入门

OSC_fly
昨天
0
0
Mybaties入门介绍

Mybaties和Hibernate是我们在Java开发中应用的比较多的两个ORM框架。当然,目前Mybaties正在慢慢取代Hibernate,这是因为相比较Hibernate而言Mybaties性能更好,响应更快,更加灵活。我们在开...

王子城
昨天
2
0
编程学习笔记之python深入之装饰器案例及说明文档[图]

编程学习笔记之python深入之装饰器案例及说明文档[图] 装饰器即在不对一个函数体进行任何修改,以及不改变整体的原本意思的情况下,增加函数功能的新函数,因为这个新函数对旧函数进行了装饰...

原创小博客
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部