Oracle数据库- 03命名规范、数据类型

1、命名规范

表名和列名:

  • 必须以字母开头
  • 必须在 1–30 个字符之间
  • 必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
  • 必须不能和用户定义的其他对象重名
  • 必须不能是Oracle 的保留字(所有的保留字:select * from v$reserved_words order by keyword asc;)
  • Oracle默认存储是都存为大写

SQL:

为了构建易读易编的有效语句,其规则和准则如下:

  • SQL语句是不区分大小写的
  • SQL语句可以是一行,也可以是多行
  • 关键字不能在两行之间一分为二或缩写
  • 子句通常放在单独的行中,这样可以增强可读性并且易于编辑
  • 合理使用缩进 ( 为了增强可读性)

2、数据类型

字段类型

中文说明

限制条件

其它

CHAR

固定长度字符串

最大长度2000 bytes

VARCHAR2 

可变长度的字符串

最大长度4000 bytes

varchar2中文占2字节,英文占1字节。

NVARCHAR2

根据字符集而定的可变长度字符串

 最大长度4000 bytes

Nvarchar2中英文占一样的字节,具体占多少字节因字符集而定。

DATE

日期(日-月-年),时间可有可无

YYYY-MM-DD(HH24:MI:SS)

TIMESTAMP(6)

时间戳 (年月日时分秒毫秒)

YYYY-MM-DD HH24:MI:SS.ff

与DATE数据类型相比,TIMESTAMP类型可以精确到微秒,微秒的精确范围为0-9,默认为6

LONG  

超长字符串

最大长度2G

足够存储大部分著作

RAW

固定长度的二进制数据

最大长度2000 bytes

可存放多媒体图象声音等

LONG RAW 

可变长度的二进制数据

最大长度2G

同上

BLOB 

二进制数据

最大长度4G

CLOB

大字符数据

最大长度4G

保存单字节或多字节字符数据,最大值为4G

NCLOB 

根据字符集而定的字符数据

最大长度4G

保存Unicode编码字符数据,最大值为4G。

BFILE 

存放在数据库外的二进制数据

最大长度4G

NUMBER(P,S)

数字类型

P为所有有效数字的位数,S为小数位

oracle底层只有number为类型并没有decimal和integer这两个类型
这两个类型只为oracle和其它数据库之间方便迁移的。

DECIMAL(P,S) 

数字类型

P为所有有效数字的位数,S为小数位

INTEGER

整数类型

小的整数

FLOAT 

浮点数类型

NUMBER(38),双精度

存储近似值

REAL

实数类型

 NUMBER(63),精度更高

存储近似值

Note:绿色是常用的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
密级: 数据库设计规范 (oracle版本) <文档编号> "版 本 号 " "发布日期 " " "修 改 人 " "修改日期 " " "审 核 人 " "审核日期 " " "审 批 人 " "审批日期 " " 修订记录 "版本号 "发布日期 "修改人/修 "审核人/审核"审批人/审批 "备注 " " " "改日期 "日期 "日期 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 目录 1、目的 4 2、概述 4 3、数据库物理设计原则 4 3.1、数据库环境配置原则 4 3.2、数据库设计原则 5 3.3、数据库表空间设计原则 9 4、数据库逻辑设计原则 9 4.1、命名规范 9 4.2、命名 11 4.3、数据类型 12 4.4、设计 13 4.5、SQL编写 15 5、设计工具 17 附录 17 SGA 17 3NF 19 1、目的 定义数据库设计设计规范,作为数据库设计、规划、开发以及维护人员的技术参 考资料。 2、概述 本文主要根据oracle9i以上数据库性能特点,描述数据库环境配置、数据库物理 设计、数据库逻辑设计、视图、存储过程、应用程序设计等方面的设计规范。 3、数据库物理设计原则 3.1、数据库环境配置原则 操作系统环境: 对于中小型数据库系统,采用linux操作系统比较合适,对于数据库冗余要求负 载均衡能力要求较高的系统,可以采用Oracle9i RAC的集群数据库的方法,集群节点数范围在2—64个。 对于大型数据库系统,可以采用Sun Solaris SPARC 64位小型机系统或HP 9000 系列小型机系统。 内存要求 对于linux操作系统下的数据库,由于在正常情况下Oracle对SGA的管理能力不超 过1.7G。所以总的物理内存在4G以下。SGA的大小为物理内存的50%—75%。 对于64位的小型系统,Oracle数据库对SGA的管理超过2G的限制,SGA设计在一个 合适的范围内:物理内存的50%—70%,当SGA过大的时候会导致内存分页,影响系统性 能。 交换区设计 当物理内存在2G以下的情况下,交换分区swap为物理内存的3倍,当物理内存>2 G的情况下,swap大小为物理内存的1—2倍。 其他环境变量 参考Oracle相关的安装文档和随机文档。 3.2、数据库设计原则 数据库SID 数据库SID是唯一标志数据库的符号,命名长度不能超过30个字符。对于单节点数 据库,以字符开头的30个长度以内字串作为SID的命名。 对于集群数据库,当命名SID后,各节点SID自动命名为SIDnn,其中nn为节点号: 1,2,…,64。例如rac1、rac2、rac24。 数据库全局名 数据库全局名称:<sid>.domain 数据库类型选择 对于海量数据库系统,采用data warehouse的类型。对于小型数据库或OLTP类型的数据库,采用Transaction Processing类型。 数据库连接类型选择 Oracle数据库有专用服务器连接类型和多线程服务器MTS连接类型。对于批处理服 务,需要专用服务器连接方式,而对于OLTP服务则MTS的连接方式比较合适。由于采 用MTS后,可以通过配置网络服务实现某些特定批处理服务采用专用服务器连接方式 ,所以数据库设计时一般采用MTS类型。 数据库SGA配置 数据库SGA可以采用手工配置或按物理内存比例配置,在数据库初始设计阶段采用 按比例配置方式,在实际应用中按系统调优方式修改SGA。 数据库字符集选择 为了使数据库能够正确支持多国语言,必须配置合适的数据库字符集,采用UTF8 字符集。 数据库其他参数配置 DB_FILES Db_files是数据库能够同时打开的文件数量,默认值是200个。当数据库规划时文 件数量FILES接近或超过200个时候,按以下估计值配置: DB_FILES = FILES * 1.5 Db_block_size Db_block_size是数据库最小物理单元,一旦数据库创建完成,该参数无法修改, db_block_size按以下规则调整: 数据仓库类型: db_block_size尽可能大,采用8192 或 16384 OLTP类型: db_block_size 用比较小的取值范围: 2048 或 4096 数据库控制文件配置 控制文件镜象 多个控制文件存放在不同的物理位置。 控制文件配置 控制文件中参数设置,最大的数据文件数量不能小于数据库参数db_files。 数据库日志文件配置 日志文件大小 日志文件的大小由数据库事务处理量决定,在设计过程中,确保每20分钟切换一 个日志文件。所以对于批处理系统,日志文件大小为几百M 到几G的大
二、 注释说明  1. 本注释说明主要用于PL/SQL程序及其它SQL文件,其它可作参考;  2. SQLPLUS接受的注释有三种:   ―― 这儿是注释   /* 这儿是注释 */   REM 这儿是注释  3. 开始注释,类似JAVAK中的开始注释,主要列出文件名,编写日期,版权说明,程序功能以及修改记录:   REM   REM $Header: filename, version, created date,auther   REM   REM Copyright   REM   REM FUNCTION   REM function explanation   REM   REM NOTES   REM   REM MODIFIED (yy/mm/dd)   REM who when - for what, recently goes first  4. 块注释,如表注释,PROCEDURE注释等,同JAVA:   /*   * This table is for TrustPass   * mainly store the information   * of TrustPass members   */  5. 单行注释,如列注释:   login_id VARCHAR2(32) NOT NULL, -- 会员标识 三、 缩进 低级别语句在高级别语句后的,一般缩进4个空格:   DECLARE   v_MemberId VARCHAR2(32),   BEGIN   SELECT admin_member_id INTO v_MemberId   FROM company   WHERE id = 10;   DBMS_OUTPUT.PUT_LINE(v_MemberId);   END;     同一语句不同部分的缩进,如果为sub statement,则通常为2个空格,如果与上一句某部分有密切联系的,则缩至与其对齐:   BEGIN   FOR v_TmpRec IN   (SELECT login_id,   gmt_created, -- here indented as column above   satus   FROM member -- sub statement   WHERE site = 'china'   AND country='cn' )   LOOP   NULL;   END LOOP;   END; 四、 断行 • 一行最长不能超过80字符
Oracle数据库设计策略及规范 设计策略及规范 1. 目的 定义Oracle数据库设计规范,作为数据库规划、设计、开发以及维护人员的技术参考资料。用以规范和指导相关人员的设计行为。 2. 概述 本文档根据Oracle数据库性能特点,描述对表、视图、存储过程、对象命名等方面的设计规范。 3. 基本策略 3.1 设计策略 分类拆分数据量大的表。 对于经常使用的表(如某些参数表或代码对照表),由于其使用频率很高,要尽量减少表中的记录数量。例如,银行的户主账表原来设计成一张表,虽然可以方便程序的设计与维护,但经过分析发现,由于数据量太大,会影响数据的迅速定位。如果将户主账表分别设计为活期户主账、定期户主账及对公户主账等,则可以大大提高查询效率。 分区策略 在拥有数500行以上的表时,采用分区策略。 索引设计。 对于大的数据库表,合理的索引能够提高整个数据库的操作效率。在索引设计中,索引字段应挑选重复值较少的字段;在对建有复合索引的字段进行检索时,应注意按照复合索引字段建立的顺序进行。例如,如果对一个5万多条记录的流水表以日期和流水号为序建立复合索引,由于在该表中日期的重复值接近整个表的记录数,用流水号进行查询所用的时间接近3秒;而如果以流水号为索引字段建立索引进行相同的查询,所用时间不到1秒。因此在大型数据库设计中,只有进行合理的索引字段选择,才能有效提高整个数据库的操作效率。 有时候为了提高性能。减少表的关联,恰当的数据冗余是允许的。 索引对新增,删除,更新的性能影响比较大,对相关的表的索引使用要权衡 为表和索引建立不同的表空间,禁止在系统表空间中放入非核心oracle系统成分的对象, 确保数据表空间和索引表空间位于不同的磁盘磁盘驱动器上。 对于经常发生同时查询或频繁查询的表,最好把他放到不同的磁盘空间上 4. 逻辑设计规范 4.1 范式 如果没有性能上的原因,应该使用关系数据库理论,达到较高的范式,避免数据冗余。 如果在数据量上与性能上无特别要求,考虑到实现的方便性可以有适当的数据冗余,但基本上要达到3NF。 4.2 表设计 对于数据量比较大的表,根据表数据的属性进行分区,以得到较好的性能。如果表按某些字段进行增长,则采用按字段值范围进行范围分区;如果表按某个字段的几个关键值进行分布,则采用列表分区;对于静态表,则采用Hash分区或列表分区;在范围分区中,如果数据按某关键字段均衡分布,则采用子分区的复合分区方法。 每个表均创建类型为Sequence的主键字段。 每个表中需含有如下几个基本字段:一个表的SEQ号,4个创建信息字段,5-8个备用字段,一个删除标记字段,最好还有一个行版本字段 字段名 类型 备注 业务SEQ号 整数型 作为表主键 OBLIGATE1 字符型 备用字段 OBLIGATE2 OBLIGATE3 OBLIGATE4 OBLIGATE5 CREATE_USER_ID VARCHAR 创建用户ID CREATE_DATETIME DATE 创建时间 LAST_UPDATE_USER_ID VARCHAR 更新用户ID LAST_UPDATE_DATETIME TIMESTAMP 更新时间 不要用Identify字段作为表的主键与其它表关联。 4.3 索引设计 常规OLTP应用,创建B-TREE索引,不创建位图索引。 不需要为小型数据表(<5000)创建索引。 给单个表创建的索引不超过5个,特别是海量交易类表。 索引条件查询结果记录,不超总记录的20%。 不要给固定选项的字段创建独立索引。 如只有'男,女'的性别字段;'是,否'的状态字段等,不要创建独立索引,位可以建立复合索引。 对于复合索引,索引字段顺序比较关键,把查询频率比较高的字段排在索引组合的最前面。 索引放到独立的表空间,该表空间不需要REDO LOG。 含有外键约束的表的字段,必须有单独索引。如订单明细的表头外键。 5. 对象命名规范 5.1 一般规范 5.1.1 语言 命名使用英文单词,不使用复数。 Oracle数据库设计策略及规范全文共3页,当前为第1页。 英文单词使用同对象本身意义相对或相近的单词。选择最简单或最通用的单词。不能使用毫不相干的单词来命名。 Oracle数据库设计策略及规范全文共3页,当前为第1页。 当一个单词不能表达对象含义时,用词组组合,如果组合太长时,采用简写或缩写,缩写要基本能表达原单词的意义。 当出现对象名重名时,是不同类型对象时,加类型前缀或后缀以示区别。 禁止使用中文或拼音缩写进行命名 5.1.2 大小写 名称一律大写,以方便不同数据库移植,以及避免程序调用问题 5.1.3 单词分隔 命名的各单词之间使用下划线进行分隔。 命名的各单词之间不允许有空格存在 5.1.4 保留字 命名不允许使用SQL保留字。 5.1.5 
作为企业级大型、通用对象关系型数据库管理系统,神通数据库为用户提供的功能包括: • 支持丰富的数据类型 神通数据库所支持的数据类型包括:字符串类型、位串类型、精确数值类型、布尔型、近似数值类型、 日期类型、时间间隔类型、货币类型、二进制大对象、字符型大对象等。 • 提供功能强大的内置函数 神通数据库系统提供了丰富的内置函数,并可以根据用户的实际需要,定制特殊的函数。系统提供的内 置函数主要包括:数学函数、字符串函数、日期时间函数、类型转换函数聚集函数等。 • 支持视图 神通数据库对数据视图提供了完善的支持,从而允许不同的用户或应用程序以不同的方式查看同一数 据。该项功能不仅使数据更易于访问,而且可以利用它限制某些用户能够查看或更新的行和列。视图可以有 效地减少数据库中的数据冗余,并为实现灵活的数据安全机制提供了基础。 • 支持存储过程 使用数据库创建应用程序时,过程语言是应用程序和数据库之间的主要编程接口。神通数据库中所提 供的过程语言是 plOSCAR。在使用 plOSCAR 程序时,可用两种方法存储和执行程序。可以在本地存储程 序,并创建向数据库发送命令并处理结果的应用程序;也可以将程序在数据库中存储为存储过程,并创建执 行存储过程并处理结果的应用程序。 • 完整性约束机制 神通数据库使用约束来自动强制数据库完整性的方式。约束定义关于列中允许值的规则,是强制完整性 的标准机制。在神通数据库中,支持五类约束: NOT NULL 指定不接受 NULL 值的列。 CHECK 约束对可以对放入列中的值进行限制,以强制执行域的完整性。 UNIQUE 约束在列集内强制执行值的唯一性。 PRIMARY KEY 约束标识列或列集,这些列或列集的值唯一标识表中的行。 FOREIGN KEY 约束标识表之间的关系。 • 支持触发器 在神通数据库系统中,触发器是一种特殊类型的存储过程,它在指定的表中的数据发生变化时自动生效 被触发执行。唤醒调用触发器以响应 INSERT、UPDATE 或 DELETE 语句。触发器可以查询其它表,并 9 可以包含复杂的 plOSCAR 语句。神通数据库触发器按照所触发动作的间隔尺寸可以分为语句级触发器和行 级触发器。触发器由 CREATE TRIGGER 语句定义,FOR EACH 子句定义了触发动作的间隔尺寸,它既 可以是 FOR EACH STATEMENT(语句级触发器),也可以是 FOR EACH ROW(行级触发器)。 • 支持事务处理 神通数据库提供了高效的事务管理机制,保证每个事务的完整性。该机制提供: 锁定机制,使事务相互隔离。 记录机制,保证事务的持久性。即使服务器硬件、操作系统或数据库自身出现故障,也可以在重新启动 时使用事务日志,将所有未完成的事务自动地回滚到系统出现故障的位置。 事务管理特性,强制保持事务的原子性和一致性。事务启动之后,就必须成功完成,否则数据库系统将 撤消该事务启动之后对数据所作的所有修改。 在神通数据库中一个事务可以由一条或多条 sql 语句构成。事务的提交状态可以是自动提交也可以是手 动提交。有关事务的控制命令包括 BEGIN,COMMIT,ROLLBACK。 • 支持模式 一个数据库可以包含一个或多个命名的模式,一个模式内可以包含多个表。不同的模式中的表名可以相 同,而同一模式中的表不能同名。模式如同操作系统级的目录,但是模式不能嵌套。 用户在相应权限控制下可以访问所连接的数据库中的任何模式中的对象。 模式具有以下特点: 多个用户使用同一数据库而不会互相影响。 对数据库中的对象进行逻辑分组,更便于管理。 各个应用分别使用各自的模式,以避免命名冲突。 在模式中创建数据库对象或访问模式中的对象时,可在对象名前指定模式名。 • 支持数据备份和恢复 神通数据库的备份/恢复工具具有图形化的操作界面。用户利用备份工具可以对整个数据库、指定数据 库、或者指定库中的特定表执行备份操作。备份的数据被保存在用户指定的目录中。利用备份文件,用户可 以利用配套的恢复工具执行恢复操作。备份和恢复工具都提供丰富的选项,以满足不同用户的备份和恢复要 求。 • 支持数据迁移 神通数据库的数据导入和导出向导是前台管理工具中的一个实用工具,其主要功能是进行神通数据库 与其它各种异构数据源之间数据的析取、转换以及合并。数据导入和导出工具支持的数据源包括:神通数据 库、Oracle、Microsoft SQL Server、IBM DB2、Microsoft Excel 97-2000、文本文件、其他支持 ODBC 的 数据源。在数据的转换过程中,向导能根据源数据和目标数据具体类型,通过内置的转换规则提供数据类型 的默认映射关系、数据类型的精度匹配、空与非空信息提取、主键及相关索引建立等辅助功能,帮助用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值