DB2数据库基本概念

article/2025/8/29 2:11:49

http://db365.net/home.php?mod=space&uid=19鉴于CSDN无故删除博文,本博客不再更新,暂时迁至http://www.db365.net


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://chatgpt.dhexx.cn/article/y4FZMggw.shtml

相关文章

DBeaver连接db2数据库

DBeaver工具安装包: 链接:https://pan.baidu.com/s/1ruEF0dDkbYDy02-aYxuj8w 密码:l0t4 db2驱动包: 链接:https://pan.baidu.com/s/1OaSHGi7toIhKCk8fNEv-CQ 密码:tazm 安装好DBeaver工具后 1、新建连接 2、连接…

DB2数据库

DB2是IBM公司研制的一种关系型数据库系统,它主要应用于大型应用系统,具有很强的海量数据处理能力,具有较好的可伸缩性 教学地址 可支持从大型机到单用户环境,包括DB2工作组版(DB2Workgroup Edition)、DB2企…

socket绑定的ip为INADDR_ANY 的意义 htonl(INADDR_ANY)(0.0.0.0所有地址、不确定地址、任意地址)(htonl和htons区别)

INADDR_ANY 表示监听0.0.0.0地址,socket只绑定端口,不绑定本主机的某个特定ip,让路由表决定传到哪个ip(0.0.0.0地址表示所有地址、不确定地址、任意地址)(一台主机中如果有多个网卡就有多个ip地址&#xff…

ntohs, ntohl, htons,htonl的比较和详解

假设在x86平台上,有一个int型变量,在内存中的内部由低到高分别是:0x12,0x34,0x56,0x78当通过网络发送该数据时,正确的发送顺序是 0x78,0x56,0x34,0x12 X86 系列 CPU都是 little-endian 的,所以int 型变量值为 0x78563412, 网络发送数据时,采…

c语言中htonl函数,htonl()函数学习

今天在网上看到一篇关于htonl()函数的解释,感觉有道理,贴过来大家一起学习! htonl就是把本机字节顺序转化为网络字节顺序 h---host 本地主机 to 就是to 了 n ---net 网络的意思 l 是 unsigned long 所谓网络字节顺序(大尾顺序)就是指一个数在内存中存储的时候“高对低&#x…

ntohl()、htonl()函数

ntohl()将一个无符号长整形数从网络字节顺序转换为主机字节顺序, ntohl()返回一个以主机字节顺序表达的数。ntohl()返回一个以主机字节顺序表达的数。 htonl()将主机数转换成无符号长整型的网络字节顺序。本函数将一个32位数从主机字节顺序转换成网络字节顺序。 #…

Linux网络编程笔记 - 03 UDP - 主机字节序转换网络字节序函数

只要数据大于2个字节,发数据时一定要转成大端。 htons:一般用于转换端口号,short,2字节 htonl:一般用于转换ip,long,4字节 ntohl:将网络大端数据转换成主机可以识别的顺序,long = 4字节 ntohs:将网络大端数据转换成主机可以识别的顺序,short = 2字节 book@100a…

C语言详解:指针

文章目录 指针1. 指针的定义1.1 内存划分1.2 指针与指针变量1.3 指针的大小 2. 指针的类型2.1 指针解引用方面2.2 指针 整数方面2.3 总结 3 野指针3.1 野指针的定义3.2 野指针的成因3.3 如何规避野指针 4 指针运算4.1 指针 整数4.2 指针-指针4.3 指针关系运算 5 指针和数组6.…

C语言有关指针的详解笔记

指针 文章目录 指针1.指针是什么2.指针类型3.野指针野指针成因 4.指针运算5.指针和数组6.二级指针7.指针数组 1.指针是什么 在计算机科学中,指针是编程语言中的一个对象,利用地址,他的值直接指向存在电脑存储器中另一个地方的值。由于通过地…

初阶C语言——指针【详解】

文章目录 1.指针是什么2.指针和指针类型2.1 指针的解引用2.2 指针 -整数 3.野指针3.1 野指针成因3.2 如何规避野指针 4. 指针运算4.1 指针-整数4.2 指针-指针4.3 指针的关系运算 5. 指针和数组6. 二级指针7. 指针数组 1.指针是什么 指针理解的2个要点: 指针是内存中…

C语言——指针初阶详解

🐒博客名:平凡的小苏 📚学习格言:别人可以拷贝我的模式,但不能拷贝我不断往前的激情 目录 1. 指针是什么 2. 指针和指针类型 2.1指针类型的第一个意义 2.2指针类型的第二个意义 3. 野指针 3.1 野指针成因 3.2 如何…

C语言中指针的详解

文章目录 前提一.指针基础1.1 变量指针1.2 数据指针1.3 指针的本质1.4 指针数组1.5 指针的移动1.5 Scanf函数的解释 二.指针的进阶玩法2.1 二维指针2.2 结构体指针 结语 前提 指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也…

C语言:指针详解

目录 指针就是地址,口语中说的指针通常指的是指针变量 指针的定义以及指针类型 野指针 指针运算 a.指针/-整数 b.指针只能-指针,不能指针 指针与数组 二级指针 指针数组 指针的大小是固定的4/8个字节(32位平台/64位平台&#xff09…

C语言,指针详解

1. 指针是什么&#xff1f; 1. 指针是内存中一个最小单元的编号 2. 口头上的“指针”&#xff0c;指的是指针变量 #include<stdio.h>int main() {int a10;int * pa&a;// pa 是一个指针变量,用来存放 a 的地址//int ——> pa 所指向对象的类型//* 代表 pa是个指针…

C语言指针详细解析

C语言指针详细解析 概述指针指针运算符示例 指针类型示例 指针变量的初始化关系运算示例 数组一维数组示例 二维数组示例 字符串指针示例示例 指针函数示例 函数指针示例 指针函数和函数指针定义写法用途 最后 概述 指针也就是内存地址&#xff0c;指针变量是用来存放内存地址…

C语言:详解指针

本人录制技术视频地址&#xff1a;https://edu.csdn.net/lecturer/1899 欢迎观看。 指针应该算得上是c语言的精华&#xff0c;但也是难点。很多教程或者博客都有对其详细的讲解与分析。我这一节的内容&#xff0c;也是讲解指针&#xff0c;但我会尽量使用图解的方式&#xff0…

【C语言】指针(详解)

文章目录 前言1.字符指针2. 指针数组3. 数组指针3.1 数组指针的定义3.2 &数组名VS数组名3.3 数组指针的使用 4. 数组参数、指针参数4.1 一维数组传参4.2 二维数组传参4.3 一级指针传参4.4 二级指针传参 5. 函数指针6. 函数指针数组7. 指向函数指针数组的指针8. 回调函数8.1…

【c语言】 指针详解 【图文+代码】

指针 前言一、指针是什么&#xff1f;1.1 认识指针1.2 变量1.3 变量放在哪&#xff1f;1.4 指针的本质1.5 解引用 二、指针类型2.1指针有类型吗&#xff1f;2.2指针类型的意义是什么&#xff1f; 三. 野指针3.1什么是野指针3.2野指针成因3.2.1指针未初始化3.2.2 指针越界访问3.…

【初阶】C语言指针详解——指针必备的7大知识点

文章目录 前言一、指针是什么&#x1f351;1、浅谈指针&#x1f351;2、内存&#x1f351;3、指针变量 二、指针和指针类型&#x1f351;1、指针类型&#x1f351;2、指针-整数&#x1f351;3、指针的解引用 三、野指针&#x1f351;1、野指针成因&#x1f333;(1) 指针未初始化…

详解C语言指针

文章目录 1.字符指针2.指针数组3.数组指针3.1 数组指针的定义3.2 &数组名和数组名的区别3.3 数组指针的使用 4.数组参数&#xff0c;指针参数4.1 一维数组传参4.2 二维数组传参4.3 一级指针传参4.4 二级指针传参 5.函数指针6.函数指针数组7.指向函数指针数组的指针8.回调函…