数据库设计开发规范-阿里.pdf


-
数据库设计开发规范-阿里.pdf
同里巴巴计 AlIbaba Cloud Computing 名词解释 ●数据库整体设计规范(必读) 1.设计 命名 数据库对象设计规范 表 设计 命名 常用字段类型 字段注释 .24 索引 设计 26 命名 26 约束 设计 26 命名 26 触发器 命名 .27 过程、函数 设计 命名 27 开发规范 编码规范 1.使用SαL操作数据库前,必须由 use db name开始… 28 2.如果需要事务的支持,在确认使用了 innodb存储引擎的前提下,在数据 库连接时,先关闭自动提交 28 3.写到应用程序里的SQL语句,禁止一切DDL操作.…. 28 4.获取当前时间请使用now(),不要用 sysdate(来代替 28 5.写sQL的时侯一定要给每个字段指定表名做前缀…28 6.在 iBatis的 SqlMap文件中绑定变量使用“ tvar name#表示,替代变量 使用“ Svar names" 28 7.请不要写 select*这样的代码,指定需要的字段名 8 8.Mysq对日期( datetime)允许“不严格"语法 .29 9.Mysq|的日期与字符是相同的,所以不需要做另外的转换…29 10.避免多余的排序。使用 GROUP BY时,默认会进行排序,当你不需要排序 时,可以使用 order by null 11.避免在 Where子句中对字段施加函数 29 12.严格要求使用正确类型的变量,杜绝Mwsq做隐式类型转换的情况……29 13.全模糊查询无法使用INDEⅩ,应当尽可能避免…. 14.表连接规范 29 15.表连接分页查询的使用.130 16."join"、"n"、" not in"、" exsits"和" not exists"的使用.… 30 17.其它编写规范 同里巴巴计 AlIbaba Cloud Computing 格式规范 1.注释说明.…… 2.缩进 3.断行 D着着D着音着‖着着 34 附录: 保留字 名词解释 同里巴巴计 AlIbaba Cloud Computing ●数据库整体设计规范(必读) 1.设计 应用里面,多个数据库之间请不要通过 访问 请不要采用触发器。 请不要使用视图和物化视图。 请不要使用外键约束,如果数据存在外键关系,请在程序层面实现 请尽量不要使用,如果不得必须使用,的设计必须是可重复执行的。 请尽量不要采用存储过程。 应用必须具有自动重连的机制。但是又要避免每执行一条语句就检查一下的可 用性。 2.命名 命名应使用富有意义的英文词汇,多个单词组成的,中间以下划线分割。 命名只能使用英文字母,数字和下划线。 命名避免使用 保留字和系统关键字。 命名长度以不超过个字符为宜避免超过 命名全部采用小写,并且名称前后不能加引号。 同里巴巴计 AlIbaba Cloud Computing ●数据库对象设计规范 1.表 设计 在设计时尽量包含两个日期字段 创建日期 修改日期且 非空对表的记录进行更新的时候,必须包含对 字段的更新 尽可能使用简单数据类型,不要使用类似数组或者嵌套衣这种复杂类型。 必须要有主键,且尽量不要使用有实际意义的字段做主键, 需要的字段,数据类型保持绝对一致。 当表的字段数非常多时,可以将表分成两张表,一张作为条件查询表,一张作为详 细内容表(主要是为了性能考虑)。 当字段的类型为枚举型或布尔型时,建议使用 类型。 命名 同一个模块的表尽可能使用相同的前缀,表名尽可能表达含义,例如: 字段命名应尽可能使用衣达实际含义的英文单词或缩写,不要使用类似“ 这种无意义的字段名。 布尔值类型的字段命名为描述。如 表上表示是否为 的会员的字 段命名为 字段类型 类型 规范 固定精度数字类型 不固定精度数字类型,当不确定数字的精度时使用,通常使用此类型 当仅需精确到秒时,选择而不是 类型 扩展日期类型,不建议使用 变长宇符串,最长个字节 定长字符串,除非是 否则不要使用 当超过字节时使用,但是要求这个字段必须单独创建到一张表中, 然后有与主表关联。此类型应该尽量控制使用 同里巴巴计 AlIbaba Cloud Computing 字段注释 标准字段注释由一组开头的标签空格文本组成 表的部分字段为例: 主键 用户所在公司 状态 未激活状 态激活状态 是否为主账号。后台生成 时使用 是帐号,非主帐号 个公司内部,有且仅有 个主账号存在 注释标签说明 必 标签名 中文含义 备注 填 字段中文描述 字段对应的外键字段 取值范围说明。多个值以 如此字段的值由系统自动生成,可忽略不书写。 分隔 数据范本 对于复杂效据格式,最好给一个数据范本。 计算公式 写明该字段由哪些字段以何和公式计算得到。 数据逻辑 简要写明该字段的数据是在何种业务规则下,如何变 化的 标识此字段冗余 标识此字段已废弃 简要写明:废弃人废弃日期废弃原因 同里巴巴计 AlIbaba Cloud Computing 2.索引 设计 索引通常不适合我们的环境 索引根据实际,由创建。 不要创建带约束的索引,所有的约束效果都通过显小创建约束然后再 个已经创建好的普通索引来实现。 命名 各部分以下划线()分割 多单词组成的 取前几个单词首字母,加末单词组成 衣 上的索引: 3.约束 设计 主键最好是无意义的,由 产生的字段,类型为 不建议使用组 合主键。 若要达到唯一性限制的效果,不要创建 ,必须显式创建普通索引和约束 (或),即先创建个以约束名命名的普通索引,然后创建个约束,用 指定索引 当删除约束的时候,为了确保不影响到 最好加上 参数。 主键的内容不能被修改。 外健约束一般不在数据库上创建,只表达一个逻辑的概念,由程序控制 当万不得已必须使用外健的话,必须在外健列创建 命名 主键约束 结尾 约束:结尾, 约束: 结尾, 外键约束: 结尾,以连接本表与主表, 4. SEQUENCE 命名 同里巴巴计 AlIbaba Cloud Computing 5.触发器 命名 若是用」同步的触发器以作为前缀 6.过程、函数、包 命名 过程以开头,函数以开头,包以开头 变量命名约定:本地变量以为前缀,参数以为前缀,可以带输入,输出、 输入输出)表示参数的输入输出类型 同里巴巴计 AlIbaba Cloud Computing ●SQL开发规范 ∵.编码规范 1.在代码中不允许出现任何DDL语句 语句一律由编写并统一执行 2.写SQL的时侯一定要使用绑定变量 a)对于极少数情况下不使用绑定变量提高性能,使用之前一定要和DBA沟通 3.写S哑L的时候一定要给每个字段指定表名做前缀 比如 好处是来带来性能的提升,二来可以避免·些错 误的发生。 4.在sq1map中的变量,要用#号,而不要用$号 。因为 是字面意义的替换,这和形式会有注入的漏洞,而 是带类型的替换,不存在注入的风险 5.请不要写 select*这样的代码,指定需要的字段名 6.避免在 where子句中对字段施加函数 通常,不允许在字段上添加函数或者表达式,这样将导致索引失效,如: 错误的写法 正确的写法: 如果是业务要求的除外,但需要在编写时咨询 特别注意,当表迕接时,用于连接的两个表的字段如果数据类型不一致,则必须在 边加上类型转换的函数,如 锆误的写法(是 类型,而 是类型 小钗

-
2019-04-21
-
2019-02-26
-
2019-01-17
-
2018-09-10
-
2018-07-10
-
2018-06-08
- 我当时上传的不是这么多分,我上传的资源当时最多就是1个积分,是CSDN官网修改下载积分的规则,下载积分会根据下载量自动调整,详见公告:http://bbs.csdn.net/topics/392261753
-
2018-03-23
-
2018-03-13
- 我当时上传的不是这么多分,我上传的资源当时最多就是1个积分,是CSDN官网修改了积分,不知道他们是基于什么算法来做的,你可以自己看看上传的是不是也被加分了,现在我好多免费都要积分才能下载
-
2018-03-11
- 我当时上传的不是这么多分,我上传的资源当时最多就是1个积分,是CSDN官网修改了积分,不知道他们是基于什么算法来做的,你可以自己看看上传的是不是也被加分了,现在我好多免费都要积分才能下载
-
2018-02-28
这是阿里内部规定的数据库规范,求大神解释_course
2017-04-23怎么算是好MySQL SQL – 所有WHERE条件都加上引号 – 避免潜在的类型隐式转换风险 – 避免个别条件失效时SQL语法错误
231KB
阿里大牛-数据库开发标准规范
2018-08-29目的:1.规范化和标准化MySQL 开发设计。 2.指导数据库研发人员、数据库管理员合理使用MySQL,发挥MySQL 最优性能。
1004KB
阿里巴巴设计规范体系文档集
2009-05-20阿里巴巴设计规范 具体页面见http://www.ahfqw.com/30web/ali/ 现提供打包下载。
26KB
数据使用规范-阿里手册
2018-11-08数据库优化高手进阶之路必备,建表规范 、索引规范、查询规范。阿里巴巴Java开发手册
-
下载
浙江科技学院《概率论与数理统计》09-13历年期末考试试卷(含答案).pdf
浙江科技学院《概率论与数理统计》09-13历年期末考试试卷(含答案).pdf
-
学院
MySQL 高可用工具 DRBD 实战部署详解
MySQL 高可用工具 DRBD 实战部署详解
-
学院
云开发后台+微信扫码点餐小程序+cms网页管理后台 含后厨端和用户端
云开发后台+微信扫码点餐小程序+cms网页管理后台 含后厨端和用户端
-
博客
括号分类
括号分类
-
下载
浙江科技学院土木工程材料试题.pdf
浙江科技学院土木工程材料试题.pdf
-
博客
element ui表单处理的简洁方法
element ui表单处理的简洁方法
-
学院
Mysql数据库面试直通车
Mysql数据库面试直通车
-
学院
PPT大神之路高清教程
PPT大神之路高清教程
-
下载
西南科技大学《电路分析》试题库(有答案).pdf
西南科技大学《电路分析》试题库(有答案).pdf
-
学院
MySQL Router 实现高可用、负载均衡、读写分离
MySQL Router 实现高可用、负载均衡、读写分离
-
博客
快手算法面试题:求从两个有序数组选出两个数,能得出的最小差值,取绝对值
快手算法面试题:求从两个有序数组选出两个数,能得出的最小差值,取绝对值
-
博客
清华大学历年考研复试机试真题 - 1422 进制转换3
清华大学历年考研复试机试真题 - 1422 进制转换3
-
博客
765. 情侣牵手 查并集
765. 情侣牵手 查并集
-
下载
中山大学《护理综合》03-16历年考研试卷(含答案).pdf
中山大学《护理综合》03-16历年考研试卷(含答案).pdf
-
下载
浙江科技学院《线性代数》06-14年历年期末考试试卷(含答案).pdf
浙江科技学院《线性代数》06-14年历年期末考试试卷(含答案).pdf
-
博客
Jquery绑定事件没有响应
Jquery绑定事件没有响应
-
下载
浙江科技学院《建筑经济》历年期末考试试卷(含答案).pdf
浙江科技学院《建筑经济》历年期末考试试卷(含答案).pdf
-
博客
SpringBoot整合Redis
SpringBoot整合Redis
-
学院
【硬核】一线Python程序员实战经验分享(1)
【硬核】一线Python程序员实战经验分享(1)
-
学院
MySQL 四类管理日志(详解及高阶配置)
MySQL 四类管理日志(详解及高阶配置)
-
博客
markdown基础知识
markdown基础知识
-
下载
西南科技大学《信号与系统》5套历年期末考试(含答案).pdf
西南科技大学《信号与系统》5套历年期末考试(含答案).pdf
-
学院
2021年 系统架构设计师 系列课
2021年 系统架构设计师 系列课
-
博客
分库分表后如何解决不同维度查询的问题
分库分表后如何解决不同维度查询的问题
-
学院
华为1+X——网络系统建设与运维(高级)
华为1+X——网络系统建设与运维(高级)
-
学院
MySQL 函数、用户自定义函数
MySQL 函数、用户自定义函数
-
学院
libFuzzer视频教程
libFuzzer视频教程
-
下载
浙江科技学院《钢结构原理》多套期末考试试卷(部分卷含答案).pdf
浙江科技学院《钢结构原理》多套期末考试试卷(部分卷含答案).pdf
-
学院
项目管理工具与方法
项目管理工具与方法
-
学院
投标方法论
投标方法论