Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 创建数据库 » 确保数据完整性

 

用于保持数据完整性的工具

要保持数据完整性,您可以使用缺省值、数据约束和保持数据库参照结构的约束。

缺省值

可以为列指派缺省值以确保某类数据条目更可靠。例如:

  • 可以使用当前日期作为某一列的缺省值,来记录任何用户或客户端应用程序操作的事务日期。

  • 使用其它类型的缺省值还可以使列值在输入一行新数据时自动递增,无需执行任何其它特定用户操作。利用此功能,可以确保项目(例如,订购单)具有唯一的连续编号。

有关这些列缺省值和其它列缺省值的详细信息,请参见使用列缺省值

约束

可以对各列或各表中的数据应用多种类型的约束。例如:

  • NOT NULL 约束可以防止列包含 NULL 条目。

  • 指派给某列的 CHECK 约束可以确保该列中的每一项都满足特定的条件。例如,可以确保 Salary 列的条目在指定的范围内,从而避免在输入新值时出现用户错误。

  • 可以针对不同列中的相对值设置 CHECK 约束。例如,您可以确保图书馆数据库中的 [返还日期] 条目晚于 [借阅日期] 条目。

  • 触发器可以实施更复杂的 CHECK 条件。请参见使用过程、触发器和批处理

列约束还可以从域继承。有关这些约束以及其它表约束和列约束的详细信息,请参见使用表和列约束

实体和参照完整性

由主键和外键定义的关系将关系数据库表中的信息相关联。必须将这些关系构建数据库设计。以下完整性规则用于保持数据库的结构:

  • 实体完整性   跟踪主键。确保给定表中的每一行都由一个非 NULL 主键唯一地标识。

  • 参照完整性   跟踪定义表间关系的外键。确保所有外键值与相应主键中的值匹配,或包含 NULL 值(如果定义为允许 NULL 值)。

有关实施参照完整性的详细信息,请参见实施实体完整性和参照完整性。有关设计合适的主键和外键关系的详细信息,请参见在 SQL Anywhere 中创建数据库

使用触发器实施高级完整性规则

也可以使用触发器来保持数据完整性。触发器是指一个存储在数据库中的过程,只要指定的表中的信息发生更改,就会自动执行此过程。触发器是一个强大的机制,数据库管理员和开发人员可以用它来确保数据的可靠性。

有关触发器的详细信息,请参见使用过程、触发器和批处理