WEB开发网
开发学院数据库Oracle Oracle9i 数据库设计指引全集 阅读

Oracle9i 数据库设计指引全集

 2005-08-21 14:48:08 来源:WEB开发网   
核心提示: 表空间数据文件采用自动扩展的方式,扩展容量快大小按2的整数倍(1M、2M、4M、8M、16M、32M、64M)进行扩展,Oracle9i 数据库设计指引全集(2),创建表空间时尽量采用nologing选项,表空间的最大限制一般采用unlimited,如11101表示5个标志的一种取值,这往往是增加复杂度,除非确切知道

表空间数据文件采用自动扩展的方式,扩展容量快大小按2的整数倍(1M、2M、4M、8M、16M、32M、64M)进行扩展,创建表空间时尽量采用nologing选项。表空间的最大限制一般采用unlimited,除非确切知道表空间数据文件的最大使用范围。(一般windows 32位系统的文件最大2G,64位的unix系统系统文件最大128G,但也要注意文件格式设定的文件大小),建议最大为2G。表空间采用local管理方式,例如:

CREATE TABLESPACE  TBS_USERINFODATAFILE    '/oradata/tbs_userinfo.dbf'    SIZE 8MREUSE    AUTOEXTEND ON    NEXT 2M    MAXSIZE UNLIMITEDNOLOGGINGEXTENT MANAGEMENT    LOCAL AUTOALLOCATESEGMENT SPACE MANAGEMENT AUTO;



1.4 裸设备的使用

一个scsi设备可以 14个分区,unix操作系统256个分区,性能比文件系统方式高15%左右,空间大于要小于(实际分区大小减两个Oracle(大型网站数据库平台)的数据块),比如100M,大于为100000K,推荐在unix使用软连接(ln)方式把裸设备形成文件,用加入表空间时加resue 选项,当然也可只接把设备加入表空间,移动裸设备使用dd命令

对于windows平台,Oracle(大型网站数据库平台)提供软连接工具,实现裸设备的使用,计算一条记录的长度

2 数据库逻辑设计原则

2.1 命名规范

2.1.1 表属性规范

2.1.1.1 表名

前缀为Tbl_ 。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:tbl_pstn_detail。表名称不能用双引号包含。

2.1.1.2 表分区名

前缀为p 。分区名必须有特定含义的单词或字串。

例如 :tbl_pstn_detail 的分区p2004100101表示该分区存储 2004100101时段的数据。

2.1.1.3 字段名

字段名称必须用字母开头,采用有特征含义的单词或缩写,不能用双引号包含。

2.1.1.4 主键名

前缀为PK_。主键名称应是 前缀+表名+构成的字段名。如果复合主键的构成字段较多,则只包含第一个字段。表名可以去掉前缀。

2.1.1.5 外键名

前缀为FK_。外键名称应是 前缀+ 外键表名 + 主键表名 + 外键表构成的字段名。表名可以去掉前缀。

2.1.2 索引

4.1.2.1 普通索引

前缀为IDX_。索引名称应是 前缀+表名+构成的字段名。如果复合索引的构成字段较多,则只包含第一个字段,并添加序号。表名可以去掉前缀。

2.1.2.2 主键索引

前缀为IDX_PK_。索引名称应是 前缀+表名+构成的主键字段名,在创建表时候用using index指定主键索引属性。

2.1.2.3 唯一所以

前缀为IDX_UK_。索引名称应是 前缀+表名+构成的字段名。

2.1.2.4 外键索引

前缀为IDX_FK_。索引名称应是 前缀+表名+构成的外键字段名。

2.1.2.5 函数索引

前缀为IDX_func_。索引名称应是 前缀+表名+构成的特征表达字符。

2.1.2.6 蔟索引

前缀为IDX_clu_。索引名称应是 前缀+表名+构成的簇字段。

2.1.3 视图

前缀为V_。按业务操作命名视图。

2.1.4 实体化视图

前缀为MV_。按业务操作命名实体化视图。

2.1.5 存储过程

前缀为Proc_ 。按业务操作命名存储过程

2.1.6 触发器

前缀为Trig_ 。触发器名应是 前缀 + 表名 + 触发器名。

2.1.7 函数

前缀为Func_ 。按业务操作命名函数

2.1.8 数据包

前缀为Pkg_ 。按业务操作集合命名数据包。

2.1.9 序列

前缀为Seq_ 。按业务属性命名。

2.1.10 表空间

2.1.10.1 公用表空间

前缀为Tbs_ 。 根据存储的特性命名,例如: tbs_parameter 。

2.1.10.2 专用表空间

Tbs_<表名称>_nn。该表空间专门存储指定的某一个表,或某一表的若干个分区的数据

2.1.11 数据文件

<表空间名>nn.dbf 。nn =1,2,3,4,…等。

2.1.12 普通变量

前缀为Var_ 。 存放字符、数字、日期型变量。

2.1.13 游标变量

前缀为Cur_ 。存放游标记录集。

2.1.14 记录型变量

前缀为Rec_ 。 存放记录型数据。

2.1.15 表类型变量

前缀为Tab_ 。 存放表类型数据。

2.1.16 数据库链

前缀为dbl_ 。 表示分布式数据库外部链接关系。

2.2 命名

2.2.1 语言

命名应该使用英文单词,避免使用拼音,特别不应该使用拼音简写。命名不允许使用中文或者特殊字符。

英文单词使用用对象本身意义相对或相近的单词。选择最简单或最通用的单词。不能使用毫不相干的单词来命名

当一个单词不能表达对象含义时,用词组组合,如果组合太长时,采用用简或缩写,缩写要基本能表达原单词的意义。

当出现对象名重名时,是不同类型对象时,加类型前缀或后缀以示区别。

2.2.2 大小写

名称一律大写,以方便不同数据库移植,以及避免程序调用问题。

2.2.3 单词分隔

命名的各单词之间可以使用下划线进行分隔。

2.2.4 保留字

命名不允许使用SQL保留字。

2.2.5 命名长度

表名、字段名、视图名长度应限制在20个字符内(含前缀)。

2.2.6 字段名称

同一个字段名在一个数据库中只能代表一个意思。比如telephone在一个表中代表“电话号码”的意思,在另外一个表中就不能代表“手机号码”的意思。

不同的表用于相同内容的字段应该采用同样的名称,字段类型定义。

2.3 数据类型

2.3.1 字符型

固定长度的字串类型采用char,长度不固定的字串类型采用varchar。避免在长度不固定的情况下采用char类型。如果在数据迁移等出现以上情况,则必须使用trim()函数截去字串后的空格。

2.3.2 数字型

数字型字段尽量采用number类型。

2.3.3 日期和时间

2.3.3.1 系统时间

由数据库产生的系统时间首选数据库的日期型,如DATE类型。

2.3.3.2 外部时间

由数据导入或外部应用程序产生的日期时间类型采用varchar类型,数据格式采用:YYYYMMDDHH24MISS。

2.3.3.3 大字段

如无特别需要,避免使用大字段(blob,clob,long,text,image等)。

2.3.3.4 唯一键

对于数字型唯一键值,尽可能用系列sequence产生。

2.4 设计

2.4.1 范式

如无性能上的必须原因,应该使用关系数据库理论,达到较高的范式,避免数据冗余,但是如果在数据量上与性能上无特别要求,考虑到实现的方便性可以有适当的数据冗余,但基本上要达到3NF.如非确实必要,避免一个字段中存储多个标志的做法。如11101表示5个标志的一种取值。这往往是增加复杂度,降低性能的地方。

上一页  1 2 3 4  下一页

Tags:Oraclei 数据库 设计

编辑录入:coldstar [复制链接] [打 印]
赞助商链接