Oracle数据库物理设计规范
Oracle数据库设计规范建议

Oracle数据库1 数据对象的命名规范1.1 通用规范1.1.1 使用英文:要用简单明了的英文单词,不要用拼音,特别是拼音缩写。
主要目的很明确,让人容易明白这个对象是做什么用的;1.1.2 一律大写,特别是表名:有些数据库,表的命名乃至其他数据对象的命名是大小写敏感的,为了避免不必要的麻烦,并且尊重通常的习惯,最好一律用大写;1.2 数据库对象命名规范1.2.1 表的命名1.2.1.1 表名的前缀:前缀_表名_T。
为表的名称增加一个或者多个前缀,前缀名不要太长,可以用缩写,最好用下划线与后面的单词分开;其目的有这样几个:1.2.1.1.1 为了不与其他项目或者其他系统、子系统的表重名;1.2.1.1.2 表示某种从属关系,比如表明是属于某个子系统、某个模块或者某个项目等等。
表示这种从属关系的一个主要目的是,从表名能够大概知道如何去找相关的人员。
比如以子系统为前缀的,当看到这个表的时候,就知道有问题可以去找该子系统的开发和使用人员;1.2.2 视图命名:相关表名_V(或者根据需要另取名字);1.2.3 程序包命名:程序包名_PKG(用英文表达程序包意义);1.2.4 存储过程命名:存储过程名_PRO(用英文表达存储过程意义);1.2.5 函数命名:函数名称_FUN(用英文表达函数作用);1.2.6 触发器命名:触发器名称_TRI(用英文表达触发器作用);1.2.7 索引命名:表名_字段名_IDX(如果存在多字段索引,取每字段前三个字符加下划线组合,如在 custom, cutting, curtail 上建立联合索引,命名为表名_cus_cut_cur_IDX,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如在 custid, custom,custname上建立联合索引,就命名为表_tid_tom_tna_IDX;1.2.8 唯一索引命名:表名_字段名_UNI(如果存在多字段唯一索引,取每字段前三个字符加下划线组合,如在 custom, cutting, curtail上建立唯一索引,命名为表名_ cus_cut_cur_UNI,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如:在 custid, custom,custname上建立唯一索引,命名:表_tid_tom_tna_UNI;1.2.9 主键命名:表名_字段名_PK(如果存在多字段主键,取每字段前三个字符加下划线组合,如在 custom, cutting, curtail上建立主键,命名为表名_cus_cut_cur_PK,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如在 custid, custom,custname上建立主键,命名:表_tid_tom_tna_PK;1.2.10 外键命名:表名_主表名_字段名_FK;1.2.11 Sequence命名:表名_列名_SEQ(或者根据需要另取名字);1.2.12 Synonym命名:与对应的数据库对象同名;1.2.12 JAVA命名:遵守公司相应的JAVA命名规范;2 SQL的设计和使用2.1 Sql 书写规范2.1.1 尽量不要写复杂的SQL:过于复杂的S QL可以用存储过程或函数来代替,效率更高;甚至如果能保证不造成瓶颈的话,把条SQL拆成多条也是可以的。
数据库设计规范

保密级别:□绝密□机密□秘密■内部公开数据库设计规范变更记录目录1编写目的 (1)2数据库策略 (1)2.1数据库对象长度策略 (1)2.2数据完整性策略 (1)2.3规范化设计与性能之间的权衡策略 (1)2.4字段类型的定义与使用策略 (1)3命名规范 (3)3.1数据库命名规则 (3)3.2数据库对象命名的一般原则 (4)3.3表空间(Tablespace)命名规则 (4)3.4表(Table)命名规则 (4)3.5字段命名规则 (4)3.6视图(View)命名规则 (5)3.7序列(Sequence)命名规则 (5)3.8存储过程(Procedure)的命名规则 (5)3.9函数(Function)的命名规则 (5)3.10索引(Index) 命名规范 (5)3.11约束(Constraint) 命名规范 (5)4数据模型产出物规范 (5)附录A:xml文件使用说明 (7)附录B:保留关键字 (8)1编写目的本文的目的是提出针对Oracle数据库的设计规范,使利用Oracle数据库进行设计开发的系统严格遵守本规范的相关约定,建立统一规范、稳定、优化的数据模型。
参照以下原则进行数据库设计:1)方便业务功能实现、业务功能扩展;2)方便设计开发、增强系统的稳定性和可维护性;3)保证数据完整性和准确性;4)提高数据存储效率,在满足业务需求的前提下,使时间开销和空间开销达到优化平衡。
2数据库策略1)数据模型全局单一,所有公共的数据模型得到共享。
2)数据库建模要基于统一的元数据管理机制。
3)数据库设计遵循关系数据库的规范化理论。
4)OLTP与OLAP分开设计。
2.1数据库对象长度策略数据库字段的长度要考虑业务对象的类型、数据库所用字符集、时间格式来设定出相对准确的长度,满足业务需要,同时保证数据库的高效,避免不必要的开销。
2.2数据完整性策略1)必须遵循数据库设计的第二范式,根据业务需要尽量满足第三范式。
小型数据库系统设计与开发

小型数据库系统设计与开发随着信息化时代的到来,数据库系统在各行各业中扮演着越来越重要的角色。
小型数据库系统的设计与开发是一项关键任务,它能帮助组织和企业有效管理和存储数据,并支持各种业务需求。
本文将介绍小型数据库系统的设计原则和开发过程,旨在帮助读者理解并应用这一技术。
在小型数据库系统的设计过程中,需按照以下几个步骤进行:1.需求分析:在设计数据库系统之前,首先需要明确系统的需求。
这包括确定并理解业务流程,收集和分析数据需求,并制定相应的设计目标。
例如,如果设计一个学生信息管理系统,需确定需要存储的数据字段,如学生姓名、年龄、学号、成绩等。
2.概念设计:在明确需求后,进行概念设计。
这一阶段主要涉及实体关系建模(ERM)和实体关系图(ERD)的设计。
ERM是一种用于描述实体、属性和实体之间关系的图形化表示方法,ERD则是基于ERM的图。
通过绘制ERD,可以清晰地表示实体和它们之间的关系,有助于后续的物理设计。
3.物理设计:在概念设计完成后,进行物理设计。
这一阶段主要包括将ERD转化为数据库模式的过程。
在物理设计中,需确定数据库的存储引擎、表的结构、索引和约束等。
此外,还需考虑性能优化和数据安全性等问题。
4.数据库开发:在数据库设计完成后,进行数据库开发。
这一阶段主要包括创建数据库、表和索引,定义视图、存储过程、触发器等,同时进行数据导入和数据验证等工作。
在开发过程中,可以使用各种数据库管理系统(DBMS)和相应的开发工具,如MySQL、Oracle、SQL Server等。
5.测试和调试:数据库开发完成后,需要进行测试和调试。
这包括对数据库进行逻辑和物理测试,验证数据库的正确性和稳定性。
同时,还需测试系统的性能和并发性能,以确保系统能够在实际应用场景中正常运行。
6.部署和维护:当数据库系统通过测试后,可以进行系统部署。
这包括将数据库系统部署到实际环境中,并进行相应的配置和优化。
部署完成后,还需要进行系统的持续维护,包括数据备份和恢复、性能监测和优化等。
工程项目管理数据库设计

摘要:随着我国工程建设的飞速发展,工程项目管理的重要性日益凸显。
工程项目管理数据库作为工程项目管理的重要组成部分,其设计质量直接影响到工程项目的顺利进行。
本文针对工程项目管理数据库的设计,从需求分析、概念结构设计、逻辑结构设计、物理结构设计等方面进行了详细阐述,以期为我国工程项目管理数据库的设计提供参考。
一、引言工程项目管理数据库是工程项目管理信息系统的重要组成部分,其目的是对工程项目进行有效的数据管理和信息共享。
随着工程项目规模的不断扩大,项目管理信息的复杂性日益增加,对数据库设计的要求也越来越高。
本文旨在通过对工程项目管理数据库的设计,提高工程项目管理的效率和质量。
二、需求分析1. 数据需求工程项目管理数据库需要收集和存储以下数据:(1)项目基本信息:项目名称、项目编号、项目类型、项目地点、项目规模、项目工期等。
(2)项目组织结构:项目组织架构、部门职责、人员信息等。
(3)项目进度管理:项目进度计划、实际进度、变更记录等。
(4)项目成本管理:项目预算、实际成本、成本分析等。
(5)项目质量管理:质量目标、质量控制点、质量检查记录等。
(6)项目安全管理:安全目标、安全措施、安全事故记录等。
2. 功能需求(1)数据录入:支持对各类项目管理数据的录入、修改、删除等操作。
(2)数据查询:根据不同需求,提供多种查询方式,如按项目、按部门、按人员等。
(3)数据统计:对项目数据进行统计、分析,为项目管理提供决策支持。
(4)数据报表:生成各类项目管理报表,如项目进度报表、成本报表、质量报表等。
(5)数据备份与恢复:定期备份数据库,确保数据安全。
三、概念结构设计1. 概念结构设计原则(1)标准化:遵循国家相关标准和规范。
(2)模块化:将数据库分为多个模块,便于管理和维护。
(3)一致性:确保数据库中数据的一致性。
(4)可扩展性:支持未来项目管理的需求扩展。
2. 概念结构设计根据需求分析,将工程项目管理数据库分为以下模块:(1)项目信息模块:包括项目基本信息、项目组织结构等。
数据库标准规范

数据库标准规范
组长:胡嘉楠 副组长:王冬冬 组员:居益林 姜存根
数据库设计说明
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,必须分区。
(完整版)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数据库的设计与应用。
oracle数据库课程设计

oracle数据库课程设计Oracle数据库课程设计一、引言Oracle数据库是目前最为常用的关系型数据库管理系统之一,具有强大的数据存储、管理和查询功能。
本文将就Oracle数据库课程设计进行详细介绍,包括设计目标、数据库结构、数据表设计、索引设计、查询优化等方面。
二、设计目标Oracle数据库课程设计的主要目标是实现一个功能完善、性能高效、安全可靠的数据库系统。
具体目标包括:1. 数据库结构合理,满足课程设计的需求;2. 数据表设计规范,字段命名清晰,数据类型准确;3. 索引设计合理,提高查询效率;4. 查询优化,避免冗余计算和不必要的IO操作;5. 数据备份与恢复,确保数据的安全性和可用性;6. 用户权限管理,保护数据库的安全性;7. 系统性能监控,及时发现和解决潜在问题。
三、数据库结构设计根据课程设计的要求,我们需要设计一个包含学生信息、课程信息、成绩信息等表的数据库。
根据实际需求,我们可以设计如下的数据库结构:1. 学生表(Student):包含学生ID、姓名、性别、年龄等字段;2. 课程表(Course):包含课程ID、课程名称、学分等字段;3. 成绩表(Score):包含学生ID、课程ID、成绩等字段。
四、数据表设计1. 学生表(Student):学生ID为主键,姓名为字符串类型,性别为字符类型,年龄为整数类型;2. 课程表(Course):课程ID为主键,课程名称为字符串类型,学分为浮点数类型;3. 成绩表(Score):学生ID和课程ID组合为主键,成绩为浮点数类型。
五、索引设计为了提高查询效率,我们可以在学生表和课程表上创建索引,以便快速检索学生和课程信息。
在学生表上创建学生ID的唯一索引,在课程表上创建课程ID的唯一索引。
六、查询优化在进行查询时,我们可以使用合适的查询语句和条件,尽量避免全表扫描和不必要的计算。
可以使用WHERE子句限定查询条件,使用JOIN操作关联不同表之间的数据,使用GROUP BY和HAVING 子句进行分组和筛选,使用ORDER BY进行排序等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.数据库物理设计规范
1.1.操作系统环境
本项目运行在Linux 64位操作系统上,数据库采用Oracle 11g。
1.2.内存要求
由于Oracle数据库对内存要求比较高,一般情况下,操作系统的内存越高,数据库响应能力就越大。
所以建议采用大于32G的内存。
1.3.交换区设计
当物理内存在2G以下的情况下,交换分区swap为物理内存的3倍,当物理内存>2G的情况下,swap大小为物理内存的1~2倍。
其他环境变量参考Oracle相关的安装文档和随机文档。
1.4.数据库SID
数据库SID是唯一标志数据库的符号,命名长度不能超过5个字符。
对于单节点数据库,以字符开头的5个长度以内字串作为SID的命名。
对于集群数据库,当命名SID后,各节点SID自动命名为SIDN,其中N为节点号:1,2,…,64。
例如rac1、rac2、rac24。
1.5.数据库全局名
数据库全局名称:Rac
1.6.数据库类型选择
对于海量数据库系统,采用Data Ware House的类型。
对于小型数据库或OLTP类型的数据库,采用Transaction Processing类型。
1.7.数据库连接类型选择
Oracle数据库有专用服务器连接类型和多线程服务器MTS连接类型。
对于批处理服务,需要专用服务器连接方式,而对于OLTP服务则MTS的连接方式比较合适。
由于采用MTS后,可以通过配置网络服务实现某些特定批处理服务采用专用服务器连接方式,所以数据库设计时一般采用MTS类型。
1.8.数据库SGA配置
数据库SGA可以采用手工配置或按物理内存比例配置,在数据库初始设计阶段采用按比例配置方式,在实际应用中按系统调优的方式修改SGA。
1.9.数据库字符集选择
为了使数据库能够正确支持多国语言,必须配置合适的数据库字符集,采用UTF8字符集。
注意:如果没有大对象,在使用过程中进行语言转换没有什么影响,具体过程如下(切记设定的字符集必须是ORACLE支持,不然不能start)SQL>’shutdownimmediate’;
SQL>’startup Mount’;
SQL>’alter system enabler restricted session’;
SQL>’alter system set job Queue processes’=0;
SQL>’alter Database open’;
SQL>’shutdown Immediate’;
SQL>startup
1.10.数据库文件配置
dB files是数据库能够同时打开的文件数量,默认值是200个。
当数据库规
划时文件数量FILES接近或超过200个时候,按以下估计值配置: DB_FILES=FILES*1.5
1.2.7.2Db_block_size
一个extent要是5个blocks的倍数为好,如:一个blocks是4096字节,那一个extent就是2M、4M或8M为好。
db. Block. size是数据库最小物理单元,一旦数据库创建完成,该参数无法修改,db. Block. size按以下规则调整:数据仓库类型:db. Block size尽可能大,采用8192或16384
OLTP类型:db. block size用比较小的取值范围:2048或4096
Blocks推荐是系统操作的块倍数(裸的设备的块大小是512字节,NTFS 是4K,使用8K的方式在大部分系统上通用)。
1) 控制文件
控制文件镜象,多个控制文件存放在不同的物理位置。
控制文件中参数设置,最大的数据文件数量不能小于数据库参数db. files。
2) 日志文件
日志文件的大小由数据库事务处理量决定,在设计过程中,确保每20分钟切换一个日志文件。
所以对于批处理系统,日志文件大小为几百M到几G的大小。
对于OLTP系统,日志文件大小为几百M以内。
对于批处理系统,日志文件组为5―10组;对于OLTP系统,日志文件组为3―5组,每组日志大小保持一致;对于集群数据库系统,每节点有各自独立的日志组。
为了确保日志能够镜象作用,每日志组的成员为2个。
3) 数据库回滚段配置
在Oracle11g数据库中,设计Undo表空间取代以前版本的回滚段表空间。
Undo表空间大小的设计规范由以下公式计算:
“Undo space”=UR*UPS*Db. Block. Size+冗余量
UR:表示在undo中保持的最长时间数(秒),由数据库参数
UNDO_RETENTION值决定。
UPS:表示在undo中,每秒产生的数据库块数量。
例如:在数据库中保留2小时的回退数据,假定每小时产生200个数据库块。
则“Undo space”=2*3600*200*4K=5.8G
4) 数据库临时段表空间配置
数据库临时段表空间根据实际生产环境情况调整其大小,表空间属性为自动扩展。
数据库系统表空间配置
系统表空间大小1G左右,除了存放数据库数据字典的数据外,其他数据不得存储在系统表空间。
5) 数据库表空间设计原则
当表空间大小小于操作系统对最大文件限制时,表空间由一个文件组成。
如果表空间大小大于操作系统对最大文件限制时,该表空间由多个数据文件组成,表空间的总大小为估算为:
Tablespace + sum(数据段+索引段)*150%。