为了有助于确保数据的完整性,地理数据库提供了“允许空值”字段属性、域、子类型、关系类和默认值。同样,DBMS 本身也提供了数据完整性功能,其中包括空约束、唯一约束、引用约束、检查约束和触发器。ESRI 建议使用地理数据库功能来代替 DBMS 约束和触发器,从而确保数据完整性。地理数据库功能更为广泛和强大,而且在所有 DBMS 和个人地理数据库格式中的使用方式均相同。
但是,如果使用第三方应用程序来访问地理数据库中的数据,则该应用程序只能访问 DBMS 级的数据,从而避开您在地理数据库级建立的任何完整性功能。要支持此应用程序,可能需要实施 DBMS 约束和触发器。
在非版本化编辑会话中编辑数据时,编辑内容将会受到该数据上所建立的任何 DBMS 约束的影响。每当在 ArcMap 中或者在用 ArcObjects 编写的应用程序中执行单个编辑操作,而该操作与某个约束相冲突时,DBMS 都会发出一条消息,通知您该错误。同样,在非版本化编辑会话中进行编辑也会激活触发器 - 如果编辑操作会更新定义了触发器的列,则触发器将会激活。