ORACLE数据库设计规范
Oracle数据库命名规范
1.Oracle数据库命名规范数据库命名规范总体上以“汉语拼音和常见英语单词相结合”的方式,汉语拼音即是采用每一个汉字拼音的第一个字母的方式。
英语单词采用整个英文单词或可以识别的英文单词缩写的方式。
数据库字段命名原则总统上同数据库命名,采用“汉语拼音和常见英语单词相结合”方式命名。
这里单独出来主要是强调本系统字段命名需要额外遵循如下规则:1)字段名称的唯一性:即同一含义的字段在整个系统范围内中必须有相同的字段名。
不能有类似一个表中的备注字段用“BeiZhu”,另一表中的备注却用“Remark”、“Desc”、“XXRemark”等。
2)字段含义唯一性:即系统同一字段名称必须有同一含义。
不能有类似“Name”在一个表中表单位名称,在另外一个表中表项目名称,这种情况需要加前缀区分。
3)所有字段名不能以SM开头,目的是避免与SuperMap保留字段前缀混淆4)空间表中:字段顺序以空间信息字段在前,属性信息字段在后原则。
5)属性表中:字段顺序以主次顺序设计,用于空间定位的字段放在最后原则。
1.1表属性规范1)表名前缀为Tbl_。
数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:tbl_pstn_detail。
表名称不能用双引号包含。
2)表分区名前缀为p。
分区名必须有特定含义的单词或字串。
例如:tbl_pstn_detail的分区p2004100101表示该分区存储2004100101时段的数据。
3)字段名字段名称必须用字母开头,采用有特征含义的单词或缩写,不能用双引号包含。
4)主键名前缀为PK_。
主键名称应是前缀+表名+构成的字段名。
如果复合主键的构成字段较多,则只包含第一个字段。
表名可以去掉前缀。
5)外键名前缀为FK_。
外键名称应是前缀+外键表名+主键表名+外键表构成的字段名。
表名可以去掉前缀。
1.2索引1)普通索引前缀为IDX_。
索引名称应是前缀+表名+构成的字段名。
如果复合索引的构成字段较多,则只包含第一个字段,并添加序号。
数据库标准规范
数据库标准规范
组长:胡嘉楠 副组长:王冬冬 组员:居益林 姜存根
数据库设计说明
1.引言
1.1编写目的 1.2背景 1.3定义 1.4参考资料
创建视图时禁止使用“select * from 表名”语句,要求将用到的字段在视图语句中 列明。
视图规范
视图创建语句中禁止使用for update 视图中禁止使用order by 子句, 会影响到视图查询的效率。 尽量避免使用嵌套视图,如果必须 使用,本地嵌套视图不能超过1级。
序列规范 • Sequence的命名格式为:seq+表名+_字段 名 • 所有的Sequence必须指定为循环模式 (cycle) • 要求所有的Sequence都是用cache选项 • Sequence最大值不能超过字段宽度 • 创建Sequence时,必须指定 minvalue,maxvalue,startwith,increment by,cache的值
包规范
•
• • •
系统内通信或者系统间通信,尤其 是大数据量复杂操作,建议使用package。 所有的procedure或者function需要放在 pkg中。 对于package中的procedure或者function, 其大小不能超过3000行 系统间的package接口必须是一对一的, 禁止一对多的情况出现 提供给外关联系统调用的pkg不能有事务语 句(commit或者rollback)
建表规范
所有表必须有数据创建人,创建时间,修改人,修改时间这4个 字段。 除非外键的父表没有或极少的delete,update操作,否则该外键 必须建立索引。如果没有对外键建立索引,则在对父表操作时, 会对字表产生锁。 同一含义的字段在不同的表中,必须使用相同的名字,类型, 长度 单表数据量三年内超过500万或容量超过2G,必须分区。
数据库设计规范_编码规范
数据库编码规范1 目的为了统一公司软件开发的设计过程中关于数据库设计时的命名规范和具体工作时的编程规范,便于交流和维护,特制定此规范。
2 范围本规范适用于全体开发人员,作用于软件项目开发的数据库设计、维护阶段。
3 术语Ø 数据库对象:在数据库软件开发中,数据库服务器端涉及的对象包括物理结构和逻辑结构的对象。
Ø 物理结构对象:是指设备管理元素,包括数据文件和事务日志文件的名称、大小、目录规划、所在的服务器计算极名称、镜像等,应该有具体的配置规划。
一般对数据库服务器物理设备的管理规程,在整个项目/产品的概要设计阶段予以规划。
Ø 逻辑结构对象:是指数据库对象的管理元素,包括数据库名称、表空间、表、字段/域、视图、索引、触发器、存储过程、函数、数据类型、数据库安全性相关的设计、数据库配置有关的设计以及数据库中其他特性处理相关的设计等。
4 设计概要4.1 设计环境a) ORACLE 11G R2数据库ORACLE 11G R2操作系统LINUX 6以上版本,显示图形操作界面b) MS SQL SERVER 2005数据库SQL SERVER 2005 企业版打sp3以上补丁和安全补丁操作系统WINDOWS 2008 SERVER4.2 设计使用工具a) 使用PowerDesigner 做为数据库的设计工具,要求为主要字段做详尽说明。
对于SQL Server 尽量使用企业管理器对数据库进行设计,并且要求对表,字段编写详细的说明(这些将作为扩展属性存入SQL Server中)b) 通过PowerDesigner 定制word格式报表,并导出word文档,作为数据字典保存,格式。
(PowerDesigner v10 才具有定制导出word格式报表的功能)。
对于SQL Server 一旦在企业管理器进行数据库设计时加入扩展属性,就可以通过编写简单的工具将数据字典导出。
c) 编写数据库建数据库、建数据库对象、初始化数据脚本文件4.3 设计原则a) 采用多数据文件b) 禁止使用过大的数据文件,unix系统不大于2GB,window系统不超过500MBc) oracle数据库中必须将索引建立在索引表空间里。
(完整版)Oracle数据库规划设计和运行维护方案
Oracle数据库规划设计和运行维护方案(V1。
0)目录1。
前言 (6)1。
1. 编写目的 (6)1。
2。
方案说明 (6)1.3. 预期读者 (7)2。
数据库部署模式 (7)2.1. 单机模式 (7)2.2. 双机热备模式(HA模式) (8)2.3。
集群模式(RAC) (9)2。
4. 主从模式(DataGuard) (10)2.5。
混合模式(DataGrard+RAC) (10)2。
6。
数据库运行模式选择 (11)3。
系统特点和数据库类型 (11)3。
1。
业务系统的特点 (11)3。
1.1。
OLTP特点 (12)3.1.2。
OLAP特点 (13)3。
2。
数据库的规模 (13)3.3。
数据库版本建议 (13)4. 数据库运行环境规划 (14)4.1。
主机规划 (14)4。
2. 网络规划 (15)4.3. 存储规划 (17)5。
数据库安装部署规划 (19)5.1。
软件安装路径 (19)5。
2. 表空间设计 (19)5.2.1. 业务数据量估算 (19)5。
2。
2。
表空间使用规则 (21)5.2.3。
表空间的概念和分配原则 (25)5。
2.4。
表空间的参数配置 (26)5.2。
5. Undo/temp表空间的估算 (30)5.2。
6. 表的参数设置 (30)5.2。
7. 索引的使用原则 (31)5。
3. 文件设计 (32)5.3。
1. RAC配置文件 (32)5.3。
2. 参数文件 (33)5。
3。
3. 控制文件 (34)5。
3.4。
重做日志文件 (35)6。
数据库应用规划 (37)6。
1。
数据库用户设计 (37)6。
1。
1。
用户权限规划 (37)6.1.2。
用户安全实现 (39)6。
1。
3. 用户类型及角色命名规范 (41)6.2. 数据库分区 (44)6.2。
1. 数据库分区介绍 (44)6。
2.3. 物理分割 (45)6。
2。
4. 数据分区的优点 (45)6.2.5. 数据分区的不足 (45)6.2。
oracle数据库设计课程设计
oracle数据库设计课程设计一、课程目标知识目标:1. 理解Oracle数据库的基本概念,掌握数据库设计的基本原理;2. 学会使用SQL语言进行数据库的基本操作,如创建表、查询数据、更新数据等;3. 掌握数据库设计规范,能够设计出结构合理、性能优良的数据库表结构;4. 了解数据库的安全性和一致性约束,能够为数据库设置合理的约束条件。
技能目标:1. 能够运用所学知识独立完成小型信息系统的数据库设计;2. 能够熟练运用SQL语言进行数据库的操作,解决实际问题;3. 能够运用数据库设计原则对现有数据库进行优化,提高数据库性能;4. 能够分析实际业务需求,撰写数据库设计文档,为软件开发提供支持。
情感态度价值观目标:1. 培养学生对数据库技术的兴趣,激发学习积极性,提高自主学习能力;2. 培养学生具备良好的团队合作精神,能够在团队项目中发挥积极作用;3. 培养学生严谨、细致的学习态度,对待数据库设计和操作能够认真负责;4. 通过数据库技术在实际案例中的应用,使学生认识到信息技术对社会发展的积极作用,增强社会责任感。
二、教学内容1. Oracle数据库基础知识- 数据库概念、发展历史及Oracle数据库特点- 数据库体系结构、数据库存储结构- SQL*Plus工具的使用2. SQL语言基础- 数据定义语言(DDL):创建、修改、删除表- 数据操纵语言(DML):插入、查询、更新、删除数据- 数据控制语言(DCL):权限管理、事务控制3. 数据库设计原理- 实体关系模型(ER模型)及其转换- 数据库设计范式:1NF、2NF、3NF、BCNF- 数据完整性、约束条件设置4. Oracle数据库高级应用- 索引、分区、视图、序列的应用- 存储过程、函数、触发器的创建与使用- 数据库性能优化、备份与恢复5. 实践项目- 设计一个小型信息系统的数据库,包括表结构设计、数据操作、完整性约束设置等- 对数据库进行性能优化,分析并解决性能瓶颈- 撰写数据库设计文档,进行项目展示与交流教学内容按照以上五个方面进行组织,确保学生能够系统地掌握Oracle数据库的设计与应用。
Oracle10g数据库实验指导书
Oracle10g数据库实验指导书前言ORACLE数据库是属于数据库开发软件及应用领域的专业课,是面向计算机专业本科生开设的一门数据库应用普及型计算机专业课程。
ORACLE数据库是当前应用最为广泛的数据库系统,ORACLE数据库是针对高年级学生的实践性较强的课程。
通过实训,并结合典型系统进行分析,使学生较为系统地掌握ORACLE数据库的基本开发方法,运用数据库设计理论设计出满足一定规范的ORACLE 数据库应用系统。
随着计算机数据库技术的迅速发展和在当今信息社会中的广泛应用,给《ORACLE数据库》课程的教学提出了新的更高的要求。
由于ORACLE数据库是一门实践性较强的技术,课堂教学应该与实践环节紧密结合。
实验要求通过理论学习,能够在ORACLE这个大型的数据库设计实践中,对ORACLE的基本功能有一个初步的了解:通过对SQL*PLUS的简单使用,掌握其基本操作命令和技术;通过PL/SQL编程语言的使用与程序设计的分析,加深学生对SQL*PLUS和PL/SQL技术的理解和掌握,进而为今后再涉及到难度较大的实际应用打下扎实的基础。
总之,通过上述实验环节,使学生加深了解和更好地掌握《ORACLE10g数据库》课程教学大纲要求的内容。
在课程实训过程中,要求学生做到:(1)预习实验指导书有关部分,认真做好实训内容的准备,就实验可能出现的情况提前做出思考和分析。
(2)仔细观察上机操作时出现的各种现象,记录主要情况,作出必要说明和分析。
(3)认真书写实验报告。
实验报告包括实验目的和要求,实验情况及其分析。
对需编程的实验,写出程序设计说明,给出源程序框图和清单。
(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
(5)实验课程不迟到。
目录实践1 Oracle10g的安装与配置及常用工具的使用 (1)实践2 创建数据库、表空间和数据文件 (25)实践3 数据库的安全管理 (27)实践4 管理表结构与表数据 (32)实践5 管理索引、视图、同义词和序列 (36)实践6 PL/SQL编程基础 (38)实践7 PL/SQL高级编程 (42)综合实践一Oracle基本知识与SQL*PLUS简单使用 (46)综合实践二PL/SQL编程语言的使用与程序设计 (57)综合实践三(设计性) JSP+Oracle网上购物系统 (68)附录:员工医疗保险系统表 (69)实践1 Oracle10g的安装与配置及常用工具的使用开发语言及实现平台或实验环境Oracle 10g实践目的(1) 掌握Oracle 10g数据库的安装与配置过程。
数据库设计规范
概述目的软件研发数据库设计规范作为数据库设计的操作规范,详细描述了数据库设计过程及结果,用于指导系统设计人员正确理解和开展数据库设计。
适用范围术语定义DBMS:数据库管理系统,常用的商业DBMS有Oracle, SQL Server, DB2等。
数据库设计:数据库设计是在给定的应用场景下,构造适用的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
概念数据模型:概念数据模型以实体-关系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。
它从用户的观点出发对信息进行建模,主要用于数据库概念级别的设计,独立于机器和各DBMS产品。
可以用Sybase PowerDesigner工具来建立概念数据模型(CDM)。
逻辑数据模型:将概念数据模型转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式。
可以用Sybase PowerDesigner工具直接建立逻辑数据模型(LDM),或者通过CDM转换得到。
物理数据模型:在逻辑数据模型基础上,根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。
可以用Sybase PowerDesigner工具直接建立物理数据模型(PDM),或者通过CDM / LDM转换得到。
数据库设计原则按阶段实施并形成该阶段的成果物一般符合3NF范式要求;兼顾规范与效率使用公司规定的数据库设计软件工具命名符合公司标准和项目标准数据库设计目标规范性:一般符合3NF范式要求,减少冗余数据。
高效率:兼顾规范与效率,适当进行反范式化,满足应用系统的性能要求。
紧凑性:例如能用char(10)的就不要用char(20),提高存储的利用率和系统性能,但同时也要兼顾扩展性和可移植性。
易用性:数据库设计清晰易用,用户和开发人员均能容易地理解。
设计过程规范数据库设计过程包括如下阶段:数据分析、概念设计、逻辑设计、物理设计、实施与运行维护。
Oracle数据库规划设计和运行维护方案
Oracle数据库规划设计和运行维护方案()目录1.前言.编写目的.......................................................... .方案说明.......................................................... .预期读者..........................................................2.数据库部署模式.单机模式.......................................................... .双机热备模式(HA模式)........................................... .集群模式(RAC)................................................... .主从模式(DataGuard)............................................. .混合模式(DataGrard+RAC)......................................... .数据库运行模式选择................................................3.系统特点和数据库类型.业务系统的特点....................................................OLTP特点.................................................OLAP特点................................................. .数据库的规模...................................................... .数据库版本建议....................................................4.数据库运行环境规划.主机规划.......................................................... .网络规划.......................................................... .存储规划..........................................................5.数据库安装部署规划.软件安装路径...................................................... .表空间设计........................................................业务数据量估算............................................表空间使用规则............................................表空间的概念和分配原则....................................表空间的参数配置..........................................Undo/temp表空间的估算....................................表的参数设置..............................................索引的使用原则............................................ .文件设计..........................................................RAC配置文件..............................................参数文件..................................................控制文件..................................................重做日志文件..............................................6.数据库应用规划.数据库用户设计....................................................用户权限规划..............................................用户安全实现..............................................用户类型及角色命名规范.................................... .数据库分区........................................................数据库分区介绍............................................逻辑分割..................................................物理分割..................................................数据分区的优点............................................数据分区的不足............................................Oracle分区技术...........................................分区使用建议..............................................分区索引.................................................. .数据库实例配置.................................................... .数据库参数设置....................................................必须修改的初始化参数......................................建议修改的初始化参数......................................不可修改的初始化参数......................................建议不可修改的初始化参数..................................与并行有关的参数.......................................... .数据库连接服务....................................................专用服务器连接............................................共享服务器连接............................................连接服务建议.............................................. .数据库安全建议.................................................... .数据库备份和恢复..................................................RMAN备份.................................................EXP/IMP备份..............................................存储级备份................................................数据库恢复................................................ .数据库网络配置....................................................监听器的使用配置原则......................................TNSNAMES的使用配置原则...................................RAC环境下TNSNAMES的配置.................................7.业务系统开发建议.数据库模型设计规范................................................命名规则..................................................数据库对象................................................ .PLSQL开发规则....................................................总体开发原则...............................................SQL语句编写规则..................................................查询语句的使用原则........................................DML语句的调整原则........................................8.数据库体系结构.整体结构.......................................................... .内存结构..........................................................系统全局区(SGA).........................................程序全局区(PGA).........................................后台进程.................................................. .存储结构..........................................................物理结构..................................................逻辑结构..................................................9.数据库基本管理.参数文件管理...................................................... .表空间管理........................................................用户表空间管理............................................临时表空间管理............................................回滚段表空间管理.......................................... .重做日志文件管理..................................................增加重做日志文件组........................................添加重做日志文件组成员....................................改变重做日志文件组成员....................................删除重做日志文件组成员....................................删除重做日志文件组........................................重做日志切换..............................................重做日志清理..............................................重做日志切换次数查询...................................... .归档模式设置......................................................单实例数据库设置归档模式..................................RAC数据库设置归档模式....................................归档路径设置.............................................. .控制文件重建...................................................... .内存参数管理......................................................Oracle内存管理发展阶段...................................自动内存管理AMM..........................................自动共享内存管理ASMM.....................................自动PGA管理.............................................. .其它管理内容......................................................查看数据库版本............................................数据库字符集..............................................创建密码文件..............................................关闭数据库审计功能........................................账号管理..................................................10.数据库集群(RAC)管理.RAC状态检查......................................................检查守护进程..............................................检查资源状态.............................................. .RAC启动与关闭.................................................... .管理OCR..........................................................OCR盘状态查看............................................OCR备份与恢复............................................查看OCR内容..............................................指定OCR盘................................................增加OCR盘................................................删除OCR盘................................................ .管理VOTING DISK..................................................检查Voting Disl盘........................................VOTING DISK备份与恢复....................................添加VOTING DISK盘........................................删除VOTING DISK盘........................................ .CSS管理.......................................................... .SRVCTL管理工具...................................................管理实例..................................................管理监听程序..............................................管理ASM..................................................管理service.............................................. .修改RAC的IP及VIP...............................................修改外网IP和心跳IP......................................修改VIP..................................................查看与删除IP............................................. .管理ASM..........................................................管理DiskGroup............................................ASM兼容性管理............................................ASM中添加disk的方法.....................................ASMCMD管理命令介绍.......................................ASM常用视图..............................................11.数据库备份.备份概念说明......................................................脱机备份..................................................联机备份..................................................RMAN备份................................................. .备份策略规划...................................................... .RMAN备份和恢复案例...............................................归档模式下的完全恢复......................................归档模式下的不完全恢复....................................12.数据库运维管理.运维职责.......................................................... .运维要求.......................................................... .技能要求.......................................................... .运维内容..........................................................检查数据库运行情况........................................检查操作系统和数据库日志文件..............................检查Oracle对象状态.......................................检查数据库相关资源的使用..................................检查数据库备份............................................检查数据库的性能..........................................数据库安全性检查.......................................... 前言编写目的随着以使用Oracle数据库的应用系统不断增加,为了加强应用系统在规划、开发、实施、维护等环节工作的规范化,特编写本文档,力求对实际的设计、实施工作起到规范和指导作用。
ORACLE数据库设计规范
1 命名原则约定ü? 是指对数据库、数据库对象如表、字段、索引、序列、存储过程等的命名约定;ü? 命名使用富有意义的英文词汇,尽量避免使用缩写,多个单词组成的,中间以下划线分割ü? 避免使用Oracle的保留字如LEVEL、关键字如TYPE(见Oracle保留字和关键字);ü? 各表之间相关列名尽量同名;ü? 除数据库名称长度为1-8个字符,其余为1-30个字符,Database link名称也不要超过30个字符;ü? 命名只能使用英文字母,数字和下划线;?表名规则如下:命名规则为xxx_yyy_TableName。
xxx表示开发公司的名称,最多五个字母构成,尽量用简称;yyy表示子系统中的子模块的名称(可以没有), 最多五个字母构成,尽量用简称;TableName为表含义, 最多十个字母构成,尽量用简称?TableName规则如下:ü? 使用英文单词或词组作为表名,不得使用汉语拼音ü? 用名词和名词短语作表名ü? 不使用复数?正确的命名,例如:fiber_sys_userfiber_biz_order?存储过程规则如下:命名规则为xxx_yyy_StoredProcedureName。
xxx表示开发公司的名称,最多五个字母构成,尽量用简称;yyy表示子系统中的子模块的名称(可以没有), 最多五个字母构成,尽量用简称;StoredProcedureName为存储过程含义,最多十个字母构成,尽量用简称?StoredProcedureName规则如下:ü? 用动词或动词短语来命名,并带有宾语ü? 需要符合用Pascal 命名规则。
ü? 尽量谨慎地使用缩写ü? 尽量不要和关键字重合ü? 不要用任何名前缀 (例如 U,B)ü? StoredProce dureName内不使用下划线ü? 当操作依赖条件时,一般结尾使用 By+条件?存储过程正确的命名,例如:sys_InsertUsersys_SearchUserByUserIDsys_DeleteUserByUserID?视图规则如下:ü? 视图的命名采用xxx_yyy_ViewName_v。
数据库设计规范和指导
数据库设计规范和指导1数据库设计规范需考虑以下1.业务根据业务和范式设计合理的表结构2.容量根据业务考虑月增长量,年增长量等等,考虑是否进行水平分表.根据请求性能指标考虑是否进行垂直水平分表.3.性能过高的范式会影响性能,数据库库表结构直接影响查询语句,间接影响查询效率.4.范式一般情况遵循范式,特殊情况可以反范式,进行表之间的字段冗余.5.索引优化dba根据业务表查询进行索引优化2数据库以及账户名划分1. 尽量简洁明义,能够一眼看出来这个数据库是用来做什么的;2. 使用名词作为数据库名称,并且只用英文,不用中文拼音;3. 使用英文字母,全部小写,如果oracle可按个人习惯全部大写或者小写.4. 如果有多个单词,则使用下划线隔开.使用常见单词,避免使用长单词和生僻词;2.1读写账号分离读写库w_xxx 只读库r_xxx2.2开发环境读写库dev_w_xxx 只读库dev_r_xxx2.3测试环境读写库qa_w_xxx 只读库qa_r_xxx2.4生产模拟环境生产数据库从库(准实时同步),只读环境,不允许修改数据,不允许修改表结构;供线上问题查找,数据查询等读写库real_w_xxx 只读库real_r_xxx2.55.生产线上环境线上环境;开发人员不允许直接在线上环境进行数据库操作,如果需要操作必须找DBA进行操作并进行相应记录;读写库online_w_xxx 只读库online_r_xxx3表名字段名限制SQLSERVER 128个字符,临时表116个字符。
Oracle 30个字符。
(为什么要这么短?)MySQL 64个字符。
DB2 128个字符?4表名命名规范1. 尽量简洁明义,能够一眼看出来这个数据库是用来做什么的;2. 使用名词作为数据库名称,并且只用英文,不用中文拼音;3. 使用英文字母,全部小写,如果oracle可按个人习惯全部大写或者小写.4. 如果有多个单词,则使用下划线隔开.使用常见单词,避免使用长单词和生僻词;5. 表名以t_开头,视图v_,类似常用的还有过程sp_xxx/函数f_xxx/包pkg_xxx/序列seq_xxx.6. 具备统一前缀,对相关功能的表应当使用相同前缀,如acl_xxx,ord_xxx,ppc_xxx;其中前缀通常为这个表的模块或依赖主实体对象的名字,通常来讲表名为:业务_动作_类型,或是业务_类型;acl_xxx_idx7. 数据库编码utf8mb4, 表编码可选择utf8和utf8mb4,默认utf8.字段中如果包含非主流字(如非主流的qq昵称)需用utf8mb4编码.8. 表引擎取决于实际应用场景及当前数据库中的已经存在的存储引擎;日志及报表类表建议用myisam,与交易,审核,金额等事务相关的表用innodb引擎。
数据库设计命名规范
数据库设计命名规范1.数据库涉及字符规范采用26个英文字母和0-9这十个自然数,加上下划线_组成,共36个字符。
不出现其他字符。
鉴于大小写规则难记忆,而且有些情况下,数据库不区分大小写,统一采用小写字母。
采用英文单词或英文短语(包括缩写)作为名称,不使用无意义的字符或汉语拼音。
名称应该清晰明了,能够准确表达事物的含义,最好可读,遵循“见名知意”的原则。
2.数据库对象命名规范数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。
对象名字由前缀和实际名字组成,绝对不要在对象名的字符之间留空格,长度不超过30。
使用单数(比如表名tb_customer,不要使用tb_customers)。
前缀:使用小写字母表tb_<表的内容分类>_<表的内容>视图vi存储过程sp函数fn索引idx_<表名>_<索引标识>主键pk_<表名>_<主键标识>外键fk_<表名>_<主表名>_<外键标识>序列seq实际名字:实际名字尽量描述实体的内容,由单词或单词组合,每个单词以‘_’间隔,字母小写,不以数字开头。
合法的对象名字类似如下。
表tb_user_info tb_message_detail视图vi_message_list存储过程sp_message_add3.数据库表设计规范表名由前缀和实际名字组成。
tb_<表的内容分类>_<表的内容>。
表的设计要符合3NF,然后,可以根据效率的需要,适当做一些冗余。
前缀:使用小写字母tb,代表表。
实际名字中,一个系统尽量采取同一单词,多个后面加_来连接区分。
合法的表名类似如下。
tb_membertb_member_infotb_forum_boardtb_blog_comment1一些作为多对多连接的表,可以使用两个表的前缀作为表名:如:用户表tb_user,用户分组表tb_group_info,这两个表建立多对多关系的表名为:tb_user_group_relation4.字段命名规范字段由表的简称,实际名字组组成。
数据库设计规范详细说明
数据库设计规范详细说明1.选择适当的数据库引擎在进行数据库设计之前,根据应用的需求选择适当的数据库引擎是非常重要的。
常见的数据库引擎有关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)。
根据应用的特点和数据处理的要求,选择合适的数据库引擎是数据库设计的首要步骤。
2.确定数据表之间的关系在进行数据库设计时,根据实际需求确定数据表之间的关系是至关重要的。
主要有三种关系:一对一关系、一对多关系和多对多关系。
通过合理划分实体和识别实体之间的关系,能够建立正确的数据库表结构,提高数据的存储效率和查询效率。
3.使用适当的数据类型在设计数据库表时,需要根据数据的特点选择适当的数据类型。
例如,对于整数类型的数据,可以选择INT、BIGINT等;对于浮点数类型的数据,可以选择FLOAT、DOUBLE等。
正确选择数据类型有助于增加数据库的存储效率和查询效率,并避免数据冗余和损失。
4.设计合理的主键和索引主键是用于唯一标识数据表中每一条记录的字段,对于数据的唯一性和完整性非常重要。
在设计数据库表时,需要为每一个数据表设置适当的主键。
此外,为了提高查询效率,还需要为常用的查询字段设置索引,但是过多的索引也会影响数据库的性能,所以需要根据实际情况进行权衡。
5.规范命名规则在设计数据库表和字段时,需要遵循一套规范的命名规则。
命名应该具有一定的描述性,能够准确地表达出字段的含义和作用。
同时,应该避免使用特殊字符和关键字作为命名,以免引起语法错误和冲突。
6.定期备份和优化数据库数据库是应用中最重要的组成部分之一,所以定期备份数据库是非常重要的。
备份能够保证在数据丢失或数据库出现故障时能够恢复数据。
此外,还需要定期对数据库进行优化,包括对表的结构进行优化、对索引进行优化、对查询语句进行优化等,以提高数据库的性能和稳定性。
7.设计良好的数据表结构良好的数据表结构能够提高数据的存储效率和查询效率,并且易于维护和扩展。
oracle数据库安装及配置规范_v1.0
Oracle数据库系统安装及配置规范2015-10目录1. 数据库物理设计原则 (5)1.1. 数据库环境配置原则 (5)1.1.1. 操作系统环境 (5)1.1.2. 内存要求 (5)1.1.3. 交换区设计 (5)1.1.4. 其他 (6)1.2. 数据库设计原则 (6)1.2.1. 数据库SID (6)1.2.2. 数据库全局名 (6)1.2.3. 数据库类型选择 (6)1.2.4. 数据库连接类型选择 (7)1.2.5. 数据库SGA配置 (7)1.2.6. 数据库字符集选择 (8)1.2.7. 数据库其他参数配置 (9)1.2.8. 数据库控制文件配置 (9)1.2.9. 数据库日志文件配置 (10)1.2.10. 数据库回滚段配置 (10)1.2.11. 数据库临时段表空间配置 (11)1.2.12. 数据库系统表空间配置 (11)1.3. 数据库表空间设计原则 (11)1.3.1. 表空间大小定义原则 (11)1.3.2. 表空间扩展性设计原则 (12)1.4. 裸设备的使用 (12)2. 数据库逻辑设计原则 (13)2.1. 命名规范 (13)2.1.1. 表属性规范 (13)2.1.2. 索引 (14)2.1.3. 视图 (15)2.1.4. 实体化视图 (15)2.1.5. 存储过程 (15)2.1.6. 触发器 (15)2.1.7. 函数 (16)2.1.8. 数据包 (16)2.1.9. 序列 (16)2.1.10. 表空间 (16)2.1.11. 数据文件 (16)2.1.12. 普通变量 (16)2.1.13. 游标变量 (17)2.1.14. 记录型变量 (17)2.1.15. 表类型变量 (17)2.2. 命名 (17)2.2.1. 语言 (17)2.2.2. 大小写 (18)2.2.3. 单词分隔 (18)2.2.4. 保留字 (18)2.2.5. 命名长度 (18)2.2.6. 字段名称 (18)2.3. 数据类型 (18)2.3.1. 字符型 (18)2.3.2. 数字型 (19)2.3.3. 日期和时间 (19)2.3.4. 大字段 (19)2.3.5. 唯一键 (19)2.4. 设计 (20)2.4.1. 范式 (20)2.4.2. 表设计 (20)2.4.3. 索引设计 (23)2.4.4. 视图设计 (24)2.4.5. 包设计 (24)2.4.6. 安全性设计 (25)2.5. SQL编写 (26)2.5.1. 字符类型数据 (26)2.5.2. 复杂sql (27)2.5.3. 高效性 (27)2.5.4. 健壮性 (28)2.5.5. 安全性 (29)2.5.6. 完整性 (30)3. 备份恢复设计原则 (30)3.1. 数据库exp/imp备份恢复 (30)3.1.1. 数据库级备份原则 (30)3.1.2. 用户级备份原则 (30)3.1.3. 表级备份原则 (31)3.2. 数据库冷备份原则 (31)3.3. Rman备份恢复原则 (31)3.3.1. Catalog数据库 (31)3.3.2. Archive Log (33)3.3.3. 全备份策略 (33)3.3.4. 增量备份策略 (33)3.3.5. 恢复原则 (33)3.4. 备用数据库原则 (34)3.5. 一些小经验 (34)3.6. 系统调优知识 (35)3.6.1. 生成状态报表(statspack的使用) (35)3.6.3. 内存调整 (37)3.6.4. 排序的优化 (40)3.6.5. 统计信息 (41)4. 设计工具 (42)1.数据库物理设计原则1.1.数据库环境配置原则1.1.1.操作系统环境对于中小型数据库系统,采用linux操作系统比较合适,对于数据库冗余要求负载均衡能力要求较高的系统,可以采用Oracle10gRAC 的集群数据库的方法,集群节点数范围在2—64个。
数据库命名设计规范
一、数据库表及字段1.数据库表的命名规范:表的前缀应该用系统或者模块的英文名的缩写(全部大写)。
如果系统功能简单,没有划分为模块,则可以以系统英文名称的缩写作为前缀,否则以各模块的英文名称缩写作为前缀。
例如:如果有一个模块叫做 BBS(缩写为 BBS),那末你的数据库中的所有对象的名称都要加之这个前缀: BBS_ + 数据库对象名称, BBS_CustomerInfo 标示论坛模块中的客户信息表。
表的名称必须是易于理解,能表达表的功能的英文单词或者缩写英文单词,无论是完整英文单词还是缩写英文单词,单词首字母必须大写。
如果当前表可用一个英文单词表示的,请用完整的英文单词来表示;例如:系统资料中的客户表的表名可命名为:SYS_Customer。
如果当前表需用两个或者两个以上的单词来表示时,尽量以完整形式书写,如太长可采用两个英文单词的缩写形式;例如:系统资料中的客户物料表可命名为:SYS_CustItem。
表名称不应该取得太长(普通不超过三个英文单词)。
表名长度不能超过 30 个字符,表名中含有单词全部采用单数形式,单词首字母必须大写。
在命名表时,用单数形式表示名称。
例如,使用 Employee,而不是 Employees。
对于有主明细的表来说。
明细表的名称为:主表的名称 + 字符 Dts。
例如:采购定单的名称为: PO_Order,则采购定单的明细表为:PO_OrderDts;对于有主明细的表来说,明细表必须包含两个字段:主表关键字、 SN,SN 字段的类型为 int 型,目的为与主表关键字联合组成明细表的关键字,以及标示明细记录的先后顺序,如1,2,3……。
表必须填写描述信息,后台表名尽量与前台表名相同,后台独有的表应以_b 作为后缀。
如 r_gggd_b。
数据库表的命名采用如下规则:1)表名用模块名_开头,表名长度不能超过 30 个字符,表名中含有单词全部采用单数形式,单词首字母必须大写。
2)多个单词间用下划线(_)进行连接。
oracle 数据库设计及开发规范
数据库设计/开发规范作者:创建日期: 2011-5-26最近更新: 2011-5-26控制编号:版本: 1.0审批:拷贝号_____文档控制变更记录审阅分发概述为了强化软件开发标准/规范执行力, 提高软件产品的一次性通过率,特对现有的开发规范进行了重新输理,本文仅包括数据库层设计及开发规范。
目的1,规范应用程序的结构和编码风格标准化,便于阅读和理解。
为软件的维护提供有效的支持;2.监督软件开发规范/标准执行。
适用范围1.公司范围内所有基于数据库的所有开发活动。
程数据库对象开发规范—命名规范命名规范:1.1 对象命名汇总表1.2 对象命名约定:1.2.1 据库对象如TABLE、VIEW、SEQUENCE、TRIGER、PROCEDURE、FUNCTION、PACKAGE、COLUMN等的命名约定;1.2.2 命名全部以CUX开头.1.2.3命名尽量采用富有意义的英文词汇,不准采用汉语拼音;1.2.4 对象名称长度为1-30个字符,Database link名称也不要超过30个字符;1.2.5 命名只能使用英文字母,数字和下划线(分隔的有意义);1.2.6 避免使用Oracle的保留字如name,id,level,remark,description等关键字;1.2.7 数据表、视图名。
各表中相关列尽量同名并保持相同的宽度。
1.3 变量命名约定:所有用户定义的存储过程或函数中使用的变量、常量、异常等统一采用v_+混合拼写(如v_count)的格式,其中小写首字母代表变量的类型,命名尽量采用富有意议的英文词汇,如果要缩写尽量采用约定俗成的缩写或去元音缩写,如info(信息)和ctrl(控制)等。
1.3.1 所有名称采用英文单数名词或动词,避免出现复数。
1.3.2 字符串类型采用varchar2,部分情况可用char.1.3.3 如无特殊需求,避免使用大字段(blob, clob, long, text, image 等)。
数据库设计中的命名规范
数据库设计中的命名规范数据库设计过程中表、字段等的命名规范也算是设计规范的⼀部分,不过设计规范更多的是为了确保数据库设计的合理性、为了项⽬最终的协调稳定性,⽽命名规范则更多的是为了确保设计的正式和统⼀。
公正的讲,数据库中表字段等等以什么样的⽅式命名、取具体什么名字,并不会直接影响到项⽬的稳定性,不是说叫⿊猫项⽬就是正常的,叫⽩猫就运⾏异常了。
制定规范的直接⽬的是约束设计⾏为,最终⽬的是确保设计的合理统⼀。
规范虽然是有丰富项⽬经验的⼈制定的,但维护的却不是某个⼈的意志,⽽是项⽬的意志,因为遵守此规范对项⽬是好的有利的,此规范才有意义。
所以规范是为了项⽬利益最⼤化⽽在团队⼈员中形成的⼀种约定(貌似约定的英⽂单词Convention本⾝就有规范的意思),所有参与设计的⼈员都要遵守此约定,所有参与开发的⼈员都会依此约定解读设计。
我们约定,所有的主键统⼀命名为id,结果有设计⼈员违反约定将⼀个⾮主键字段命名为id,约定被打破,共识也就被打破,设计⼈员之间、开发⼈员与设计⼈员之间的沟通就出现了隔阂。
设计规范更多的是为了合理,命名规范更多的是为了统⼀,团队协作中,统⼀在某种程度上⽐局部设计开发的好坏更重要。
违反了约定,局部设计开发的再好,反⽽可能影响到项⽬整体的稳定协调。
约定优先于配置(Convention Over Configuration)。
在“设计规范”中提到过⼀些命名规范,也详细讲述了表、字段的类型、注释等属性的设置,为什么要求主键统⼀命名为id、统⼀为char(32)类型,为什么要求浮点型数值统⼀为decimal类型?我们希望团队中所有⼈看到设计成果,⼀眼就可以明⽩这个字段是做什么的、代表的含义是什么,可以但不⽌于见名知意。
再者,当前的开发模式,前后端代码及数据库⽂档、程序⽂档、接⼝⽂档等等⼤都是由⼯具⽣成,⽽其最底层的依据就是数据库,表、字段的命名注释同时会影响到⼯具⽣成的⽂档、代码中的类属性⽅法甚⾄是前台页⾯的命名注释,数据库设计命名的规范关系到整个项⽬的规范。
Oracle设计规范!
Oracle设计规范!⼀哥们整理的Oracle的设计规范,相当的不错,贴这以备后续之需!⽬录1、数据库模型设计⽅法规范1.1、数据建模原则性规范1.2、实体型之间关系认定规范1.3、范式化1NF的规范1.4、范式化2NF的规范1.5、范式化3NF的规范1.6、反范式化冗余字段使⽤规范1.7、数据库对象命名基本规范2、表的设计规范2.1、表的主键规范2.2、表的主键列规范2.3、使⽤注释的规范2.4、⼀个表所含字段总长度的规范2.5、⼀个表所含字段访问频繁度的规范2.6、⼀个表所含数据量的规范2.7、⼤对象字段(BLOB,CLOB)使⽤规范2.8、增量同步表的设计规范2.9、表的表空间使⽤规范2.10、索引的表空间使⽤规范3、设计分区表的规范3.1、RANGE分区的规范3.2、LIST分区的规范3.3、HASH分区的规范3.4、RANGE-LIST分区的规范3.5、RANGE-HASH分区的规范4、索引的设计规范4.1、主键索引的规范4.2、唯⼀约束索引的规范4.3、外键列索引的规范4.4、复合索引的规范4.5、函数索引的规范4.6、位图索引的规范4.7、反向索引的规范4.8、分区索引的规范4.9、索引重建的规范5、SQL访问规范5.1、避免SELECT *5.2、避免笛卡尔运算5.3、使⽤CTAS备份5.4、INSERT时需写全列名5.5、⼤数据量的DML5.6、完成事务及时commit5.7、java的变量绑定5.8、perl的变量绑定5.9、避免重复访问:使⽤group5.10、避免重复访问:竖向显⽰变横向现实5.11、避免重复访问:⽤表更新表5.12、数据库连接及时关闭6、实施规范6.1、Oracle版本规范6.2、数据库部署规范6.3、Oracle内存初始化6.4、Oracle字符集选择规范6.5、Oracle归档规范6.6、磁盘结构规范6.7、数据⽂件形式6.8、开发⼈员的备份规范1、数据库模型设计⽅法规范1.1、数据建模原则性规范原则对于涉及数据库的项⽬,需要构建数据库逻辑模型图,逻辑模型图是项⽬组成员之间在数据库层⾯沟通交互的依据,必须规范画图(表,主键,外键,关系)衡量对于表的个数在20个以上的模型,需要数据组参与设计,并需DBA作最终审核⽅法对于OLTP系统,采⽤范式化思想进⾏模型设计,对于OLAP系统,采⽤⾯向问题及多级颗粒度的思想进⾏模型设计实施采⽤主流的模型设计软件⼯具PowerDesigner,ERStudio,ERWin 1.2、实体型之间关系认定规范原则所有实体型间的业务逻辑关系,除了语义上保留其原有的业务关系外,本质上都要转化成关系数据库的三种关系(1:1)(1:N)(N:M)衡量对于3个及以上实体型之间的“多元关系”,需要数据组参与设计衡量对于3个及以上实体型之间的“多元关系”,需要数据组参与设计⽅法⽐如实体型A和实体型B之间的关系,可以通过问两个问题来确定他们之间的关系:⼀个A可以对应⼏个B?⼀个B可以对应⼏个A?(1)⼀个A对应⼀个B,相反⼀个B对应⼀个A,那么A对B就是1:1关系;(2)⼀个A对应多个B,相反⼀个B对应⼀个A,那么A对B就是1:N关系;(3)⼀个A对应多个B,相反⼀个B对应对个A,那么A对B就是N:M关系;实施(1)1:1关系选取任何⼀个表的主键到另⼀个表中作为外键来体现;(2)1:N关系将1表的主键在N表中以外键形式存在来体现;(2)N:M关系采⽤“关系表”来体现,该关系表的主键是由相关实体表的主键组成的符合主键,各实体表主键不但组成了该关系表的主键,同时也被看作外键在该关系表中存在;(4)对于三个以上表之间的“多元关系”常需要和反范式化冗余字段结合起来设计,以保证查询速度;1.3、范式化1NF的规范原则OLTP系统的模型,需要符合第三范式衡量对于表在20个以上的模型,需要数据组参与设计⽅法范式化要求:INF:列是访问的最⼩单位,具有原⼦性,不可再被分割;实施依据具体情况对相应属性进⾏拆分或者合并。
数据库建库规范
数据库建库规范在当今数字化的时代,数据库成为了企业和组织存储、管理和利用数据的核心工具。
一个设计良好、规范建设的数据库能够高效地支持业务运营,提供准确可靠的数据,而一个不规范的数据库则可能导致数据混乱、错误、丢失,甚至影响业务的正常开展。
因此,遵循一套科学合理的数据库建库规范至关重要。
一、数据库规划与设计在开始建库之前,需要进行全面的规划和设计。
这包括明确数据库的用途和目标,确定要存储的数据类型、规模和访问需求。
例如,如果是用于客户关系管理的数据库,就需要重点考虑客户的基本信息、交易记录、沟通历史等数据。
同时,要进行合理的数据库架构设计。
选择合适的数据库管理系统(如 MySQL、Oracle、SQL Server 等),并根据数据特点和业务需求确定数据库的模式,如关系型数据库的表结构、字段定义、主键和外键等。
在设计表结构时,要遵循规范化原则,尽量减少数据冗余,提高数据的一致性和完整性。
二、数据命名规范清晰、一致且有意义的数据命名是数据库建库规范的重要组成部分。
表名、字段名应该能够准确反映其包含的数据内容。
使用具有描述性的名称,避免使用模糊、简短或无意义的缩写。
例如,“customer_information”比“ci”更具可读性和可理解性。
命名规则应保持一致,采用统一的大小写格式(如驼峰命名法或下划线命名法),并遵循一定的命名约定,如使用名词来命名表,使用动词或形容词来命名存储过程等。
三、数据类型选择为每个字段选择合适的数据类型能够优化数据库的存储空间和性能。
例如,对于整数类型,要根据数据的取值范围选择合适的整数类型(如 tinyint、int 或 bigint)。
对于字符串类型,要根据预计的长度选择合适的长度(如 varchar 或 char),避免过度浪费存储空间。
四、主键和索引设计主键是用于唯一标识表中每条记录的字段或字段组合。
主键的选择应该具有唯一性和稳定性,通常建议使用自增整数类型作为主键。
数据库设计参考标准
数据库设计参考标准数据库设计参考标准文档控制文档属性文档修订历史[1]数据库设计参考标准一、概述为明确公司项目中数据库逻辑设计及物理设计的内容和流程,特制定本规范,供数据库设计、开发及维护人员参考。
数据库设计方法目前可分为四类:直观设计法、规范设计法、计算机辅助设计法和自动化设计法。
新奥尔良法是目前公认的比较完整和权威的一种规范设计法。
新奥尔良法将数据库设计分成需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。
目前,常用的规范设计方法大多起源于新奥尔良法,并在设计的每一阶段采用一些辅助方法来具体实现.以下是两种常用的规范设计方法:1. 基于E—R模型的数据库设计方法。
该方法是由P.P。
S。
chen于1976年提出的数据库设计方法,其基本思想是在需求分析的基础上,用E-R(实体—联系)图构造一个反映现实世界实体之间联系的企业模式,然后再将此企业模式转换成基于某一特定的DBMS的概念模式。
2. 基于3NF的数据库设计方法。
该方法是由S·Atre提出的结构化设计方法,其基本思想是在需求分析的基础上,确定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个单一的关系模式中,然后再分析模式中不符合3NF的约束条件,将其进行投影分解,规范成若干个3NF关系模式的集合。
其具体设计步骤分为五个阶段:(1)设计企业模式,利用规范化得到的3NF关系模式画出企业模式;(2)设计数据库的概念模式,把企业模式转换成DBMS所能接受的概念模式,并根据概念模式导出各个应用的外模式;(3)设计数据库的物理模式(存储模式);(4)对物理模式进行评价;(5)实现数据库。
备注:数据库设计规范、数据编程规范、数据库物理设计规范中以Oracle 数据库为例,其它结构的数据库类似.二、数据库设计流程[2]数据库设计参考标准以规范性设计为例,把数据库设计流程分为以下几个阶段.(一) 需求分析阶段1. 需求收集和分析,得到数据字典描述的数据需求和数据流图描述的处理需求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1命名原则1.1约定u是指对数据库、数据库对象如表、字段、索引、序列、存储过程等的命名约定;U命名使用富有意义的英文词汇,尽量避免使用缩写,多个单词组成的,中间以下划线分割u避免使用Oracle的保留字如LEVEL、关键字如TYPE (见Oracle保留字和关键字);u各表之间相关列名尽量同名;u除数据库名称长度为1 — 8个字符,其余为1 — 30个字符,Database link 名称也不要超过30个字符;u命名只能使用英文字母,数字和下划线;1.2表名规则如下:命名规则为xxx_yyy_TableName 。
xxx表示开发公司的名称,最多五个字母构成,尽量用简称;yyy 表示子系统中的子模块的名称(可以没有),最多五个字母构成,尽量用简称;TableName 为表含义,最多十个字母构成,尽量用简称TableName 规则如下:u使用英文单词或词组作为表名,不得使用汉语拼音u用名词和名词短语作表名u不使用复数正确的命名,例如:fiber_sys_userfiber_biz_order1.3存储过程规则如下:命名规则为xxx_yyy_StoredProcedureName 。
xxx表示开发公司的名称,最多五个字母构成,尽量用简称;yyy表示子系统中的子模块的名称(可以没有),最多五个字母构成,尽量用简称;StoredProcedureName 规则如下:u用动词或动词短语来命名,并带有宾语u需要符合用Pascal命名规则。
u尽量谨慎地使用缩写u尽量不要和关键字重合u不要用任何名前缀(例如U , B)u StoredProcedureName 内不使用下划线u当操作依赖条件时,一般结尾使用By+条件存储过程正确的命名,例如:sys_lnsertUsersys_SearchUserByUserlDsys_DeleteUserByUserlD1.4视图规则如下:u视图的命名采用xxx_yyy_ ViewName_v 。
xxx表示开发公司的名称,最多五个字母构成,尽量用简称;yyy表示子系统中的子模块的名称(可以没有),最多五个字母构成,尽量用简称;_v后缀表示视图, ViewName 部分表示视图的含义,最多十个字母构成,尽量用简称。
ViewName 规则如下:u用名词和名词短语,u不使用复数u用Pascal命名规则u尽量谨慎地使用缩写u尽量不要和关键字重合u不要用任何名前缀(例如U,B)u ViewName 中使用下划线视图正确的命名,例如:sys_UserView_vbiz_UserOrderView_v1.5索引规则如下:table_name_column_name_idx 。
多单词组成的 column name ,取前几个单词首字母,加末单词组成column_name 如:tst_sample 表 member_id 上的索弓丨:tst_sample_mid_idxsys_news 表 title 上的索弓丨:sys_news_titile_idx ;1.6序列规则如下:table_name_seq ;如:tst_sample 表的序列:tst_sample_seq1.7主键主键命名:table_name_pk ;如:tst_sample 表的主键:tst_sample_pk1.8外键夕卜键命名:table_name_column_name_fk ;多单词组成的 column name ,取前几个单词首字母,加末单词组成column_name如:tst_sample 表 user_id 字段的外键:tst_sample_uid_fktst_sample 表 type_id 字段的外键:tst_sample_tid」k2设计规范2.1规范约定1.遵守数据的设计规范 3NF规定•表内的每一个值都只能被表达一次。
•表内的每一行都应该被唯一的标识(有唯一键)。
•表内不应该存储依赖于其他键的非键信息。
2.实体表都必须包含四个字段:编号(ID )、代码(Code )、创建人(Created By )、创建时间(Creation Time )、修改人(Modified By )、修改时间(Modification Time )、删除标志(Delete Status )。
其含义如下:u编号是系统内的唯一标识U代码是客户为这个实体的编码,这个字段看需要确定是否保留u创建人是是指数据库记录创建人u创建时间是指数据库记录创建时间,默认为SYSDATEu修改人是是指数据库记录修改人u修改时间是指数据库记录修改时间,默认为SYSDATEu删除标志是本条记录是否已删除的标志( 0 :没有删除;1 :已经删除),数据中的数据不做真正删除,只设置这个标志这五个字段的命名规则如下u 实体名+ 字段名称,女口user_id 、user_code 、created_by 、creation_time 、modified_by 、modification_time 、delete_status 。
u这五个字段的类型和长度规则如下n 编号 INTEGERn 代码 VARCHAR2 (30 )n仓U建人INTEGERn 创建时间DATEn 修改人INTEGERn修改时间DATEn 删除标志CHAR(1)2.2字段规范1.一行记录必须表内唯一,表必须有主键。
2.枚举类型使用 NUMBER,且需要说明枚举类型的各个不同取值的含义3.ID结尾的字段为仅由数字组成,Code结尾的字段为仅由字母或数字组成4.用CHAR ( 1 )表示布尔值的取大写:“ Y,” “ N”5.应尽量使用 VARCHAR2 代替CHAR类型;6.VARCHAR(2)最多 4000 字符;7.DATE精确到秒,而非天;8.使用 CLOB 代替 LONG,BLOB 代替 LONG RAW ;9.使用NUMBER数据类型时请给定长度,例如:NUMBER(5,2) 表示整数部分最大3位,小数部分为2位;3使用规范3.1综合1.如果开发过程中需要建立索引,需要提交书面的更改请求,说明所需索引的定义(名称、字段列表、顺序、索引类型)以及建立的理由。
数据库管理员统一维护索引并将提交的请求更改。
2.数据库各表的初始数据(包含各代码表、配置表)需要提交给数据库管理员。
3.不得使用触发器。
4.涉及到数据库多表数据的更改 (Insert/Delete/Update) 必须使用数据库事务进行控制,并且必须有完整事务开始和提交/回滚机制。
不能使用范围事务5.尽量避免Union操作的使用,需要使用时,请向数据库管理员咨询使用Union操作的影响。
6.SQL语句和存储过程,尽量使用PL/SQL Develper 的代码美化器美化。
7.属于ORACLE的关键字大小,表名、列名等小写。
3.2查询1.在表查询中,一律不要使用 *作为查询的字段列表,需要哪些字段必须显式写明2.在表查询中,必须有 Where条件,除非此表为非增长表3.在表查询中,一次最多返回的记录条数不要超过1000条或记录内容不要大于 1MB的数据。
4. 在表查询中,作Order By 排序时,优先使用主键列,索引列5.多表关联查询时,优先使用Where条件,再作表关联,并且需要保证被关联的字段需要有索引。
6.避免在WHERE 字句中对列施以函数:错误:SELECT service_id,service_nameFROM service_promotionWHERE TO_CHAR(gmt_modified, ' yyyy -mm- dd ')=‘ 20001-09- 01 ';正确:SELECT service_id,service_nameFROM service_promotionWHERE gmt_modified>=TO_DATE( ‘ 2001 -9- 01 ' , ' yyyyn- dd ')AND gmt_modified< TO_DATE( ‘ 2001-9- 02 ' , ' yyyyn- dd ');1.避免使用数据库的类型自动转换功能:错误:SELECT category_id, category_name FROM categoryWHERE category_id = ‘ 123 -- jd ' s type is number正确:SELECT category_id, category_name FROM category WHERE category_id = 123; -- id ' s type is number3.4删除1.删除记录时,必须有 Where唯一条件2.当有主从表时,要先删除从表记录,在删除主表记录3.5修改1. 修改记录时,必须有 Where唯一条件4 Oracle 保留字和关键字ACCESS DECIMAL INITIAL ON STARTADD NOT INSERT ONLINE SUCCESSFULALL DEFAULT INTEGER OPTION SYNONYM ALTER DELETE INTERSECT OR SYSDATEAND DESC INTO ORDER TABLEANY DISTINCT IS PCTFREE THENAS DROP LEVEL PRIOR TOASC ELSE LIKE PRIVILEGES TRIGGERAUDIT EXCLUSIVE LOCK PUBLIC UID BETWEEN EXISTS LONG RAW UNIONBY FILE MAXEXTENTS RENAME UNIQUEFROM FLOAT MINUS RESOURCE UPDATECHAR FOR MLSLABEL REVOKE USERCHECK SHARE MODE ROW VALIDATE CLUSTER GRANT MODIFY ROWID VALUES COLUMN GROUP NOAUDIT ROWNUM VARCHAR COMMENT HAVING NOCOMPRESS ROWS VARCHAR2 COMPRESS IDENTIFIED NOWAIT SELECT VIEW CONNECT IMMEDIATE NULL SESSION WHENEVER CREATE IN NUMBER SET WHERECURRENT INCREMENT OF SIZE WITHDATE INDEX OFF LINE SMAL LINTCHAR VARHCAR VARCHAR2 NUMBER DATE LONG CLOB BLOB BFILEINTEGER DECIMALSUM COUNT GROUPING AVERAGETYPE。