• 周六. 5月 25th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

179.阿里java开发手册

admin

11月 28, 2021

数据库范式

数据库:
第一范式: 要求表中不能存在重复列
第二范式: 必须表中每一行数据可以确定通过pk键完整表示的
第三范式: 表中每一列数据只完全依赖pk,数据列之间不存在依赖关系, 如果存在依赖则需要分表

阿里数据开发强制要求

阿里java开发手册:
1.表达是否概念,字段需要使用is_xxx, 数据类型使用unsigned tinyint 1:true 0:false
2.表名,字段名,必须使用小写字母,禁止出现数字开头,禁止两个下划线中间只出现数字
3. 表明不允许使用复数名词, 不允许使用保留字
4. 主机索引使用pk_字段名, 唯一索引使用uk_字段名, 普通索引使用idx_字段名称
5. 小数类型使用decimal, (float和double类型存在精度问题, 尤其是钱问题)
6. 如果字段长度几乎相等使用char字符串类型, 比如电话号码
7. varchar 为变长类型, 长度超过5000, 需使用text字段, 同时需要将该字段单独一张表, 防止影响数据库其他字段索引使用
8.表必须具备单个字段 id, gmt_create(创建时间:不允许修改), gmt_modified (更新时间: 可以修改)
9. 如果修改字段含义或对字段表示的状态追加时,需要及时更新字段注释
10.业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引. ( 时间比空间更重要, 同时保证数据唯一性)
11.超过三个表禁止 join。需要 join 的字段,数据类型保持绝对一致;多表关联查询时,保证被关联的字段需要有索引
12.在 varchar 字段上建立索引时,必须指定索引长度,没必要对全字段建立索引,根据实际文本区分度决定索引长度
13.页面搜索严禁左模糊或者全模糊,如果需要请走搜索引擎来解决。(索引其实就是排序, 组合索引就是先排序前面的字段, 再根据剩下字段排序,左模糊或者全模糊会导致索引失效 )
14.不要使用 count(列名)或 count(常量)来替代 count(*),count(*)是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。(count(*) 这个数据早就被记录在一个数据中,不需要查表)
15.count(distinct col) 计算该列除 NULL 之外的不重复行数,注意 count(distinct col1, col2) 如果其中一列全为 NULL,那么即使另一列有不同的值,也返回为 0。
16.当某一列的值全是 NULL 时,count(col)的返回结果为 0,但 sum(col)的返回结果为 NULL,因此使用 sum()时需注意 NPE 问题
17.使用 ISNULL()来判断是否为 NULL 值  (null和任何值比较都是null)
18.代码中写分页查询逻辑时,若 count 为 0 应直接返回,避免执行后面的分页语句。(先查后改)
19.不得使用外键与级联,一切外键概念必须在应用层解决

2020版阿里java开发手册
链接:https://pan.baidu.com/s/1zPabBvor-vkogwDIYz2RiA
提取码:bq3r

《179.阿里java开发手册》有3个想法
  1. Wow, fantastic weblog layout! How long have you ever
    been blogging for? you made blogging glance easy. The full look of your
    website is magnificent, as well as the content! You can see similar here ecommerce

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注