关于约束

下表中介绍了 AutoCAD Map 3D 工具集所支持的约束的类型。

约束的类型 说明 数据表操作
范围 有效值必须在指定的范围之内。用户可以包含或排除最小值或最大值。例如,可以指定 1 到 10(包括 1 和 10),则 1 和 10 均有效。 指定范围外的任何值都将生成错误,用户必须输入其他值。
列表 用户提供了对特性有效的列表条目。 单击下箭头显示列表,然后选择其中一项作为特性的值。
不为空 特性的值不能为空。 如果关闭数据表时将特性值保留为空,则系统将显示错误消息,提示用户输入一个值。
唯一 特性的值在要素类中必须是唯一的。如果将特性定义为自动生成的字段,或者如果在数据存储中将其定义为主键字段,则将具有此约束。 如果输入的值已被此要素类中的任何其他要素使用,则系统将显示错误消息,提示用户更改此值。直到用户检入要素之后才能看到此错误消息。

如果表中有两个必须同时唯一的列(例如“姓氏”和“名字”),则系统将显示一条关于成对的唯一性约束中调用的每个列的消息。

“数据表”中编辑特性时,用户只能输入约束允许的值。例如,对于道路要素,用户可以指定的“Number_Of_Lanes”特性的值在 1 到 8 范围内。如果输入 9 个车道,则用户将收到一条错误消息。

输入无效值后,用户将立即看到一条错误消息。检入要素时,根据数据提供程序的功能,您所做的编辑将再次与数据存储进行验证,而系统可能会进一步通知用户错误。

并非每个数据提供程序均支持所有的约束。下表显示了提供程序所支持的约束。

提供程序 范围 列表 不为空 唯一
Oracle
PostgreSQL/PostGIS
SQL Server
SQL Server Spatial
SQLite
MySQL
SDF
SHP

“模式编辑器”可检查提供程序的功能,并仅允许该提供程序所支持的约束。