**_ DATABASE STEP BY STEP _ ** **_ (二) _ ** **_ DOMAIN _ **
这个五一节过的太爽了,连写文章的时间都没抽出来,各位喜欢 interbase 和喜欢数据库的朋友们,不好意思,抱歉抱歉,多多包涵――― STOP !!!
OK ,进入正题――
这一部分我将介绍 _ interbase _ 中的 ** DOMAIN ** 的概念,以及它的定义方法。
◆ ** DOMAIN ** 的概念:
( 我这里用 e 文,一来是担心翻译的不好而影响了理解,二来是保持原汁原味可能更容易吸收。如果你不喜欢 e 文,可以跳过去这一段,直接看“ ** DOMAIN ** 的理解”,你也一定能懂,敬请放心 )
** ** When you create a table, you can use a global column definition, called a _ domain _ , to
define a column locally.
When you create a domain in the database, you must specify a unique name for the
domain, and define the various attributes and constraints of the column definition. These
attributes include:
⑴ datatype
⑵ Default values and NULL status
⑶ CHECK constraints
⑷ Collation order
◆ ** DOMAIN ** 的理解:
你一定用过 C 吧?
可以通过 DOMAIN 的用途来理解它:它如同 C 中的 typedef 一样,用来定义一种数据类型,而这种数据类型一般来说不是基本数据类型,只是为了使用使用起来像基本数据类型一样方便。
再多说几句吧,你会更加明白的:
DOMAIN 可以简化用户的输入 ------- 定义相对复杂的 **_ 数据类型 _ ** 。你一旦定义了一些 domain 后,你就可以使用他们了。一般来说,在生成表时,我们需要定义好每一个字段的特征。当然,对于多个表,他们会有一些相同的地方!这就该 domain 发功了。
你再结合下边的例子理解一下。
◆ ** DOMAIN ** 的语法:
语法太复杂且无聊,这里就跳过去了。其实几个例子足矣。
实在想看,就看 help 文档吧。
◆ ** DOMAIN ** 的例子:
** ** 大家打开 interbase Windows ISQL 窗口 ( 见下图 ) ,并连接到自己的数据库上。

在输入窗口中键入下边的语句:
CREATE DOMAIN FIRSTNAME AS VARCHAR(15)
// 即以后就可以用 FIRSTNAME 表示 -VARCHAR(15)
CREATE DOMAIN EMPNO AS SMALLINT
// 即以后就可以用 EMPNO 表示 - SMALLINT
** ** 你可以通过 菜单 --- Metadata ( 元数据 ) | Sho w, 中可以选择显示 database 中的 Domain 资料了,显示结果将显示在o ut put窗口中。 ** **
** ** 一个更复杂的例子:
CREATE DOMAIN DEPTNO AS CHAR(3)
CHECK (VALUE = ’000’
OR (VALUE > ’0’ AND VALUE <= ’999’)
OR VALUE IS NULL)
// ** 此数据类型 ** 可以是:‘ 000 ’或“空”或‘ 0--999 ’ CHECK----- 字段取值限制语句 ** **
** 再附上 ** ** interbase _ ** ** 支持的数据类型 ** _
( 我是从 pdf 文件中剪出来的,大家应该都能看懂,我就不翻译了 ) 。不过,有一点需要注意―― interbase 的 DATE 类型的输入格式为: _ 2000-01-01 _ 。
( 下一次,我将介绍生成自己的 table ,有何建议 Mail: [email protected] )