Oracle 9i 数据库设计指引全集(2)

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

    CREATE TABLESPACETBS_USERINFO
    DATAFILE
    '/oradata/tbs_userinfo.dbf'
    SIZE 8M
    REUSE
    AUTOEXTEND ON
    NEXT 2M
    MAXSIZE UNLIMITED
    NOLOGGING
    EXTENT MANAGEMENT
    LOCAL
    AUTOALLOCATE
    SEGMENT SPACE MANAGEMENT AUTO;

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

    对于windows平台,oracle提供软连接工具,实现裸设备的使用,计算一条记录的长度
    www_bitscn_com中国.网管联盟



    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_。索引名称应是 前缀+表名+构成的字段名。如果复合索引的构成字段较多,则只包含第一个字段,并添加序号。表名可以去掉前缀。 DL@bitsCN_com网管软件下载

    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_ 。按业务操作集合命名数据包。 bitsCN#com中国网管联盟

    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 语言

    命名应该使用英文单词,避免使用拼音,特别不应该使用拼音简写。命名不允许使用中文或者特殊字符。 中国_网管联盟bitsCN.com

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

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

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

    2.2.2 大小写

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

    2.2.3 单词分隔

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

    2.2.4 保留字

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

    2.2.5 命名长度

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

    2.2.6 字段名称

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

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

    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个标志的一种取值。这往往是增加复杂度,降低性能的地方。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多