最简单的数据库域是数据库中列使用的数据类型。此数据类型可以是内置类型(例如整数或字符串)或定义数据约束的自定义类型。
数据输入和域名
当您将数据输入任何类型的在线表单时 - 无论是您的姓名和电子邮件,还是完整的工作申请表 - 数据库都会在幕后存储您的输入。该数据库根据一组条件评估您的条目。例如,如果您输入邮政编码,则数据库需要查找五个数字,或者查找完整的美国邮政编码:五个数字后跟一个连字符,然后是四个数字。如果您在邮政编码字段中输入您的姓名,数据库可能会抱怨。
那是因为数据库正在针对为邮政编码字段定义的域测试您的条目。域基本上是可以包括可选限制的数据类型。
了解数据库域
要理解数据库域,我们考虑一下数据库的其他几个方面:
- 数据库模式定义了一组 属性 ,也称为列或字段。例如,如果您有一个表“员工联系信息”,它可能包含FirstName,LastName,JobTitle,StreetAddress,City,State,ZipCode,PhoneNumber和Email的属性。
- 每个属性都有一个定义允许值的域。这可能包括其数据类型,长度,值和其他详细信息。
例如,属性ZipCode的域可能指定数字数据类型,例如整数,通常称为INT或INTEGER,具体取决于数据库。或者数据库设计者可能会选择将其定义为字符,通常称为CHAR。可以进一步定义属性以要求特定长度,或者是否允许空值或未知值。
当您将定义域的所有元素聚集在一起时,最终会得到自定义数据类型,也称为“用户定义数据类型”或UDT。
关于域完整性
允许的属性值创建 域名完整性 ,确保字段中的所有数据都包含有效值。
域完整性定义如下:
- 数据类型,例如整数,字符或小数。
- 允许的数据长度。
- 范围,定义上下边界。
- 任何约束或对允许值的限制。例如,美国邮政编码字段可能会强制执行完整的ZIP + 4代码或完整的九位数代码。
- NULL支持的类型,或者属性是否可以具有未知或NULL值。
- 默认值(如果有)。
- 日期格式(如果适用)(例如,dd / mm / yy或mm / dd / yyyy)。
创建域
对于使用SQL(结构化查询语言)或SQL风格的数据库,请使用CREATE DOMAIN SQL命令。
例如,这里的执行语句创建一个数据类型为CHAR的ZipCode属性,其中包含五个字符。不允许使用NULL或未知值。数据范围必须介于“00000”和“99999”之间。这将创建数据类型为CHAR的ZipCode属性,其中包含五个字符。不允许使用NULL或未知值。数据范围必须介于“00000”和“99999”之间。
CREATE DOMAIN ZipCode CHAR(5)NOT NULL CHECK(VALUE>'00000'和VALUE
每种类型的数据库都提供了一种定义一组限制和规则的方法,这些限制和规则管理允许的数据,即使它不将其称为域。有关详细信息,请参阅数据库的文档。