定义数据库域

数据域在特定数据库字段上强制执行数据条目标准

年轻的数据库管理员在办公桌上工作


英雄图片/盖蒂图像

一个数据库领域在最简单的情况下,数据类型是数据库中的列使用的数据类型。此数据类型可以是内置类型(例如整数或字符串)或定义数据约束的自定义类型。

每种类型的数据库都提供了一种方法来定义一组控制允许数据的限制和规则,即使它不调用域。有关详细信息,请参阅数据库的文档。

数据条目和域名

当您将数据输入任何类型的在线形式 - 无论是您的姓名和电子邮件,还是完整的作业应用程序 - 数据库存储您的幕后的输入。该数据库根据一组标准评估您的条目。例如,如果输入邮政编码,则数据库预计将找到五个数字,或者为完整的U.1.邮政编码:五个数字后跟连字符,然后是四个数字。如果在邮政编码字段中输入您的姓名,则数据库可能会抱怨。

这是因为数据库正在测试您的条目针对为邮政编码字段定义的域。域基本上是一种数据类型,可以包括可选限制。

了解数据库域

为了理解数据库领域,让我们考虑数据库的其他几个方面:

  • 数据库模式定义了一组属性,也称为列或字段。一个表称为员工联系信息t可以包含FirstName, LastName, JobTitle, StreetAddress, City, State, ZipCode, PhoneNumber和Email的属性。
  • 每个属性都包含一个定义允许值的域,可能包括其数据类型、长度、值和其他详细信息。

例如,属性Zipcode的域可以指定数字数据类型,例如整数,通常称为int或整数,具体取决于数据库。或者数据库设计器可能会选择定义它作为一个字符,通常称为char。可以进一步定义属性以需要特定长度,或者是否允许空或未知值。

收集定义域的所有元素时,您最终会使用自定义数据类型,也称为“用户定义的数据类型”或UDT。

关于域完整性

建立一个属性的允许值域完整性,这确保了字段中的所有数据包含有效值。

域完整性的定义如下:

  • 数据类型 - 例如整数,字符或十进制。
  • 数据的允许长度。
  • 范围,定义了上和下边界。
  • 任何约束或限制允许值的限制。例如,U.S. Zip代码字段可能强制执行完整的ZIP + 4代码或完整的九位数代码。
  • NULL支持的类型—或者一个属性是否可以有一个未知值,或者NULL值。
  • 如果有,请使用默认值。
  • 日期格式画家,如果适用(例如,dd/mm/yy或mm/dd/yyyy)。

创建一个域

对于使用结构化查询语言或SQL风格的数据库,请使用CREATE DOMAIN SQL命令。

例如,execution语句在这里创建数据类型Char的Zipcode属性,其中包含五个字符。不允许为空或未知值。数据的范围必须落在“00000”和“99999之间”之间。这会创建具有五个字符的数据类型Char的Zipcode属性。不允许为空或未知值。数据的范围必须落在“00000”和“99999之间”之间。

CREATE DOMAIN ZipCode CHAR(5) NOT NULL CHECK (VALUE >= '00000' AND VALUE <= '99999')

这些数据库约束将在违反约束时将错误推送到作为数据库前端的应用程序,因此在程序认为它正确添加信息之前,将错误捕获子例程编程到程序中以进行Sanity-Check。数据库。

这个页面有用吗?