下表中介绍了 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 | 否 | 否 | 是 | 否 |
“模式编辑器”可检查提供程序的功能,并仅允许该提供程序所支持的约束。