呓语的博客

不管前面的路有多艰辛多长,只要怀着一颗执着的心。成功就离你不远了!
posts - 43, comments - 2, trackbacks - 0, articles - 1

第2章 组织数据

Posted on 2006-01-10 20:20 呓语的博客 阅读(190) 评论(0)  编辑  收藏 所属分类: 数据库

表是由定义的列数和可变的行数组成的逻辑结构。是一组相同数据类型的值。在表中不必对行进行排序。要对结果集进行排序,必须在从表中选择数据的 SQL 语句中显式指定排序。在每个列和行的相交处是一个称为的特定数据项。在图 1中,'Sanders' 是表中值的一个示例。

基表是用 CREATE TABLE 语句创建的,用于保存用户数据。结果表是一组行,数据库管理程序从一个或多个基表选择或生成这组行以满足查询要求。

图 1说明了表的一部分。列和行已标记。

图 1. 表的可视化

视图

视图提供了在一个或多个表中查看数据的替代方法。它是表上的一个动态窗口。

视图允许多个用户查看同一数据的不同表示。例如,几个用户可以同时存取一个关于雇员的数据表。一个用户可以查看关于某些雇员而非其他雇员的数据,而另一个用户可以查看关于所有雇员的某些数据而非他们的薪水。这些用户的每一个都在操作一个从该实表派生的视图。每个视图都显示为一个表并有自己的名称。

使用视图的优点是您可以使用它们来控制对敏感数据的存取。所以,不同的人可以存取数据的不同列或行。

模式

模式是命名对象的集合,并提供了数据库中对象的逻辑分类。模式可以包含数据库对象,如表和视图等。

模式本身也可以认为是数据库中的一个对象。当创建表或视图时隐式创建了模式。或者,可以使用 CREATE SCHEMA 语句显式创建它。

创建对象时,可以用特定模式的名称来限定对象的名称。命名对象有两部分名称,其中第一部分名称是指定给对象的模式名。如果未指定模式名,则给对象指定其名称是用户执行语句的权限 ID 的缺省模式。对于交互式 SQL,该方法用于执行本书中的示例,权限 ID 为用 CONNECT 语句指定的用户 ID。例如,如果表名为 STAFF,CONNECT 语句中指定的用户 ID 为 USERID,则限定名为 USERID.STAFF。参见连接数据库以获取关于 CONNECT 语句的详情。

某些模式名是系统保留的。例如,当预安装的用户定义函数 属于 SYSFUN 模式时,内部函数处于 SYSIBM 模式。参考 SQL Reference 以获取关于 CREATE SCHEMA 语句的详情。

数据类型

数据类型定义常数、列、宿主变量、函数、表达式以及专用寄存器可接受的值。本节描述示例中引用的数据类型。有关其他数据类型的完整列表和说明,参考 SQL Reference

字符串

字符串为一个字节序列。字符串的长度为序列中的字节数。如果长度为零,则该字符串的值称为空字符串
定长字符串

CHAR(x)是定长字符串。长度属性 x 必须在 1 和 254 之间,并包括 1 和 254。

变长字符串

变长字符串有三种类型:VARCHAR、LONG VARCHAR 以及 CLOB。 VARCHAR(x)类型是变长字符串,因此,可以将长度为 9 的字符串插入 VARCHAR(15)中,而该字符串的长度将仍然为 9。参见大对象 (LOB)以获取关于 CLOB 的详情。

图形字符串

图形字符串是一个双字节字符数据序列。

定长图形字符串

GRAPHIC(x)是定长字符串。长度属性 x 必须在 1 和 127 之间,并包括 1 和 127。

变长图形字符串

变长图形字符串有三种类型:VARGRAPHIC、LONG VARGRAPHIC 以及 DBCLOB。参见大对象 (LOB)以获取关于 DBCLOB 的详情。

二进制字符串

二进制字符串是一个字节序列。它用于保存非传统数据,如图象等。“二进制大对象”(BLOB)是二进制字符串。参见大对象 (LOB)以了解更多信息。

数字

所有数字都有符号和精度。精度是除符号位以外的位数或数字数。

SMALLINT
SMALLINT(小型整数)是精度为 5 位的两字节整数。

INTEGER
INTEGER(大型整数)是精度为 10 位的四字节整数。

REAL
REAL(单精度浮点数)是实数的 32 位近似值。

DOUBLE
DOUBLE(双精度浮点数)是实数的 64 位近似值。 DOUBLE 也称 FLOAT。

DECIMAL(p,s)

DECIMAL 是一个十进制数。小数点的位置由数字的 精度(p)小数位(s) 确定。精度是数字的总位数,必须小于 32。小数位是小数部分数字的位数且总是小于或等于精度值。如果未指定精度和小数位,则十进制值的缺省精度为 5,缺省小数位为 0。

日期时间值

日期时间值是日期、时间以及时间戳记的表示。日期时间值可以用于某些算术运算和字符串运算并且与某些字符串是相容的,然而它们既非字符串也非数字。 (1)

日期
日期值分为三个部分(年、月以及日)。

时间
时间是用 24 小时制式来指定一天内的时间的值,分为三个部分(小时、分钟以及秒)。

时间戳记
时间戳记为指定日期和时间的值,分为七个部分(年、月、日、小时、分钟、秒以及微秒)。

值是一个区别于所有非空值的特殊值。它意味着行中的那一列无任何其他值。所有数据类型都存在空值。

下表突出显示示例中所使用的数据类型的特性。所有数字数据类型都定义在某一确定范围内。该数字数据类型范围也包括在此表中。可以使用此表作为正确数据类型用法的快速参考。
数据类型 类型 特性 示例或范围
CHAR(15)

定长字符串

最大长度为 254

'Sunny day      '

VARCHAR(15)

变长字符

最大长度为 4000

'Sunny day'

SMALLINT

数字

长度为 2 字节
精度为 5 位

范围为-32768 至 32767

INTEGER

数字

长度为 4 字节
精度为 10 位

范围为-2147483648 至 2147483647

REAL

数字

单精度
浮点
32 位近似值

范围为 
-3.402E+38 至-1.175E-37
或 1.175E-37 至-3.402E+38
或零

DOUBLE

数字

双精度
浮点
64 位近似值
范围为
-1.79769E+308 至-2.225E-307
或 2.225E-307 至 1.79769E+308
或零

DECIMAL(5,2)

数字
精度为 5
小数位为 2

范围为 
-10**31+1 至 10**31-1
DATE

日期时间

三部分值

1991-10-27

TIME

日期时间

三部分值

13.30.05

TIMESTAMP

日期时间

七部分值

1991-10-27-13.30.05.000000


只有注册用户登录后才能发表评论。


网站导航: