返回首页

gbase数据、南大通用产品文档:GBase8s数据完整性

更新日期:2024年09月11日

INSERT、
UPDATE 和 DELETE 语句修改现有的数据库中的数据。
每当您修改现有的数据
时,就可影响数据的完整性。例如,可能会将不存在的产品的订单输入到 orders 表内,可

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 183 -
能从 customer 表中删除一个有未完成订单的客户,或者可能在 orders 表中更新订单编号,
但未在 items 表中更新。在每一这些情况下,都会失去存储的数据的完整性。
数据完整性实际由下列部分组成:
实体完整性
表的每一行都有唯一的标识符。
语义完整性
列中的数据正确地反映设计了该列来保存的信息的类型。
引用完整性
强制执行表之间的关系。
设计良好的数据库体现了这些原则,因此当您修改数据时,数据库本身防止您执行可能损
坏数据完整性的任何操作。

在执行备份并复审当前和新的参数值后,
您可以更改 TAPEDEV、
TAPEBLK 和 TAPESIZE
或 LTAPEDEV、LTAPEBLK 和 LTAPESIZE 配置参数的值。
先决条件:更改 ontape 的参数之前:

执行 0 级备份。

通过在运行数据库服务器时执行 onstat -c 来检查配置文件
($GBASEDBTDIR/etc/$ONCONFIG 中指定的文件)。

如果计划将 TAPEDEV 或 LTAPEDEV 更改为不同的磁带设备,请验证该磁带设
备是否可以读取使用 TAPEBLK 或 LTAPEBLK 配置参数指定的块大小。如果不
能,
您将无法恢复该磁带。
(指定块大小时,
ontape 实用程序不会检查该磁带设备。



请确保您以 root 用户或 gbasedbt 的身份登录。
当数据库服务器处于联机状态时可以更改 ontape 参数的值。
要更改 TAPEDEV、TAPEBLK 和 TAPESIZE 或 LTAPEDEV、LTAPEBLK 和
LTAPESIZE 的值:
1. 从命令行,使用文本编辑器来编辑您的 onconfig 文件。
2. 保存该文件。
更改将立即生效。但是,如果您将 TAPEDEV 参数或 LTAPEDEV 参数设置为 /dev/null,
那么必须重新启动数据库服务器。


GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 103 -
使用 LVARCHAR 数据类型来创建用于存储可变长度字符串(其上限 (m) 最多可为
32,739 个字节)的列。
此限制大于 VARCHAR 数据类型,其用于长度不超过 255 个字节的字符串。
LVARCHAR 数据类型作为内置不透明数据类型实现。您可以在相同或不同 GBase 8s
实例的数据库中使用分布式查询,以访问远程表中的 LVARCHAR 列。
缺省情况下,数据库服务器将加引号的字符串解释为 LVARCHAR 类型。它还将
LVARCHAR 用于不透明数据类型的输入和输出强制转型。
LVARCHAR 数据类型以字符串(外部)格式存储不透明数据类型。每个不透明类型都
具有输入支持函数和强制转型,从而将其从 LVARCHAR 转换为数据库服务器可以处理的形
式。每个不透明类型还具有输出支持函数和强制转型,从而将不透明类型从其内部表示法
转换为 LVARCHAR。
要点: 在将 LVARCHAR 声明为数据库表中的列的数据类型(没有大小规范)时,缺
省最大大小是 2 KB(2048 个字节),但可以指定最多 32,739 个字节的显式最大长度。
当在对不透明数据类型的 I/O 操作中使用 LVARCHAR 时,最大大小仅受操作系统限制。
LVARCHAR 数据类型声明中的大小规范可受字符类型声明中的逻辑字符语义一节中描
述的 SQL_LOGICAL_CHAR 功能影响。
有关 LVARCHAR 的更多信息,请参阅 GBase 8s 用户定义的例程与数据类型开发者指
南。