数据库中的一些术语解释(DB2)

以DB2为蓝本,对数据库的一些常用术语做一些解释

 

实例

实例是逻辑数据库管理器环境,您可以在此环境中对数据库进行编目和设置配置参数。根据需要,可以在同一台物理服务器上创建多个实例,该服务器为每个实例提供唯一的数据库服务器环境。

注: 在 Linux® 和 UNIX® 操作系统上以非 root 用户身份安装时,在安装 DB2® 产品期间将创建单个实例。不能创建其他实例。

可使用多个实例来执行下列操作:

  • 将一个实例用作开发环境,将另一个实例用作生产环境。
  • 调整一个实例以用作特定的环境。
  • 限制对敏感信息的访问。
  • 控制每个实例中对 SYSADM、SYSCTRL 和 SYSMAINT 权限的指定。
  • 优化每个实例的数据库管理器配置。
  • 限制实例失败所带来的影响。如果一个实例失败,那么只影响一个实例。其他实例可继续正常运行。

对于多个实例来说:

  • 每个实例都需要额外的系统资源(虚拟内存和磁盘空间)。
  • 由于要管理其他的实例,因此增加了管理工作量。

实例目录存储着与一个数据库实例相关的所有信息。实例目录一旦创建,就不能更改其位置。该目录包含:

  • 数据库管理器配置文件
  • 系统数据库目录
  • 节点目录
  • 节点配置文件(db2nodes.cfg
  • 包含调试信息(例如,异常或寄存器转储或用于 DB2 数据库进程的调用堆栈)的任何其他文件。

术语:

位宽
用于地址虚拟内存的位数:最常见的是 32 位和 64 位。此术语可用于指实例、应用程序代码或外部例程代码的位宽。32 位应用程序的含义与 32 位宽应用程序的含义相同。
32 位 DB2 实例
包含所有 32 位二进制的 DB2 实例,包括 32 位共享库和可执行文件。
64 位 DB2 实例
包含 64 位共享库和可执行文件、所有 32 位客户机应用程序库(包括客户机和服务器)以及 32 位外部例程支持(仅包括服务器实例)的 DB2 实例。

数据库

DB2® 数据库是关系数据库数据库将所有数据存储在彼此相关的表中。在这些表之间建立关系,以便可以共享数据并使重复项最少。

关系数据库是被视为一组表并按照关系数据模型操作的数据库。它包含一组用来存储、管理和访问数据的对象。这种对象示例包括表、视图、索引、函数、触发器和程序包。对象可以由系统(系统定义的对象)或用户(用户定义的对象)定义。

分布式关系数据库包含一组表和其他对象,它们分布在不同但内部相连的计算机系统中。每个计算机系统都有一个关系数据库管理器,用于管理其环境中的表。数据库管理器相互间的通信和合作方式允许给定数据库管理器在另一个计算机系统上执行 SQL 语句。

分区关系数据库是在多个数据库分区中管理其数据的关系数据库。这种将数据分布在多个数据库分区中的方式对大多数 SQL 语句来说是透明的。但是,某些数据定义语言(DDL)语句会考虑数据库分区信息,例如,CREATE DATABASE PARTITION GROUP。DDL 是用来描述数据库中的数据关系的 SQL 语句子集。

联合数据库是其数据存储在多个数据源(例如,不同的关系数据库)中的关系数据库。这些数据看起来就像都位于单个大型数据库中一样,并且可以通过传统 SQL 查询来访问。对数据所作的更改可以显式定向至适当的数据源。

 

数据库分区

数据库分区是数据库的一部分,它由其自己的数据、索引、配置文件和事务日志组成。数据库分区有时称为节点或数据库节点。分区数据库环境是支持将数据分发到各数据库分区上的数据库安装。

 

 

表空间

表空间是一种存储结构,它包含表、索引、大对象和长型数据。它们用来将数据库中的数据组织成与数据在系统上的存储位置相关的逻辑存储器分组。表空间存储在数据库分区组中。

使用表空间来组织存储器有多个好处:
可恢复性
由于可以通过单一命令来备份或复原表空间中的所有对象,因此,通过将必须一起备份和复原的对象放入同一个表空间,可以使备份和复原操作更为方便。如果分区表和索引分布在多个表空间中,那么可以只备份或复原驻留在给定表空间中的数据分区和索引分区。
更多的表
可以在任何一个表空间中存储的表数是有限的;如果需要的表数超出表空间可以包含的表数,那么只需要为它们创建附加的表空间。
存储器灵活性
对于 DMS 和 SMS 表空间,您可以指定用于存储数据的存储设备。例如,可以选择将当前的运作数据存储在驻留于较快设备上的表空间中,并将历史数据存储在驻留于较慢(成本较低)设备上的表空间中。
能够在缓冲池中隔离数据,以便提高性能或内存利用率
如果您有一组需要频繁查询的对象(例如表或索引),那么可以使用单一 CRETAE 或 ALTER TABLESPACE 语句为这些对象所驻留在的表空间分配缓冲池。可以为临时表空间分配它们自己的缓冲池,以便提高排序或连接之类的活动的性能。在某些情况下,最好为很少访问的数据或者需要非常随机地访问非常大的表的应用程序定义较小的缓冲池;在这种情况下,不需要使数据保存在缓冲池中的时间超出单个查询的运行时间。

表空间可以由一个或多个容器组成。容器可以是目录名、设备名或文件名。单个表空间可以有多个容器。可以在同一个物理存储设备上创建多个容器(来自一个或多个表空间),尽管您创建的各个容器使用不同存储设备时的性能最佳。如果您使用自动存储器表空间,那么容器的创建和管理工作由数据库管理器自动处理。如果未使用自动存储器表空间,那么必须自己定义和管理容器。

 

模式

模式是已命名对象的集合;它提供一种方法来按逻辑分组这些对象。模式也是名称限定词;它提供一种方法来对几个对象使用相同自然名称,并防止对这些对象进行二义性引用。

例如,使用模式名“INTERNAL”和“EXTERNAL”很容易区分两个不同的 SALES 表(INTERNAL.SALES 和 EXTERNAL.SALES)。

模式还允许多个应用程序将数据存储在单个数据库中,而不会遇到名称空间冲突。

模式与 XML 模式不同,不应将它们混淆。XML 模式是一种描述 XML 文档的结构并验证其内容的标准。

模式可以包含表、视图、昵称、触发器、函数、程序包和其他对象。模式本身是一个数据库对象。可使用 CREATE SCHEMA 语句显式创建模式,并且将当前用户或指定的授权标识记录为模式所有者。如果用户具有 IMPLICIT_SCHEMA 权限,那么也可以在创建另一个对象时隐式创建模式。

模式名用作两部分对象名的前半部分。如果在创建对象时使用模式名专门限定了该对象,那么该对象被指定给该模式。如果在创建对象时未指定模式名,那么将使用缺省模式名(在 CURRENT SCHEMA 专用寄存器中指定)。

例如,具有 DBADM 权限的用户为用户 A 创建模式 C:
   CREATE SCHEMA C AUTHORIZATION A
然后,用户 A 可以发出以下语句在模式 C 中创建表 X(前提是该用户 A 具有 CREATETAB 数据库权限):
   CREATE TABLE C.X (COL1 INT)

某些模式名是保留名。例如,内置函数属于 SYSIBM 模式,而预先安装的用户定义的函数属于 SYSFUN 模式。

如果在创建数据库时未使用 RESTRICTIVE 选项,那么所有用户将具有 IMPLICIT_SCHEMA 权限。只要具有此权限,无论用户何时使用不存在的模式名创建对象,都会隐式创建一个模式。隐式创建模式时,将授予 CREATEIN 特权,该特权允许任何用户在此模式中创建其他对象。创建这些对象(如别名、单值类型、函数和触发器)的能力扩展为隐式创建模式。对隐式创建的模式的缺省特权提供了与先前版本的向后兼容性。

<!-- empty -->

<!-- empty -->

<!-- empty -->

如果撤销 PUBLIC 的 IMPLICIT_SCHEMA 权限,那么可以使用 CREATE SCHEMA 语句显式创建模式,或者由授予了 IMPLICIT_SCHEMA 权限的用户(例如,具有 DBADM 权限的用户)隐式创建。虽然撤销 PUBLIC 的 IMPLICIT_SCHEMA 权限会加大对模式名使用的控制,但在现有应用程序尝试创建对象时它会导致权限错误。

模式也具有特权,它们允许模式所有者控制哪些用户有权创建、更改、复制和删除模式中的对象。这提供了一种方法来控制对数据库中的对象子集的处理。模式所有者最初被授予对该模式的所有这些特权,并且他们能够将特权授予其他人。隐式创建的模式由系统拥有,并且所有用户最初被授予在这种模式中创建对象的特权。具有 ACCESSCTRL 或 SECADM 权限的用户可以更改用户对任何模式拥有的特权。因此,可以控制在任何模式(即使是隐式创建的模式)中创建、更改、复制和删除对象的访问权。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值