数据库命名规范

news2024/12/28 20:50:38

1、mysql 规范

1.1 表名规范

  1. 模块_+功能点 示例:alllive_log alllive_category。
  2. 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔,一个项目一个数据库。
  3. 全部小写命名,禁止出现大写,专有名词也要小写。
  4. 数据库创建 字符集:utf8mb4、排序规则:utf8mb4_general_ci。
  5. 表必须填写描述信息,字段有注释。
  6. 用单数形式表示名称,例如,使用 employee,而不是 employees。

1.2 字段规范

  1. 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔。
  2. 全部小写命名,禁止出现大写。
  3. 系统中所有逻辑型中数值0表示为“假”,数值1表示为“真”,datetime、smalldatetime类型的字段没有默认值,必须为NULL。
  4. 表中字段是另外一张表的主键,则为表名+id ,体现关联关系 示例:user_id
  5. 禁止使用外键。

1.3、表设计

  1. 表必须定义主键,默认为ID,整型自增。
  2. 多表中的相同列,必须保证列定义一致。
  3. 强烈建议不使用外键, 数据的完整性靠程序来保证。

1.4 索引命名规则

  1. 单个索引中的字段数不超过5个。
  2. 索引名必须全部使用小写。
  3. 非唯一索引按照“idx_字段名称[_字段名称]”进用行命名。例如idx_age_name。
  4. 唯一索引按照“uniq_字段名称[_字段名称]”进用行命名。例如uniq_age_name。
  5. 组合索引建议包含所有字段名,过长的字段名可以采用缩写形式。例如idx_age_name_add。
  6. 不在低基数列上建立索引,例如“性别”。
  7. 合理创建联合索引,(a,b,c) 相当于 (a) 、(a,b) 、(a,b,c)。

2、mongo 规范

2.1 库名规范

  1. 使用数字字母下划线,长度最多64个字符,推荐使用业务标识命名。
  2. 不能和系统库重合(admin,local,test,config)。
  3. 大小写敏感,推荐全部小写。
  4. 禁止使用数字开头的库名。
  5. 不要使用无意义的单词或者人名相关,比如mongo,chongxin_db。

2.2 集合规范

  1. 使用数字字母下划线,长度最多64个字符,推荐使用业务标识命名。
  2. 集合名称禁止以system.开头。
  3. 大小写敏感,推荐全部小写。
  4. 禁止使用_id,比如向_id中写入自定义内容。
  5. 禁止使用任何 " _ "(下划线) 以外的特殊字符。
  6. 集合名称最多为 64字符。

3、Redis规范

3.1 key 设计规范

  1. 命名规范为:业务模块名:业务逻辑含义:其它: value 类型。
  2. key 命名必须全部小写字母、数字和英文半角冒号(:)组成,必须以英文字母开头。

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

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

相关文章

嵌入式分享合集103

一、EEPROM和Flash 存储器分为两大类:RAM和ROM,本文主要讨论ROM。ROM最初不能编程,出厂什么内容就永远什么内容,不灵活。 后来出现了PROM,可以自己写入一次,要是写错了,只能换一片,自…

React中的生命周期函数

生命周期的三个阶段: 1.创建时(挂载阶段) ①执行时机:组件创建时(页面加载时) ②执行顺序:constructor()->render()->componentDidMount() import React, { Com…

nodejs+vue+elementui共享充电宝管理系统express

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 2 前端技术:nodejsvueelementui 前端:HTML5,CSS3、JavaScript、VUE 功能介绍 管理员:…

H5基本开发2——(HTML文档基本结构)

现实生活中,任何一个文档都是具有一定的格式,不同的文档,基本格式不同,例如:请假条、调休单、剧本、年中总结、十九大报告、等等,而我们所编写等html文档也是具有一定的编写基本格式的 事实上W3C组织一直致…

[附源码]java毕业设计教学辅助系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

TwoModalBERT进行角色分类

你是否遇到过数据集中有多个文本特性的情况?例如,根据消息的上下文正确地对消息进行分类,即理解前面的消息。比如说我们有下面的数据集,需要对其进行分类。 当只考虑message时,你可以看到它的情绪是积极的,因为“incr…

关于电影的HTML网页设计—— 电影小黄人6页 HTML+CSS+JavaScript

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 精彩专栏推荐&#x1f4…

【Pytorch with fastai】第 10 章 :NLP 深入探讨 RNN

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

【JavaScript高级程序设计】重点-第五章笔记:Date、RegExp、原始值包装类、单例内置对象

文章目录基本引用类型1.Date1.1 继承的方法1.2 日期格式化方法1.3 日期/时间组件方法2.RegExp正则表达式2.1 RegExp 实例属性2.2 RegExp 实例方法2.3 RegExp 构造函数属性3.原始值包装类型3.1 Boolean3.2 Number3.3 String3.3.1 JavaScript 字符3.3.2 normalize()方法3.3.3 字符…

AI 实战篇 |十分钟学会【动物识别】,快去寻找身边的小动物试试看吧【送书】

🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 &…

计算机毕业设计node.js+vue在线日程管理系统

项目介绍 我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,在线日程管理系统被用户普遍使用,为方便用户能够可以随时进行在线管理自己的日程的数据信息,特开发了基于在线日程管理…

【Pytorch with fastai】第 11 章 :使用 fastai 的中级 API 进行数据处理

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

第2关:子节点创建、列出、删除

子节点创建、列出 首先,需要启动服务器,并使用zkCli.sh连接服务器,进入客户端命令行界面(如第一关所述)。 创建子节点类似于创建新的节点,子节点也具有四种类型的节点。唯一的区别是:子节点的…

redis学习4-list

基本的数据类型,列表,redis命令是不区分大小写的 在redis中,我们可以把list玩成,线,队列,阻塞队列! 所有的list命令都是用l开头的 [rootcentos7964 bin]# redis-cli -p 6379 127.0.0.1:6379> LPUSH li…

Oracle Primavera Unifier计划管理器(Planning Manager)

目录 一、前言 二、介绍 一、前言 在计划管理器中,Oracle Primavera Unifier 用户可以计划新项目/外壳和提案,并为已在 Unifier 中运行的项目/外壳创建预测。他们不能像在 Unifier 中管理真实项目/外壳那样管理计划的项目/外壳;但是,他们可…

Observer

一些比较方便的 DOM 监测的 API。 一个 Observer 实例具备的实例方法: observe。向监听的目标集合添加一个元素。unobserve。停止对一个元素的观察。disconnect。终止对所有目标元素的观察。… 一、IntersectionObserver 提供了一种异步检测目标元素与祖先元素或…

图解LeetCode——792. 匹配子序列的单词数(难度:中等)

一、题目 给定字符串 s 和字符串数组 words, 返回 words[i] 中是s的子序列的单词个数 。 字符串的 子序列 是从原始字符串中生成的新字符串,可以从中删去一些字符(可以是none),而不改变其余字符的相对顺序。 例如, “ace” 是 “abcde” 的…

css3对页面打印设置的一些特殊属性,如@page,target-counter等

公司内部应业务需求,需要将html生成pdf并能打印,前后台都各有方式,这里综合比较选择用java去生成,避免了前端生成带来的诸多问题,后台用的框架是 iTextPdf 但是在做的同时发现用iText实现的pdf生成和公司的业务需要生成…

Spring学习第6篇: 基于注解使用IOC

大家家好,我是一名网络怪咖,北漂五年。相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知Spring重要性,现在普遍都使用SpringBoot来开发,面试的时候SpringBoot原理也是经常会问到&…

【数据链路层】封装成帧和透明传输和差错控制

注:最后有面试挑战,看看自己掌握了吗 文章目录前言链路层功能功能封装成帧和透明传输组帧的四种方法透明传输差错控制检错编码差错链路层的差错控制检错编码纠错编码链路层代码实现🍃博主昵称:一拳必胜客 🌸博主寄语&a…