文章转载自:https://yq.aliyun.com/ziliao/146471
一、【操作规范】
序列 | 描述 |
1 | 如无备注,则表中的第一个id字段一定是主键且为自动增长 |
2 | 如无备注,则数值类型的字段请使用UNSIGNED属性 |
3 | 如无备注,排序字段order_id在程序中默认使用降序排列 |
4 | 如无备注,所有字段都设置NOT NULL,并设置默认值 |
5 | 如无备注,所有的布尔值字段,如is_hot、is_deleted,都必须设置一个默认值,并设为0 |
6 | 所有的数字类型字段,都必须设置一个默认值,并设为0 |
7 | 针对varchar类型字段的程序处理,请验证用户输入,不要超出其预设的长度 |
8 | 建表时将数据字典中的字段中文名和属性备注写入数据表的备注中(“PK、自动增长”不用写) |
9 | 如无说明,建表时一律采用innodb引擎 |
二、表命名规范
表名长度不能超过30个字符,表名中含有单词全部采用单数形式,单词首写字母要大写,多个单词间不用任何连接符号。若库中有多个系统,表名采用系统名称+单词或多个单词,系统名是开发系统的缩写,系统名称全部采用小写英文字符,如bbsTitle,bbsForumType。若库中只含有一个系统,那么表名仅用一个单词或多个单词。单词选择能够概括表内容的一个或多个英文单词,如UserInfo,UserType。
常用表名:表前缀用项目名称首字母缩写;所以表名都小写,单词之间用下划线分开,单词都用单数形式
序列 | 表名 | 描述 |
1 | user | 用户 |
2 | category | 分类 |
3 | goods | 商品、产品等一切可交易网站的物品都用此命名 |
4 | good_gallery | 物品的相册 |
5 | good_cate | 物品的分类,除了单独作为表名,其他地方分类单词一律用缩写cate |
6 | attr | 属性 |
7 | article | 文章、新闻、帮助中心等以文章形式出现的,一般都用此命名 |
8 | feedback | 用户反馈 |
9 | admin | 后台用户【RBAC标准表】 |
10 | role | 后台用户角色【RBAC标准表】 |
11 | access | 后台操作权限,相当于action【RBAC标准表】 |
12 | role_admin | 后台用户对应的角色【RBAC标准表】 |
13 | access_role | 后台角色对应的权限【RBAC标准表】 |
三、常用字段名约定:数据库字段名全部采用小写英文单词,单词之间用”_”隔开,命名规则是表别名+单词,如:user_name,user_pwd。表别名命名规则:
词数 | 描述 | 例子 |
一个单词 | 前 4 个字母 | aaaa |
两个单词 | 各取两个单词的前两个字母组成4 个字母 | Aabb、aaBb |
三个单词 | 头两个单词各取一个然后从最后一个单词中再取出两个字母 | Abcc、aBcc |
四个单词 | 从各个单词的首字母各取一个 | Abcd、aBcd |
字段命名案例
序列 | 表名 | 描述 |
1 | 表名_id | 通常用作外键命名 |
2 | cid | 特殊的编号,带有元数据,方便关联查询,你可以把它理解成类别(层次)编号。举个例子,假设某一主分类的cid为11,则子分类的cid从1101开始编号,处理时只需截取前两位数值便可知道该产品属于哪一个主分类。 |
3 | add_time | 添加时间、上架时间等 |
4 | last_time | 最后操作时间,如登录、修改记录 |
5 | image_src | 相册中的图片地址一律用此命名,不要出现各种img,image,img_url等 |
6 | head_thumb | 用户头像, 虽然有点长,一定要遵守。不要出现上述情况 |
7 | image_alt | 相册中图片的alt属性 |
8 | desc | 描述、简介,比如goods_desc |
9 | region | 地区,大的区域,比如记录杭州市、温州市等 |
10 | area | 区域,小的,比如上城区,江干区等 |
11 | avg_cost | 人均消费 |
12 | order_id | 排序 |
四、【数据表字段设计范例】
分类表(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) |
五、关联表命名规范
关联表的命名为Re_表A_表B,Re是Relative的缩写,如: Re_User_ArticleType, Re_User_FormType。
六、视图名采用规则
View_表A_表B_表C,View表示视图。这个视图由几个表产生就用”_”连接几个表的名,如果表过多可以将表名适当简化,但一定要列出所有表名。
七、存储过程命名规范
SQL语句编写规则:P_表名_存取过程名(缩写),比如P_User_Del,P_ArticleType_AddData,关键字必须大写,其他书写按上述命名规则,比如:
Select user_name From User Where user_name = “LaoYe”;