MySQL数据库命名规范及约定

一、【操作规范】
1. 如无备注,则表中的第一个id字段一定是主键且为自动增长;
2. 如无备注,则数值类型的字段请使用UNSIGNED属性;
3. 如无备注,排序字段order_id在程序中默认使用降序排列;
4. 如无备注,所有字段都设置NOT NULL,并设置默认值;
5. 如无备注,所有的布尔值字段,如is_hot、is_deleted,都必须设置一个默认值,并设为0;
6. 所有的数字类型字段,都必须设置一个默认值,并设为0;
7. 针对varchar类型字段的程序处理,请验证用户输入,不要超出其预设的长度;
8. 建表时将数据字典中的字段中文名和属性备注写入数据表的备注中(“PK、自动增长”不用写);
9. 如无说明,建表时一律采用innodb引擎;

二、【常用表名约定】
0. 说明:表前缀用项目名称首字母缩写;所以表名都小写,单词之间用下划线分开,单词都用单数形式
1. user – 用户
2. category – 分类
3. goods – 商品、产品等一切可交易网站的物品都用此命名
4. good_gallery – 物品的相册
5. good_cate – 物品的分类,除了单独作为表名,其他地方分类单词一律用缩写cate
4. attr – 属性
5. article – 文章、新闻、帮助中心等以文章形式出现的,一般都用此命名
6. cart – 购物车
7. feedback – 用户反馈
8. order – 订单
9. site_nav – 包括页头和页尾导航
10. site_config – 系统配置表
11. admin – 后台用户 【RBAC标准表】
12. role – 后台用户角色【RBAC标准表】
13. access – 后台操作权限,相当于action【RBAC标准表】
14. role_admin – 后台用户对应的角色【RBAC标准表】
15. access_role – 后台角色对应的权限【RBAC标准表】
16. 待续

三、【常用列名约定】
1. 表名_id – 通常用作外键命名
2. cid – 特殊的编号,带有元数据,方便关联查询,你可以把它理解成类别(层次)编号。举个例子,产品在分类时,往往需要将其归类到子分类下,相应的字段中也一般只记录子分类的id,这时若需要知道该产品属于哪个主分类,就需要通过子分类信息再查询到主分类信息,这是比较麻烦的,cid字段就是要解决这个问题。一般的站点几十个分类肯定是够用了,所以这里假设某一主分类的cid为11,则子分类的cid从1101开始编号,处理时只需截取前两位数值便可知道该产品属于哪一个主分类了。
3. add_time – 添加时间、上架时间等
4. last_time – 最后操作时间,如登录、修改记录
5. expire_time – 过期时间
6. name – 商品名称、商家名称等,不要跟title混用,title只用于文章标题、职称等
7. price – 价格
8. thumb – 只要是列表页面中的窗口图,一律用此命名
9. image_src – 相册中的图片地址一律用此命名,不要出现各种img,image,img_url,thumb_url等
10. head_thumb – 用户头像, 虽然有点长,一定要遵守。不要出现上述情况
11. image_alt – 相册中图片的alt属性
12. desc – 描述、简介,比如goods_desc,不要出现goods_txt这种
13. details – 详情、文章内容等
14. order_id – 排序
15. telephone – 座机号码
16. mobile – 手机号码
17. phone – 当不区分手机和座机时,请用phone命名
18. address – 地址,单独出现不要用addr缩写,组合出现时需用缩写,比如mac地址,mac_addr
19. zipcode – 邮编
20. region – 地区,大的区域,比如记录杭州市、温州市等
21. area – 区域,小的,比如上城区,江干区等
22. avg_cost – 人均消费
23. 待续

四、【数据表字段设计范例】

分类表(t_category
























































字段名

列名

类型

属性备注

说明

流水号 id int(10) PK、自动增长
特殊编号 cid varchar(4) 第一个主分类为11、第一个子分类为1101,类推,仅支持二级分类
名称 name varchar(10) 页面中需注明输入不超过10个字
父分类 pid int(10)
统计量 count int(10)
是否热门 is_hot tinyint(1)
首页显示 is_index tinyint(1)
排序 order_id int(10)

(0)

相关推荐

  • MySQL 修改数据库名称的一个新奇方法

    MySQL在5.1引入了一个rename database操作,但在MySQL5.1.23后又不支持这个命令.可以说是一个实验性的功能,没有在生产中支持过(mysql-5.1 release在mysql-5.1.30),那么生产中我们有时为了追求完美需要改一下库名.怎么操作呢? 这里提供一个变通的方法. 1. 创建出新库名: 复制代码 代码如下: mysql>create database db_v2; 2.生成rename语句,从olddb里迁移,我这里olddb里sbtest; 复制代码 代

  • MYSQL 数据库命名与设计规范

    1.设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余.标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能.扩展性和数据完整性方面达到了最好平衡.简单来说,遵守3NF 标准的数据库的表设计原则是:"One Fact in One Place"即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解.表之间的关系通过外键相连接.它具有以下特点:有一组表专门存放通过键连接起来的关联数据. 举例:某个存放客户及其有关定单的3

  • Mysql数据库名和表名在不同系统下的大小写敏感问题

    这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的.一个特例是 Mac OS X,当缺省的 HFS+ 文件系统使用时.然而 Mac OS X 还支持 UFS 卷,那些在 Mac OS X 是大小写敏感的就如他们在任一 Unix 上一样.查看章节 1.8.3 MySQL 对 ANSI SQL92 的扩展. 注意:尽管在 Windows 中数据库与表名是忽略大小写的,你不应该在同一个查询中使用不同的大小写来引用一个给定的数据库和表.下面的查

  • MySQL创建带特殊字符的数据库名称方法示例

    前言 这篇文章抓哟讲解了关于如何实现在MySQL中创建带有特殊字符的数据库名称,这里的特殊字符包含:!@#$%^ 方法如下 使用反引号`将数据库名称包含住,反引号`(使用引号是不可以的)即在英文输入法状态下,按Esc键对应下方的键即可出来.当然在没有使用反引号`包含数据库名称的时候,若数据库名称含有特殊字符,则会报错. 例如,使用下面的创建命令是会报错的: mysql> CREATE DATABASE www.mafutian.net DEFAULT CHARSET UTF8; 1064 - E

  • mysql数据库重命名语句分享

    复制代码 代码如下: CREATE DATABASE `ct` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;            RENAME TABLE `51cola`.`commentmeta`                  TO `ct`.`commentmeta`;            RENAME TABLE `51cola`.`comments`                  TO `ct`.`comments`

  • 安全快速修改Mysql数据库名的5种方法

    1. RENAME DATABASE db_name TO new_db_name这个..这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了.据说有可能丢失数据.还是不要用的好.详见: http://dev.mysql.com/doc/refman/5.1/en/rename-database.html 2.如果所有表都是MyISAM类型的话,可以改文件夹的名字关闭mysqld把data目录中的db_name目录重命名为new_db_name开启mysqld 3.重命名所有的

  • MySQL数据库命名规范及约定

    一.[操作规范]1. 如无备注,则表中的第一个id字段一定是主键且为自动增长:2. 如无备注,则数值类型的字段请使用UNSIGNED属性:3. 如无备注,排序字段order_id在程序中默认使用降序排列:4. 如无备注,所有字段都设置NOT NULL,并设置默认值:5. 如无备注,所有的布尔值字段,如is_hot.is_deleted,都必须设置一个默认值,并设为0:6. 所有的数字类型字段,都必须设置一个默认值,并设为0:7. 针对varchar类型字段的程序处理,请验证用户输入,不要超出其预

  • 数据库命名规范小结

    数据库命名规范 1 目的 规范数据库各种对象的命名规则. 2 数据库命名原则 2.1 数据文件 如果数据库采用文件系统,而不是裸设备,约定下列命名规则: 1)数据文件以表空间名为开始,以.dbf为结尾,全部采用小写英文字母加数字命名.如该表空间有多个数据文件,则从第2个数据文件开始,在表空间名后加_. 例:对system表空间的数据文件:system.dbf,system_2.dbf 2)对oracle数据库的控制文件,用control.ctl来表示.如control01.ctl,control

  • MySQL数据库使用规范总结

    导读: 关于MySQL数据库规范,相信大家多少看过一些文档.本篇文章给大家详细分类总结了数据库相关规范,从库表命名设计规范讲起,到索引设计规范,后面又给出SQL编写方面的建议.相信这些规范适用于大多数公司,也希望大家都能按照规范来使用我们的数据库,这样我们的数据库才能发挥出更高的性能. 关于库: 1.[强制]库的名称必须控制在32个字符以内,英文一律小写. 2.[强制]库的名称格式:业务系统名称_子系统名. 3.[强制]库名只能使用英文字母,数字,下划线,并以英文字母开头. 4.[强制]创建数据

  • mysql数据库开发规范【推荐】

    最近一段时间一边在线上抓取SQL来优化,一边在整理这个开发规范,尽量减少新的问题SQL进入生产库.今天也是对公司的开发做了一次培训,PPT就不放上来了,里面有十来个生产SQL的案例.因为规范大部分还是具有通用性,所以也借鉴了像去哪儿和赶集的规范,但实际在撰写本文的过程中,每一条规范的背后无不是在工作中有参照的反面例子的.如果时间可以的话,会抽出一部分或分析其原理,或用案例证明. 一. 命名规范 1.库名.表名.字段名必须使用小写字母,并采用下划线分割 (1)MySQL有配置参数lower_cas

  • MySQL数据库是如何实现XA规范的

    MySQL 的一致性日志 如果 MySQL 数据库断电了,未提交的事务怎么办? 答案:依靠日志. 因为在执行一个操作之前,数据库会首先把这个操作的内容写入到文件系统日志里,然后再进行操作.当宕机或者断电的时候,即使操作并没有执行完,但是日志在操作前就已经写好了,我们仍然可以根据日志的内容来进行恢复. MySQL InnoDB 引擎中和一致性相关的有重做日志(redo log).回滚日志(undo log)和二进制日志(binlog). redo log 每当有操作执行前,在数据真正更改前会先把相

  • MySQL数据库重命名的快速且安全方法(3种)

    MySQL数据库重命名的方法 Innodb引擎的表如何改数据库名,MyISAM引擎又该如何操作. 如果表是MyISAM引擎可以直接去到数据库目录mv重命名文件夹就可以. Innodb完全不行,会提示相关表不存在. 第一种方法:rename database 弃用了 RENAME database old_db_name TO new_db_name 这个是5.1.7到5.1.23版本可以用的,但是官方不推荐,会有丢失数据的危险 第二种方法:mysqldump 备份 1.创建需要改成新名的数据库.

  • 运用Python快速的对MySQL数据库进行重命名

    对数据库的表进行重命名可以使用以下原生sql: RENAME TABLE old_table TO new_table; 窘境:但是MySQL并没有直接支持对数据库进行重命名 那么如何运用Python快速的对现有的数据库进行重命名呢? 比如项目初期,对数据库的命名(db_ridingroad)没有规划好, 然后在下面创建了大量的表和写入了大量的数据,现在需要对数据库的名字进行重命名为(db_news_website) 常规思路 下面的方法步骤较为繁琐 -- 数据库备份 mysqldump –u

  • MySQL数据库开发的36条原则(小结)

    前言 这些原则都是经历过实战总结而成 每一条原则背后都是血淋淋的教训 这些原则主要是针对数据库开发人员,在开发过程中务必注意 一.核心原则 1.尽量不在数据库做运算 俗话说:别让脚趾头想事情,那是脑瓜子的职责 作为数据库开发人员,我们应该让数据库多做她所擅长的事情: 尽量不在数据库做运算 复杂运算移到程序端CPU 尽可能简单应用MYSQL 举例: 在mysql中尽量不要使用如:md5().Order by Rand()等这类运算函数 2.尽量控制单表数据量 大家都知道单表数据量过大后会影响数据查

  • 一个小时学会MySQL数据库(张果)

    随着移动互联网的结束与人工智能的到来大数据变成越来越重要,下一个成功者应该是拥有海量数据的,数据与数据库你应该知道. 一.数据库概要 数据库(Database)是存储与管理数据的软件系统,就像一个存入数据的物流仓库. 在商业领域,信息就意味着商机,取得信息的一个非常重要的途径就是对数据进行分析处理,这就催生了各种专业的数据管理软件,数据库就是其中的一种.当然,数据库管理系统也不是一下子就建立起来,它也是经过了不断的丰富和发展,才有了今天的模样. 1.1.发展历史 1.1.1.人工处理阶段 在20

随机推荐