数据库命名规范(命名规则)
数据库命名规范
引言:数据库设计过程中库、表、字段等的命名规范也算是设计规范的一部分,不过设计规范更多的是为了确保数据库设计的合理性、为了项目最终的协调稳定性,而命名规范更多的是为了确保设计的正式和统一。数据库中字段等等以什么样的命名方式,并不会直接影响到项目的稳定性。
制定规范的直接目的是约束行为,最终目的是确保色痕迹的合理统一。规范虽然是那些有丰富项目经验的人制定的,但维护的却不是某个人的意志,因为遵守此规范对项目是好的有利的,此规范才有意义。所谓命名规范,就是希望我们团队中所有人看到设计成果,一眼就可以明白这个数据库、表、字段等等是做什么的、代表的含义是什么。
一、数据库命名规范
可以采用26个英文字母 (区分大小写) 和0-9的自然数 (一般不需要) 加上下划线 ‘_’ 组成,命名简介明确 (Student_Union),多个单词用下划线 ‘_’ 分隔,一个项目一个数据库,多个项目慎用同一个数据库
二、表命名规范
1)采用26字母和0-9的自然数(一般不使用)加上下互相 ‘_’ 组成,命名简洁明确,多个单词用下划线 ‘_’ 隔开
2)全部小写命名,尽量避免出现大写(因为在我目前使用过的数据库里都不区分大小写)
3)禁止使用关键字,如:select、table、show 等等
4)表名称不要取得太长(一般不超过三个英文单词)
5)表的名称一般使用名词或者东滨短语(实在不行就用拼音吧起码自己能看懂。。。)
6)也要注意单词形式,列如:使用 user ,而不是 users(因为用户表是一个的而不是多个)
7)表必须填写描述信息(建表时可以用注释详细写出表细节的作用,不同数据库的注释都不一样)
三、字段命名规范
1)采用26字母和0-9的自然数(一般不使用)加上下互相 ‘_’ 组成,命名简洁明确,多个单词用下划线 ‘_’ 隔开
2)全部小写命名,尽量避免出现大写
3)字段必须填写描述信息
4)禁止使用数据库关键字
5)字段名称一般采用名词或动宾短语
6)采用字段的名字必须是易于理解,一般不超过三个英文单词
7)在命名表的列时,不要重复表的名称(如:在 user 表中,出现 user_name 字段)
8)字段命名使用完整名称
四、SQL语言编码规范
1)所有关键字最好大写,如:DELETE、UPDATE、INSERT等等
2)多有函数及其参数中除用户变量以外的部分大写
3)在定义变量时用到的数据类型小写
- .NET的资源并不限于.resx文件,你可以采用任意存储形式[上篇]
- RabbitMQ入门-消息订阅模式
- 年终盘点:2018最值得学习的几种热门编程语言
- 如何编写没有Try/Catch的程序
- RabbitMQ入门-消息派发那些事儿
- RabbitMQ入门-高效的Work模式
- 谈谈分布式事务之四: 两种事务处理协议OleTx与WS-AT
- RabbitMQ入门-从HelloWorld开始
- RabbitMQ入门-从HelloWorld开始
- RabbitMQ入门-初识RabbitMQ
- 谈谈分布式事务之三: System.Transactions事务详解[下篇]
- 当InternalsVisibleToAttribute特性遭遇"强签名"
- MyBatis-从查询昨天的数据说起
- WCF并发(Concurrency)的本质:同一个服务实例上下文(InstanceContext)同时处理多个服务调用请求
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【剑指Offer】栈的压入、弹出序列
- 【剑指Offer】包含min函数的栈
- 【剑指Offer】顺时针打印矩阵
- 从0打造属于自己的windows开发命令终端
- hadoop数据类型及自定义
- 惊!u202a错误,百分之九十都不知道的隐藏在文件路径里的惊天秘密!(干货收藏)
- 百度站点收录 - 什么叫自动推送
- 虚拟机安装Centos后的一些配置
- CentOS下的JDK安装
- python 技术篇-3行代码搞定图像文字识别,pytesseract库实现
- hadoop2.6.0完全分布式手动安装
- Python 库安装问题:ModuleNotFoundError: No module named 'windows'. 解决方法
- Python各种文件删除函数的功能区分!
- Python 技术篇-轻松操作windows系统电脑鼠标指针移动、点击
- Typora Picgo自动使用图床上传图片