要保持数据完整性,您可以使用缺省值、数据约束和保持数据库参照结构的约束。
可以为列指派缺省值以确保某类数据条目更可靠。例如:
可以使用当前日期作为某一列的缺省值,来记录任何用户或客户端应用程序操作的事务日期。
使用其它类型的缺省值还可以使列值在输入一行新数据时自动递增,无需执行任何其它特定用户操作。利用此功能,可以确保项目(例如,订购单)具有唯一的连续编号。
有关这些列缺省值和其它列缺省值的详细信息,请参见使用列缺省值。
可以对各列或各表中的数据应用多种类型的约束。例如:
NOT NULL 约束可以防止列包含 NULL 条目。
指派给某列的 CHECK 约束可以确保该列中的每一项都满足特定的条件。例如,可以确保 Salary 列的条目在指定的范围内,从而避免在输入新值时出现用户错误。
可以针对不同列中的相对值设置 CHECK 约束。例如,您可以确保图书馆数据库中的 [返还日期] 条目晚于 [借阅日期] 条目。
触发器可以实施更复杂的 CHECK 条件。请参见使用过程、触发器和批处理。
列约束还可以从域继承。有关这些约束以及其它表约束和列约束的详细信息,请参见使用表和列约束。
由主键和外键定义的关系将关系数据库表中的信息相关联。必须将这些关系构建数据库设计。以下完整性规则用于保持数据库的结构:
实体完整性 跟踪主键。确保给定表中的每一行都由一个非 NULL 主键唯一地标识。
参照完整性 跟踪定义表间关系的外键。确保所有外键值与相应主键中的值匹配,或包含 NULL 值(如果定义为允许 NULL 值)。
有关实施参照完整性的详细信息,请参见实施实体完整性和参照完整性。有关设计合适的主键和外键关系的详细信息,请参见在 SQL Anywhere 中创建数据库。
也可以使用触发器来保持数据完整性。触发器是指一个存储在数据库中的过程,只要指定的表中的信息发生更改,就会自动执行此过程。触发器是一个强大的机制,数据库管理员和开发人员可以用它来确保数据的可靠性。
有关触发器的详细信息,请参见使用过程、触发器和批处理。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |