![11-《数据库开发规范》模版_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-3/27/12a9e8e6-ccb9-49b7-b4a5-d107ab0e01a7/12a9e8e6-ccb9-49b7-b4a5-d107ab0e01a71.gif)
![11-《数据库开发规范》模版_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-3/27/12a9e8e6-ccb9-49b7-b4a5-d107ab0e01a7/12a9e8e6-ccb9-49b7-b4a5-d107ab0e01a72.gif)
![11-《数据库开发规范》模版_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-3/27/12a9e8e6-ccb9-49b7-b4a5-d107ab0e01a7/12a9e8e6-ccb9-49b7-b4a5-d107ab0e01a73.gif)
![11-《数据库开发规范》模版_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-3/27/12a9e8e6-ccb9-49b7-b4a5-d107ab0e01a7/12a9e8e6-ccb9-49b7-b4a5-d107ab0e01a74.gif)
![11-《数据库开发规范》模版_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-3/27/12a9e8e6-ccb9-49b7-b4a5-d107ab0e01a7/12a9e8e6-ccb9-49b7-b4a5-d107ab0e01a75.gif)
已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
新奇迹科技有限责任公司 数据库设计规范 ORACLE 版 目 录 1 后台 SQL 编程 1 1 1 1 程序的基本结构 1 1 1 2 程序的书写规范 1 1 1 2 1 基本要求 1 1 1 2 2 注释 1 2 1 2 3 流程控制语句的书写规范 1 3 1 2 4 SQL 语句的书写规范 1 4 1 3 前台编码 1 5 1 3 1 大小写要求 1 5 2 数据库的设计 2 5 2 1 数据库命名 2 6 2 2 查询的优化 2 7 2 3 事务处理 2 9 2 4 死锁防止 2 9 1 1 页 1 1 后台后台 SQLSQL 编程编程 1 1 1 1 程序的基本结构程序的基本结构 存储过程的基本结构如下 CREATE PROCEDURE prcedure name 声明存储过程 parameter name1 DATATYPE default output 参数说明 parameter name2 DATATYPE default output AS 程序说明 业务环节 综合部分 补收退收 过程名称 养老补收处理 功能描述 养老补收处理 参数描述 参数标识 名称 输入输出 类型 作 者 AAAAA 完成日期 1999 12 26 修改记录 AAAA 修改日期 2000 02 24 BEGIN statement 处理逻辑 RETURN 退出存储过程 END 1 2 1 2 程序的书写规范程序的书写规范 1 2 1 1 2 1 基本要求基本要求 后台存储过程的编写 维护 以 Script 文件为基础 具体的书写格式 1 2 页 请参见程序模板 程序单行的长度不得超过 80 字符 SQL 的保留字一律采用小写方式描述 系统函数一律采用小写方式描述 表名 字段名 视图名等 一律采用小写方式描述 为提高程序的可读性 必须采用有缩排方式的程序风格 使用空格字符缩进 1 2 2 1 2 2 注释注释 存储过程的头部必须包括有关的说明 其注释风格采用多行注释 方式 在程序内部 处理的关键点处需要进行注释 注释采用单行注释 方式 例 有效条件判断 IF condition Statement SQL 语句的每一个字段要追加注释进行说明 例 SELECT aad051 业务指标名称 字段名 aad052 分类指标名称 1 字段名 aad053 分类指标代码值 1 代码值 aad054 分类指标名称 2 字段名 aad055 分类指标代码值 2 代码值 aad056 分类指标名称 3 字段名 aad057 分类指标代码值 3 代码值 aad058 分类指标名称 4 字段名 aad059 分类指标代码值 4 代码值 1 3 页 aad060 分类指标名称 5 字段名 aad061 分类指标代码值 5 代码值 aae140 险种类型 aad031 财务科目代码 aad032 财务记帐方向 FROM ad05 业务数据与财务科目对照信息 WHERE aad050 prm EntityName 业务实体名称 视图名或表名 1 2 3 1 2 3 流程控制语句的书写规范流程控制语句的书写规范 IF ELSE 例 1 IF condition Statement1 ELSE Statement2 例 2 IF condition BEGIN Statement END ELSE BEGIN Statement END 例 3 IF condition1 Statement1 ELSE IF condition2 Statement2 ELSE Statement3 1 4 页 CASE 例 1 CASE WHEN searchcondition1 THEN result1 WHEN searchcondition2 THEN result2 ELSE resultN END 例 2 CASE valueT WHEN value1 THEN result1 WHEN value2 THEN result2 ELSE resultN END WHILE BREAK 和 CONTINUE 例 WHILE boolean expression BEGIN Statement1 Statement2 IF condition1 BREAK IF condition2 CONTINUE END 1 2 4 1 2 4 SQLSQL 语句的书写规范语句的书写规范 SELECT INSERT UPDATE DELETE SELECTINSERTUPDATEDELETE SELECT INTO FROM WHERE AND INSERT INTO VALUES INSERT INTO SELECT FROM UPDATE SET WHERE DELETE FROM WHERE 2 5 页 OR GROUP BY HAVING AND OR ORDER BY WHERE 游标 例 DECLARE cur name CURSOR FOR SELECT FROM WHERE AND OR FOR UPDATE OF column name OPEN cur name FETCH cur name INTO parameter1 CLOSE cur name 1 3 1 3 前台编码前台编码 1 3 1 1 3 1 大小写要求 大小写要求 类型类型约定约定 保留字大写 其它小写 2 2 数据库的设计数据库的设计 数据库的设计是把现实世界的商业模型与需求转换成数据库的模型的过程 对于关系数据库 标准的设计是满足第三范式 3NF 建表 当把E R模型转换 2 6 页 成关系模型时 实体变成表 属性变成列 实体简的联系就是数据的参照 1NF的规则是 每一列必须是原子的 不能分成多个子列 每一行和列的位置只能有一个值 不能具有多值列 2NF的规则是 除满足1NF外 非主码列必须依赖于所有主码 而不是组合 主码的一部分 3NF的规则是 除满足2NF外 任一非主码列不能依赖于其它非主码列 数据库中的数据规范化的优点是减少冗余 节约存储空间 相应逻辑和物理 I O 次数减少 同时加快了增 删 改的速度 但是对于完全规范的数据库查 询时 通常需要更多的连接操作 通常一个完全规范化的设计并不能总生成最优的性能 因此通常是先按照 3NF设计 如果有性能问题 再通过反规范来解决 采用规范的好处是降低连接操作的需求 降低外码和索引的数目 降低表 的数目 带来的问题可能是出现数据的完整性问题 加快查询速度 降低修改 速度 因此做反规范时需权衡利弊 反规范的技术有 增加冗余列 增加派生列 重新组表 复制表和分裂表 2 1 2 1 数据库命名数据库命名 数据库相关对象命名方法为类简写 标识 拼音简写 表名称 视图名及 快照名采用大写 表字段名采用小写 例如 一日志表名操作日志 主表名 EVENT 那么命名 EVE CZRZ 一代码表名代码类型那么命名为 B DMLX 此表中有序号 代码名称和代码种类三列那么命名为 va xh va dmmc va dmzl 2 7 页 此表中有插入性触发器一个那么命名为 ti sd dmlx 名称方法描述 主表 全英文主表 子表 主表缩写 主表的子表 注 如 果公用子表 PUB 日志表 主表缩写 日志表 注 如果公 用子表 PUB 表 大写 代码表 B 代码资料表 字段 小写 表字段类型缩写 字段标识字段名构成 索引 视图v View 快照s Snap 存储过程 对于公用存储过程用 p 做前缀 所有的类 ta 插入类 ti Trigger Insert 更新类 tu Trigger Update 删除类 td Trigger Delete 输入类 i Input 输出类 o Output SQL 变量 内部类 表字段类型缩写与表字段类型对应关系如下 表字段类型表字段类型缩写类型意义 Number n 数值 Charc 字符 Varchar2 v 变长文本 Dated 日期 Blob blb 二进制对象 Clob clb 字符大对象 Bfilebfl 二进制文件指针 Float flt 浮点数 Nchar nc 定长字符串 Nvarchar2 nv 变长字符 Ref r 指针 2 8 页 2 2 2 2 查询的优化查询的优化 1 创建搜索变量时应注意 在搜索子句的列名边要避免函数 算术操作符和其它表达式 避免不兼容的数据类型 使用复合索引的第一个列名 给优化器尽可能多的搜索变量 检查showplan的输出 看使用了哪些索引和关键字 2 子查询的优化 把子查询转化为连接查询 把子查询的结果存储到工作表中 把子查询放到执行的最后处理 3 查询 例如 在int col上有索引 select from table where int col 3 就不如 select from table where int col 4 4 exists和not exists 在子查询和if语句中 exists和in要比not exists和not in执行得快 因此 应尽量不用not exists 5 count和exists 不要在子查询中使用count函数做存在性检查 因为它比exists要慢得多 6 连接查询中的or子句和union子句 Adaptive Server不能对用or连接的join查询优化 可以将它转化了一个 union来处理 分别进行查询优化 7 集函数 2 9 页 对于max和min函数的列上有索引的情况 Adaptive Server会采用特殊的优 化方式 Max numeric col 2 就不如max numeric col 2 最好将集函数单独使用 如 select max price min price from titles 应分为 select max price from titles select min price from titles 8 连接和数据类型 当连接用的数据类型不同时应强制转换小表的列 9 参数和数据类型 应尽量采用与查询表的列相同类型的参数类型 2 3 2 3 事务处理事务处理 1 保证事务的原子性 2 避免在事务中采用交互操作 如当处理错处 在提示信息给用户之前应先 回滚事务 If sqlca sqlcode 0 then rollb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版小学一年级音乐教学计划范本
- 新版华东师大版八年级数学下册《17.5实践与探索第1课时》听评课记录
- 星球版地理七年级下册《第三节 印度》听课评课记录2
- 九年级英语unit1听评课记录
- 鲁人版道德与法治七年级上册1.2《爱上学习》听课评课记录
- 人教部编版道德与法治七年级下册:1.1 《悄悄变化的我》 听课评课记录4
- 2025年数字精密压力表合作协议书
- 苏科版数学七年级上册《2.6 有理数的乘法与除法》听评课记录
- 四年级上册口算
- 数学二年级口算加减乘除2000题
- (2024年)肺栓塞的护理课件
- 小学数学三年级下册第八单元《数学广角-搭配(二)》大单元集体备课整体设计
- (高清版)TDT 1031.6-2011 土地复垦方案编制规程 第6部分:建设项目
- 2024年江苏省高中学业水平测试生物试卷
- 露天采场危险有害因素辨识
- 苏教版一年级上、下册劳动与技术教案
- 七上-动点、动角问题12道好题-解析
- 山东曲阜的孔庙之旅
- 一到六年级语文词语表人教版
- 中煤集团综合管理信息系统运维服务解决方案-V3.0
- 直播营销与运营(第2版)全套教学课件
评论
0/150
提交评论