数据库——3.数据库的设计规范(实用版)

news2025/1/13 10:05:42

前面也出过一篇文章,那篇文章里面详细介绍了数据库的设计规范,包括方方面面的内容。说实话,其实里面好多东西都是一种习惯的问题,用不用都影响不大,只要知道那个概念,遇见时能理解,需要时会使用就行,没必要纠结太多。

目录

1.表的设计

1.1表的属性

1.2表的名称

2.字段设计

2.1必有字段

2.2详细讲述

2.3其他注意事项

3.小结


而这篇文章,主要是从实用的角度出发,去繁化简,总结一下数据库的设计规范,这个是需要在实践中牢记并使用的。

1.表的设计

1.1表的属性

记住,无论什么表

字符集:utf8mb4

排序规则:utf8mb4_0900_ai_ci(就是第一个)

1.2表的名称

好的名称能够容易分便表的作用

  1. 实体表(切切实实存数据的):t_xxx_xxx
  2. 关系表(存表与表之间的关系的):ref_xxx_xxx
  3. 字典表:dic_xxx_xxx

注意事项:

  1. 各种类型的表的开头是一致的
  2. 表名要见名知意,不同单词间用"_"连接

如下图:

2.字段设计

2.1必有字段

每个数据库都必须有下面的这些字段:

  • id (bigint unsigned)
  • recision (int unsigned)乐观锁
  • creator(varchar(32) )创建人
  • updater(varchar(32))更新人
  • create_time(datetime)创建时间
  • update_time(datetime)更新时间
  • del_flag(int unsigned)删除标志

2.2详细讲述

id 不用多说,必有字段

注意:类型要用 bigint unsigned ,不要用bigint

原因:bigint,默认是有符号,即取值范围是正负范围;bigint unsigned,无符号,即取值范围就是正值范围;使用bigint unsigned 在使用B+树索引时更方便更高效

recision:乐观锁

暂时不知道啥用,加上也不碍事

creator / updater:就是记录信息用的,没啥

create_time / update_time:也是记录信息的,方便后面的使用

del_flag:记录是否删除用的

注意:我们对数据库中所有数据的删除操作只能是软删除,也就是说用update这个关键字来删除,而不是用delete;我们对数据库中数据的所有查询操作都要带上del_flag这个字段,根据里面的内容,确定是否显示

2.3其他注意事项

  1. varchar的长度一般设置为32就够了,不用设置为255,除非特别长的情况,不然不设置为255
  2. 所有的字段都必须为非空字段,也就是说你要设置默认值

3.小结

这篇文章就是从实操角度讲了一些数据库设计时的一些规范性问题。主要设计表和字段两方面。不要嫌弃麻烦,实操时最好都用上。

 

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

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

相关文章

云原生可观察性工具泛滥的思考

前言 对于采用容器环境和kubernetes的公司来说,可观察性正变得越来越重要。CNCF最近的一份报告发现,72%的受访者使用了多达9种不同的工具来监控他们的云原生环境和应用程序。当然,如果不使用足够的监控工具,可能会导致隐藏的安全…

【链表OJ题(一)】移除链表元素

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:数据结构 🎯长路漫漫浩浩,万事皆有期待 文章目录链表OJ题(一)1. 移除…

FreeRTOS入门(06):任务通知

文章目录目的基础说明使用演示作为二进制信号量作为计数信号量作为事件组作为队列或邮箱相关函数总结目的 任务通知(TaskNotify)是RTOS中相对常用的用于任务间交互的功能,这篇文章将对相关内容做个介绍。 本文代码测试环境见前面的文章&…

「JVM 高效并发」锁优化

为了线程间更高效的共享数据及解决竞争问题,提高程序执行效率,JDK 6 做了大量锁优化,如适应性自旋(Adaptive Spinning)、锁消除(Lock Elimination)、锁膨胀(Lock Coarsening&#xf…

2、监控界面设计

【任务描述】本任务要求使用相对布局或约束布局以及相应的控件完成智慧园区监控系统界面开发一、相对布局(RelativeLayout)概述相对布局(RelativeLayout)是一种根据父容器和兄弟控件作为参照来确定控件位置的布局方式。使用相对布…

《机器学习》- 习题解析 - 第一章

《机器学习》- 习题 - 第一章 文章目录《机器学习》- 习题 - 第一章一、示例-计算表1.1中的版本空间二、习题 1 - 计算题目中的版本空间三、单个合取式&析合范式的概念四、习题 2 - 计算题目中假设空间的规模大小一、示例-计算表1.1中的版本空间 首先从概念上理解版本空间…

一起玩转开源数据库!OceanBase DevCon 之开源生态全景解析

​ 2023 年 3 月 25 日,首次 OceanBase 开发者大会将在北京举办,OceanBase 首席科学家阳振坤与 OceanBase CTO 杨传辉领携众多技术专家,将与开发者共同探讨单机分布式、云原生、HTAP 等数据库前沿趋势,OceanBase 开源技术全景生…

数据库——1.数据库设计的三大范式

这篇文章我们主要来讲一下数据库设计的三大范式,这个还是很有用的。 目录 1.概述 2.第一范式 3.第二范式 4.第三范式 5.小结 1.概述 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范…

Python每日一练(20230301)

目录 1. 只出现一次的数字 2. 以特殊格式处理连续增加的数字 3. 最短回文串 1. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性…

「TCG 规范解读」基础设施架构和协议 (2)

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…

有什么好用的在线统计表单吗?

有什么好用的在线统计表单吗?最好是免费的?市面上这样的表单工具其实很多,先来看看题主的需求: 收集信息,数据统计数据分析,报表展示 以简道云在线表单为例,能完美实现题主这两个需求—— http…

携程面经1

面经 HDFS读写流程 1.读流程 客户端向NameNode发起读请求(如果存在)NameNode返回一批block地址客户端与第一个block的拓扑距离最近的节点建立连接以packet(64kb)的单位读取数据块。一个block读取完成后客户端会断开与该DataNod…

算法训练营 day59 动态规划 两个字符串的删除操作 编辑距离

算法训练营 day59 动态规划 两个字符串的删除操作 编辑距离 两个字符串的删除操作 583. 两个字符串的删除操作 - 力扣(LeetCode) 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符…

DBeaver连接mysql数据库图文教程

文章目录前言一、DBeaver连接mysql数据库二、文档下载地址前言 DBeaver是免费、开源、通用数据库工具,是许多开发开发人员和数据库管理员的所选。下面详细介绍Dbeaver连接mysql数据库的过程。 一、DBeaver连接mysql数据库 1、 打开Dbeaver后,按下图操…

【Unity】P4 脚本文件(基础)

Unity脚本文件(基础)适配的C#代码编辑器如何添加一个脚本文件获取蘑菇当前位置基础代码改变物体位置帧与帧更新前言 上一篇博文主要围绕Unity Inspector部分,围绕组件,资源文件,父子节点部分做介绍。 链接:…

阿里黑客入门学习资料流出来了!!

各位粉丝朋友大家好,最近看到很多粉丝朋友给我留言,希望我给大家找一些学习内容。前段时间整理了我平时常看的一些黑客相关的技术书籍,这些内容从未对外公开,今天分享给大家 ! 内容非常详细且全面,覆盖了W…

5分钟轻松拿下Java枚举

文章目录一、枚举(Enum)1.1 枚举概述1.2 定义枚举类型1.2.1 静态常量案例1.2.2 枚举案例1.2.3 枚举与switch1.3 枚举的用法1.3.1 枚举类的成员1.3.2 枚举类的构造方法1)枚举的无参构造方法2)枚举的有参构造方法1.3.3 枚举中的抽象方法1.4 Enum 类1.4.1 E…

c++系列12:使用vscode进行编译

1. 入门 1.1 操作方法 1)下载安装vscode 2)在扩展中搜索c/c extension pack并安装(或者直接打开cpp文件,会自动提示进行安装) 3)创建项目目录,会自动生成.vscode文件夹,里面是编译…

虹科分享 | Domo零售行业商业智能白皮书:《从零售企业的数据中获取价值》

市场因素、技术创新和不断增长的客户期望,给电子商务带来了新的机遇,与此同时也给传统零售行业带来了压力。零售业正面临着新的挑战:不断变化的需求模式和渠道、不断变化的服务期望、复杂的库存以及交付问题。为了解决这些问题,零…

Linux系统介绍及熟悉Linux基础操作

一、什么是Liunx Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯本纳第克特托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发&am…