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(元数据) | Show,中可以选择显示database中的Domain资料了,显示结果将显示在output窗口中。
一个更复杂的例子:
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: efoxxx@263.net)