• 简介
    • 关于本出版物
      • 用户类型
      • 软件依赖性
      • 关于语言环境的假设
      • 演示数据库
    • 示例代码约定
    • 其他文档
    • 符合行业标准
  • 数据库设计和实现基础
    • 规划数据库
      • 为数据库选择数据模型
      • 使用符合 ANSI 标准的数据库
        • 符合 ANSI 标准的数据库与不符合 ANSI 标准的数据库之间的差别
          • 事务
          • 事务日志记录
          • 所有者命名
          • 对对象的特权
          • 缺省隔离级别
          • 字符数据类型
          • DECIMAL 数据类型
          • 转义字符
          • 游标行为
          • SQL 通信区的 SQLCODE 字段
          • 同义词行为
        • 确定现有数据库是否符合 ANSI
      • 对数据库使用定制语言环境 (GLS)
    • 构建关系数据模型
      • 构建数据模型
      • 实体关系数据模型概述
      • 标识和定义主体数据对象
        • 发现实体
          • 选择可能的实体
          • 实体列表
          • 电话号码簿示例
            • 通用的重要实体
            • 基本实体
            • 一元实体
          • 图实体
        • 定义关系
          • 连接
          • 存在依赖性
          • 基数
          • 发现关系
          • 图关系
        • 标识属性
          • 选择实体的属性
          • 列表属性
          • 关于实体出现形式
      • 图数据对象
        • 如何读 E-R 图
        • 电话号码簿示例
          • 完成图之后
      • 将 E-R 数据对象转换为关系构造
        • 定义表、行和列
          • 对列进行约束
          • 域特征
        • 确定表的键
          • 主键
            • 组合键
            • 系统指定键
          • 外键(连接列)
          • 为电话号码簿图添加键
      • 解析关系
        • 解析 m:n 关系
        • 解析其他特殊关系
      • 规范化数据模型
        • 第一范式
        • 第二范式
        • 第三范式
        • 规范化规则的摘要
    • 选择数据类型
      • 定义域
      • 数据类型
        • 选择数据类型
        • 数字类型
          • 计数器和代码:BIGINT、INT8、INTEGER 和 SMALLINT
          • 自动序列:BIGSERIAL、SERIAL 和 SERIAL8
            • 变更下一个 BIGSERIAL、SERIAL 或 SERIAL8 数
          • 近似数:FLOAT 和 SMALLFLOAT
          • 可调整精度浮点:DECIMAL(p)
          • 固定精度数:DECIMAL 和 MONEY
            • 选择货币格式
        • 时间值数据类型
          • 日历日期:DATE
            • 选择日期格式 (GLS)
          • 精确时间点:DATETIME
            • 使用 INTERVAL 的持续时间
            • 强制 DATETIME 或 INTERVAL 值的格式
          • 选择 DATETIME 格式 (GLS)
        • BOOLEAN 数据类型
        • 字符数据类型 (GLS)
          • 字符数据:CHAR(n) 和 NCHAR(n)
          • 可变长度字符串:CHARACTER VARYING(m,r)、VARCHAR(m,r)、NVARCHAR(m,r) 和 LVARCHAR(m)
          • 可变长度执行时间
          • 大字符对象:TEXT
          • 二进制对象:BYTE
          • 使用 TEXT 和 BYTE 数据类型
          • 更改数据类型
        • 空值
      • 缺省值
      • 检查约束
      • 引用约束
    • 实现关系数据模型
      • 创建数据库
        • 使用 CREATE DATABASE
          • 避免名称冲突
          • 选择数据库空间
          • 选择日志记录类型
        • 使用 CREATE TABLE
          • 创建分段表
          • 删除或修改表
        • 使用 CREATE INDEX
          • 组合索引
          • 索引的双向遍历
        • 使用表名的同义词
        • 使用同义词链
        • 使用命令脚本
          • 捕获模式
          • 执行文件
          • 示例
      • 填充数据库
        • 从其他 GBase 8s 数据库移动数据
        • 将源数据装入表
        • 执行大批量装入操作
  • 管理数据库
    • 表分段存储策略
      • 什么是分段存储?
        • 为何使用分段存储?
        • 分段存储是谁的职责?
        • 分段存储和日志记录
      • 表分段存储的分布方案
        • 基于表达式的分布方案
          • 范围规则
          • 仲裁规则
          • 使用 MOD 函数
          • 插入和更新行
        • 循环分布方案
      • 创建分段表
        • 创建新分段表
        • 从非分段表创建分段表
          • 多个非分段表
          • 使用单个非分段表
        • 分段表中的 rowid
        • 分段智能大对象
      • 修改分段存储策略
        • 重新初始化分段存储策略
        • 修改分段存储策略
          • ADD 子句
          • DROP 子句
          • MODIFY 子句
      • 授予和撤销对分段的特权
    • 授予和限制对数据库的访问权
      • 使用 SQL 来限制对数据的访问
      • 控制对数据库的访问
      • 授予特权
        • 数据库级别特权
          • Connect 特权
            • 用户和 PUBLIC
          • Resource 特权
          • 数据库管理员特权
        • 所有权权限
        • 表级别特权
          • 访问特权
            • 系统目录表中的特权
          • Index、Alter 和 References 特权
          • 类型表的 Under 特权
          • 对表分段的特权
        • 列级别特权
        • 类型级别特权
          • 对用户定义的类型的 Usage 特权
          • 对命名行类型的 Under 特权
        • 例程级别特权
        • 语言级别特权
          • SPL 例程
          • 外部例程
        • 自动维护特权
          • 通过命令脚本实现自动化
          • 角色
            • 创建角色
            • 处理用户特权以及将特权授予其他角色
            • 启用缺省角色和非缺省角色
            • 确认角色中的成员资格和删除角色
        • 在运行时确定当前角色
      • 使用 SPL 例程来控制对数据的访问
        • 限制数据读取
        • 限制数据更改
        • 监视数据更改
        • 限制对象创建
      • 视图
        • 创建视图
          • 类型视图
          • 视图中的重复行
        • 对视图的限制
          • 当视图基础更改时
        • 使用视图进行修改
          • 使用视图进行删除
          • 更新视图
          • 插入到视图中
          • 使用 WITH CHECK OPTION 关键字
          • 在视图定义更改时重新执行预编译语句
      • 特权和视图
        • 创建视图时的特权
        • 使用视图时的特权
    • 分布式查询
      • 分布式查询概述
        • 在单个 GBase 8s 实例的多个数据库中的分布式查询
        • 在两个或两个以上 GBase 8s 实例的多个数据库中的分布式查询
        • 分布式查询中的协调者和参与者
      • 配置数据库服务器以使用分布式查询
      • 分布式查询的语法
        • 访问远程服务器和数据库
          • 数据库名称段
          • 数据库对象名称段
        • 访问远程对象的有效语句
        • 访问远程表
          • 表许可权
          • 限定表引用
        • 其他远程操作
          • 打开远程数据库
          • 创建远程数据库
          • 创建远程表的同义词
      • 监视分布式查询
      • 服务器环境和分布式查询
      • 分布式查询的日志记录类型限制
      • 事务处理
        • 隔离级别
        • DEADLOCK_TIMEOUT 和 SET LOCK MODE
        • 两阶段落实和恢复
  • 对象关系数据库
    • 在 GBase 8s 中创建和使用扩展数据类型
      • GBase 8s 数据类型
        • 基本或原子数据类型
        • 预定义数据类型
        • 其他预定义数据类型
        • 扩展数据类型
          • 复杂数据类型
          • 用户定义的数据类型
          • 单值数据类型
          • 不透明数据类型
          • DataBlade 数据类型
      • 智能大对象
        • BLOB 数据类型
        • CLOB 数据类型
        • 使用智能大对象
        • 复制智能大对象
      • 复杂数据类型
        • 集合数据类型
          • 集合中的空值
          • SET 集合类型
          • MULTISET 集合类型
          • LIST 集合类型
          • 嵌套集合类型
          • 将集合类型添加至现有的表
          • 对集合的限制
        • 命名行类型
          • 何时使用命名行类型
          • 选择命名行类型的名称
          • 对命名行类型的限制
            • 对数据类型的限制
            • 对约束的限制
            • 对索引的限制
            • 对串行数据类型的限制
          • 使用命名行类型创建类型表
          • 更改表的类型
            • 将无类型表转换为类型表
            • 将类型表转换为无类型表
          • 使用命名行类型创建列
          • 在其他行类型中使用命名行类型
          • 删除命名行类型
        • 未命名行类型
    • 类型和表继承
      • 什么是继承?
      • 类型继承
        • 定义类型层次结构
        • 类型层次结构中的类型例程重载
        • 继承和类型可替代性
        • 从类型层次结构中删除命名行类型
      • 表继承
        • 类型层次结构与表层次结构之间的关系
        • 定义表层次结构
        • 表层次结构中的表行为继承
        • 在表层次结构中修改表行为
          • 表层次结构中对表的约束
          • 在表层次结构中为表添加索引
          • 表层次结构中的表触发器
        • 表层次结构中的 SERIAL 类型
        • 将新表添加到表层次结构
        • 在表层次结构中删除表
        • 在表层次结构中变更表的结构
        • 在表层次结构中查询表
        • 在表层次结构上创建表视图
    • 创建和使用用户定义的强制转型
      • 什么是强制转型?
        • 用户定义的强制转型
        • 调用强制转型
        • 对用户定义的强制转型的限制
      • 强制转型行类型
        • 在命名与未命名行类型之间强制转型
        • 在未命名行类型之间强制转型
        • 在命名行类型之间强制转型
        • 对字段进行显式强制转型
          • 对未命名行类型的字段进行显式强制转型
          • 对命名行类型的字段进行显式强制转型
        • 对行类型的个别字段进行强制转型
      • 强制转型集合数据类型
        • 对集合类型转换的限制
        • 具有不同元素类型的集合
          • 在元素类型之间进行隐式强制转型
          • 在元素类型之间进行显式强制转型
        • 将关系数据转换为 MULTISET 集合
      • 强制转型单值数据类型
        • 对单值类型进行显式强制转型
        • 在单值类型与其源类型之间强制转型
        • 添加和删除单值类型的强制转型
      • 强制转型为智能大对象
      • 为用户定义的强制转型创建强制转型函数
        • 在命名行类型之间强制转型的示例
        • 单值数据类型之间强制转型的示例
        • 多级别强制转型