|
域是某一属性所有可能取值的集合。域中往往还包含一组验证标准,使得域可以被多个属性使用。例如,“日期”域中包括所有的合法日期,它可以被应用于以下这些属性:雇员入职日期、订单输入日期、索赔提交日期、课程开始日期。 如果属性与域相关联,那么该属性的取值绝对不允许超出该域,域中的值可以由一组特定的数据列表指定,也允许由一组规则指定。例如,“员工性别”可以由取值为“男”和“女”的域限定。 域包括三种基本类型: 1.格式域:将数据指定为数据库中的标准类型,如整型、字符型、日期等都是格式域。 2.列表域:类似于一个下拉列表,它由一个可选的有限值的集合组成,列表域是格式域的精简,例如,“订单状态代码”的格式域可以被置为Character(10),在此基础上该域可以由一个(Open、Shipped、Closed、Returned)列表域进一步精简。 3.范围域的设置要求取值介于最小值与最大值之间,例如,“订单交付日期”必须为从今天到未来3个月中的某天。与列表域类似,范围域也是格式域的精简。 域是非常有用的,主要有以下几个原因: 1.插入数据前,通过域的检查来提高数据质量。这是域存在的主要原因,通过限定属性的可能取值来降低脏数据进入数据库的可能性。例如,每一个表示金额的属性被设置为“数量域”,该域要求数字的长度上限为15且包括小数点后的两位,显然这是表示货币数额很好的一种方法,“销售总额”若被设置为“数量域”,则不允许如R2D2这样的值被添加。 2.数据模型的交流性更强。当我们在数据模型上设置了域,就意味着数据模型的一个属性必须具备一个特定域的特征,这样数据模型就变成更容易被理解的交流工具。例如,我们可以让“销售总额”“净销售额”“标价销售额”3个属性都可以共享一个“数量域”,进而共享域的特征,他们的取值都被限定为“货币”。 3.使得新建模型、维护现有模型变得更有效率。当一位模型构建师开始一项新工程时,可以使用一组标准域来节省时间,而无需重新创建。例如,所有与数量有关的属性,都可以同时与数量域关联,这样可以极大节省分析、设计时间。 【出处】数据建模.
|