【MySQL数据库开发设计规范】之命名规范

欢迎点开这篇文章,自我介绍一下哈,本人姑苏老陈 ,是一名JAVA开发老兵。

本文收录于 《MySQL数据库开发设计规范》专栏中,该专栏主要分享一些关于MySQL数据库开发设计相关的技术规范文章,定期更新,欢迎关注,谢谢 :-)

文章目录

    • 一、前言
    • 二、命名规范
    • 三、总结

一、前言

在我们对数据库技术方案设计的时候,我们是否有自己的设计理念或者原则,还是更多的依据自己的直觉去设计,是否曾经懊悔线上发生过的一次低级故障,可能稍微注意点就可以避免,是否想过怎么才能很好的避免,规范的价值正是我们工作的检查清单,需要我们不断从错误中积累有效经验来指导未来的工作。

本文介绍MySQL数据库开发设计规范之命名规范。

PS:以下规范在大型互联网公司经过了充分的验证,尤其适用于并发量大、数据量大的业务场景。

在这里插入图片描述

二、命名规范

1.【强制】库名、表名、字段名要小写,下划线风格,不超过32个字符,必须见名知意,建议使用名词而不是动词,词义与业务、产品线等相关联,禁止拼音英文混用。

说明:比如商城项目生产库命名为mall_prod,开发库命名为mall_dev,订单表order_info,订单明细表 order_detail_info;

2.【强制】普通索引命名格式:idx_表名_索引字段名(如果以首个字段名为索引有多个,可以加上第二个字段名,太长可以考虑缩写),唯一索引命名格式:uk_表名_索引字段名(索引名必须全部小写,长度太长可以利用缩写),主键索引命名:pk_ 字段名

说明:比如idx_stu_name,uk_stu_no,pk_id;

3.【强制】库名、表名、字段名禁止使用MySQL保留字;

说明:MySQL的保留字是指数据库系统自身保留并用于特定功能的标识符,比如LIKE、OR、AND等等,具体见官网:

https://dev.mysql.com/doc/refman/5.7/en/keywords.html

4.【强制】临时库表名必须以tmp为前缀,并以日期为后缀;

说明:比如tmp_user;

5.【强制】备份库表必须以bak为前缀,并以日期为后缀;

说明:对mall_dev库进行备份后,名称为mall_dev_bak_20240509;

6.【推荐】用HASH进行散表,表名后缀使用16进制数,下标从0开始;

说明:十六进制数(也称为Hexadecimal数)是一种基数为16的计数系统,使用数字0-9和字母A-F(不区分大小写)来表示数值。其中,字母A-F分别表示数字10-15。

7.【推荐】按日期时间分表需符合 YYYY [MM] [DD] [HH] 格式;

说明,比如按月分表order_info_202401;

8.【推荐】散表如果使用md5(或者类似的hash算法)进行散表,表名后缀使用16进制。

说明,比如user_ff;

9.【推荐】使用CRC32求余(或者类似的算术算法)进行散表,表名后缀使用数字,数字必须从0开始并等宽,比如散100张表,后缀从00-99;

10.【推荐】使用时间散表,表名后缀必须使用特定格式,比如按日散表user_20110209、按月散表user_201102;

11.【强制】表达是与否概念的字段,使用 is _ xxx 的方式进行命名;

说明,比如字段是否启用is_open;

三、总结

以上介绍了在进行MySQL数据库开发设计时,命名相关的技术规范。希望对大家有帮助,谢谢 :-)

附本文参考资料:

  • 阿里云官方知乎:https://www.zhihu.com/org/a-li-yun-97-77
  • 阿里云开发者官方社区:https://developer.aliyun.com/
  • 阿里开发者官方CSDN社区:https://blog.csdn.net/alitech2017?type=blog
  • 阿里云云栖号CSDN:https://blog.csdn.net/yunqiinsight/category_10231626.html
  • 阿里巴巴技术团队发布的《JAVA开发手册》泰山版
  • 阿里云开发者官方微信公众号

如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3030473.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Rocketmq如何保证消息不丢失和幂等性

生产者 生产者通过RocketMQ提供的事务消息(两阶段提交)能保证消息的一致性。 第一阶段给Broker发送一个半事务消息,半事务消息是不能消费的消息,broker已经收到生产者发送的消息,但是并未收到生产者的二次确认&#x…

欢乐钓鱼大师游戏攻略,自动钓鱼!

在《欢乐钓鱼大师》的游戏中,每个玩家都沉浸在湖水的世界里,手持钓竿,期待着每次的收获。这不仅是一场简单的游戏,更是一次对技巧和耐心的考验。在这个充满乐趣和挑战的世界中,掌握正确的钓鱼技巧和选择合适的装备至关…

学习3D几何和特征一致的高斯溅射目标去除

earning 3D Geometry and Feature Consistent Gaussian Splatting for Object Removal 学习3D几何和特征一致的高斯溅射目标去除 Yuxin Wang 王玉欣 HKUST &Qianyi Wu Monash University &Guofeng Zhang Zhejiang University &Dan Xu HKUST 香港科技大学&吴倩…

数据结构与算法学习笔记九-二叉树的链式存储表示法和实现(C语言)

目录 前言 1.二叉树的链式存储 2.二叉链表的表示和实现 1.定义 2.创建 4.中序遍历二叉树 5.后序遍历二叉树 6.后序遍历二叉树 7.完整代码 前言 这篇博客主要介绍二叉树的链式存储结构。 1.二叉树的链式存储 上篇文章中介绍了二叉树的顺序存储结构,在最坏的…

MySQL中索引失效的问题

索引失效的情况 这是正常查询情况,满足最左前缀,先查有先度高的索引。 1. 注意这里最后一种情况,这里和上面只查询 name 小米科技 的命中情况一样。说明索引部分丢失! 2. 这里第二条sql中的,status > 1 就是范围查…

解密某游戏的数据加密

前言 最近有个兄弟通过我的视频号加我,咨询能否将这个dubo游戏游戏开始前就将数据拿到从而进行押注,于是通过抓包工具测试了下,发现数据有时候是明文,有时候确实密文,大致看了下有这几种加密:Md5aes、Md5&a…

二、使用插件一键安装HybridCLR

预告 本专栏将介绍如何使用这个支持热更的AR开发插件,快速地开发AR应用。 专栏: Unity开发AR系列 插件简介 通过热更技术实现动态地加载AR场景,简化了AR开发流程,让用户可更多地关注Unity场景内容的制作。 热更方案 基于Hybri…

深度学习论文: LightGlue: Local Feature Matching at Light Speed

深度学习论文: LightGlue: Local Feature Matching at Light Speed LightGlue: Local Feature Matching at Light Speed PDF: https://arxiv.org/pdf/2306.13643 PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https://github.com/shanglianlm0525/…

软件测试人员必备的60个测试工具,果断收藏了!_测试工程师必备软件

据统计,中国软件外包市场的潜力和机会已远远超过软件王国印度,不过由于软件人才的严重不足致使我国软件发展遭遇“瓶颈”。国家为了大力培养软件人才,不断采取积极有效的措施。我国对软件测试人才的需求数量还将持续增加,因此软件…

2024北京市人工智能大模型行业应用分析报告

来源:北京市科学技术委员会 方向一为基于AIGC技术的智能审计合规研究,由北京银行提出,以 提高审计工作效率和准确性为核心目标,需要参赛企业针对检查内容, 利用大模型技术寻找并给出相关现象涉及的制度名称及相关原文…

高职学院建设人工智能专业群可行性分析

一、人工智能技术人员的需求分析 随着科技的迅猛发展和数字化转型的深入,人工智能(AI)已成为推动产业升级和社会变革的重要力量。从当前行业趋势和技术发展来看,对于人工智能技术人员的需求预计将呈现爆炸性增长的态势。 首先&am…

YOLOv5改进 | 注意力机制 | 理解全局和局部信息的SE注意力机制

在深度学习目标检测领域,YOLOv5成为了备受关注的模型之一。本文给大家带来的是能够理解全局和局部信息的SE注意力机制。文章在介绍主要的原理后,将手把手教学如何进行模块的代码添加和修改,并将修改后的完整代码放在文章的最后,方…

【Qt】按钮类控件(二)

文章目录 按钮类控件1、Push Button代码示例: 带有图标的按钮代码示例: 带有快捷键的按钮 2、Radio Buttion代码示例: click, press, release, toggled 的区别代码示例: 单选框分组(QButtonGroup) 3、 Check Box代码示例: 获取复选按钮的取值 按钮类控件…

mac苹果电脑卡顿反应慢如何解决?2024最新免费方法教程

苹果电脑以其稳定的性能、出色的设计和高效的操作系统,赢得了广大用户的喜爱。然而,随着时间的推移,一些用户会发现自己的苹果电脑开始出现卡顿、反应慢等问题。这不仅影响使用体验,还会影响工作效率。那么,面对这些问…

如何注册google谷歌gmail邮箱账号?创建谷歌帐号遇到:此电话号码无法用于验证或此电话号码验证次数太多怎么办?

googel谷歌账号,又称为“gmail邮箱账号”主要用于登录谷歌产品服务或第三方支持谷歌账号登录的产品或服务。而部分用户在创建注册谷歌账号时,可能会遇到下以问题。 1、您无法创建谷歌账号; 2、此电话号码无法用于验证; 3、此电…

LED出海混战,雷曼光电“冲锋陷阵”的数智化暗线

2022年春天,在北京冬奥会开幕式上,晶莹剔透的“冰雪五环”从巨型冰块中徐徐升起,成为国人经典集体回忆。这个面积达134平方米、重约3吨的冰雪五环,是LED技术与光影艺术的完美融合。深圳LED上市公司雷曼光电参与“冰雪五环”异形屏…

【hackmyvm】 Animetronic靶机

靶机测试 arp-scanporturl枚举exiftool套中套passwordsudo 提权 arp-scan arp-scan 检测局域网中活动的主机 192.168.9.203 靶机IP地址port 通过nmap扫描,获取目标主机的端口信息 ┌──(root㉿kali)-[/usr/share/seclists] └─# nmap -sT -sV -O 192.16…

win10无法被远程桌面连接,Win10系统无法被远程桌面连接的原因有哪些

win10无法被远程桌面连接,Win10系统无法被远程桌面连接的原因有哪些? 先,我们需要明确Win10系统无法被远程桌面连接的可能原因。其中,最常见的原因包括:远程桌面功能未启用、网络连接问题、防火墙或安全软件设置不当、…

泰尔指数和泰尔指数模型:代码、案例及复现

泰尔指数模型是衡量个人或地区收入差距的重要工具。参考朱红根(2023年)老师的方法,《农业经济问题》使用泰尔指数分析了中国不同地区数字乡村发展水平的差异。该资料包括了Stata全流程代码、案例数据、参考文献,并提供了Excel计算…

在Ubuntu安装Carla时按照官方的教程将下载好的资源包解压放到Unreal\CarlaUE4\Content\Carla后执行./Update.sh

在Ubuntu安装Carla时按照官方的教程将下载好的资源包解压放到 Unreal\CarlaUE4\Content\Carla后执行./Update.sh 结果出现,将原来的Carla文件夹备份了有创建了一个新的空白Carla文件夹 原来自己下载解压后就不用再执行./Update.sh这个了,这个命令就是…