当前位置:首页 > IT新闻 > 只有10条,阿里巴巴MySQL建表规范,居然...

只有10条,阿里巴巴MySQL建表规范,居然...

go1234个月前 (07-23)IT新闻224

很多公司有很厚一本的MySQL规范,规范内容越多,越难落地执行。 阿里的MySQL建表强制规范只有10条,大伙可以参考借鉴。 画外音,另外: 索引强制规范有4条,SQL强制规范有9条;

很多公司有很厚一本的MySQL规范,规范内容越多,越难落地执行。


阿里的MySQL建表强制规范只有10条,大伙可以参考借鉴。

画外音,另外:

索引强制规范有4条,SQL强制规范有9条;



建议规范与参考规范若干。


规范一:是否字段

1. 表达是否概念的字段,必须使用is_xxx的形式命名;



2. 数据类型必须是 unsigned tinyint;



3. 1表示是,0表示否;




举例:是否删除



正确:使用is_deleted,1表示删除,0表示未删除



错误:deleted, if_deleted, delete_or_not




规范二:字母与数字



1. 表名,字段名禁止出现大写;



画外音:MySQL在Windows下不区分大小写,Linux下虽然区分,但为了避免节外生枝,统一禁止大写。



2. 禁止数字开头,禁止两个下划线中间只有数字;




举例:



正确:aliyun_admin,level3_name



错误:AliyunAdmin,level_3_name




规范三:表名禁止使用复数



表名表示实体内容,不是实体数量,禁止使用复数。




规范四:禁止使用保留字



常见的例如:desc,range,match,delayed...




规范五:主键,唯一索引,普通索引命名规范



1. 主键索引名:pk_xxx



画外音:primary key



2. 唯一索引名:uk_xxx



画外音:unique key



3. 普通索引名:idx_xxx



画外音:index




规范六:小数类型规范



1. 小数类型使用decimal;



2. 禁止使用float和double;



画外音:float和double存在精度损失,比较的时候,可能得到意想不到的结果。

3. 如果范围超过decimal,可以拆成整数与小数分开存储;




规范七:字符串长度非常相近,必须使用定长char



画外音:预先分配存储空间,不会触发重新分配。




规范八:可变字符串规范



1. 如果字符串长度较长,且内容长度差异较大,使用varchar;

画外音:不预先分配存储空间,比较节省空间。



2. 如果字符串长度大部分超过5000,使用text,独立出一张表单独存储;



画外音:避免影响主表其他字段索引效率。




规范九:强制字段



1. 必须具备id字段:类型为bigint unsigned,单表时自增,步长为1,不具备业务含义;



2. 必须具备create_time字段:类型为datetime(除非记录时区信息,使用timestamp);



3. 必须具备update_time字段:同上;




规范十:禁止进行物理删除操作



画外音:逻辑操作保留了数据资产的同时,能够追溯操作行为。


贵司有MySQL规范吗?



你觉得他们的建表规范合理吗?



声明:本站所有内容均为自动采集而来,如有侵权,请联系删除

相关文章

国产数据库圈,为啥那么多水货?

国产数据库圈,为啥那么多水货?

如今,在 “国产化” 的趋势下,国产数据库范畴的创业浪潮一浪高过一浪。截至 2023 年底,中国市场上有将近 300 款数据库产品,约有 100 家数据库厂商。著名投资机构如红杉、高瓴、腾讯等纷纭下场,每家手上投资的数据库至少在 3 个以上,可见资本的青睐。一些数据库凭借自身的实力,拿下了亿元融资,...

阿里云:以后公司20%代码由通义灵码编写

阿里云:以后公司20%代码由通义灵码编写

阿里云正在内部全面推行 AI 编程,应用通义灵码帮助程序员写代码、读代码、查 BUG、优化代码等。阿里云还专门给通义灵码分配了一个正式的员工工号 ——AI001。阿里云表现:“以后公司 20% 的代码都由通义灵码编写,程序员将更加专注于体系设计和核心业务开发。”据介绍,传统开发模式下,程序员每天须要...

微软正式开源专为Windows打造的Sudo

微软正式开源专为Windows打造的Sudo

微软已在 Windows 11 Insider Preview Build 26052 中宣布实用于 Windows 的 Sudo,并将其在 MIT 协定下进行开源。Sudo for Windows 将许可用户直接从未提权终端窗口运行提权命令。如何启用 Sudo for Windows导航至 Set...

免费编程神器,人人必备的AI编程助手:Fitten Code

免费编程神器,人人必备的AI编程助手:Fitten Code

 现在程序员的工作中,AI的才能已经越来越经常被用到。今天我们要推举一款国产编程神器,它基于自研代码大模型,可以赞助程序员更迅捷、更精确、更高质量地完成编码义务,大幅晋升开发效力,并且它完整免费应用!它就是: Fitten CodeFitten Code 是什么Fitten Co...

27K star!开源AI程序员,可独立完成95%的开发任务

27K star!开源AI程序员,可独立完成95%的开发任务

IT 咖啡馆,摸索无穷可能!恭喜你发现了这个宝藏,这里你会发现优质的开源项目、IT知识和有趣的内容。 应用AI来生成一部分代码比拟常见,那你斟酌过让AI完成全部项目吗?今天我们介绍的开源项目,它愿望为世界上第一位人工智能开发伙伴,可独立完成95%的开发义务,它就是:GPT Pilot&nb...

听说Signals快要登陆React了?

听说Signals快要登陆React了?

“Signals”专门用于管理客户端状况,而且从最近的趋势来看,其很有可能在 React 中施展作用。就在上周,Dashi Kato(Waku 的缔造者)宣布了 use-signals,一个面向 TC39 signals 的试验性 React hook,旨在演示 Signals 如何在 React...