用户自定义数据类型是一个确保数据库中域与数据紧密结合的好办法数据的类型可能在整个数据库中都是一致的每个数据的适用范围和它的数据类型是相关联的sp_bindrule过程是一个向后兼容过程该过程为数据类型确定了一个适用范围CREATE RULE命令也是一个向后兼容命令为域值的遵守产生了一个规则该规则可以被限制为用户自定义的数据类型CREATE DEFAULT也是一个向后兼容命令而且也可以被限制为用户自定义的数据类型
这些向后兼容命令都是由SYBASE演化而来的SQL Server的未来版本是否支持它们现在还不能确定微软推荐用户使用CHECK CONSTRAINT命令然而CHECK CONSTRAINTS不支持模块化编码你必须为所有需要CHECK CONSTRAINT的表格的每一列都创建一个CHECK CONSTRAINT另一方面创建规则和缺省值并把它们限制在一个用户自定义数据类型这个过程只需进行一次用户自定义数据类型有很多种比如性别和标签的布尔值性别的域值可以是雄性雌性以及未知布尔值的域值可以是数值也可以是真假值
下面的例子说明了向后兼容方法的模块性和关联域的未来方法