# 数据库表名命名规范 * 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线''组成; 命名简洁明确,多个单词用下划线''分隔; 例如:userlogin, userprofile, userdetail, userrole, userrolerelation, 一般形式为 模块名xxx 如果多级为 父模块子模块xxx 以此类推* # 数据库表字段名命名规范 * 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成; 命名简洁明确,多个单词用下划线'_'分隔; 例如:user_login表字段 user_id, user_name, pass_word, eamil, tickit, status, mobile, add_time; * 每个表中必须有自增主键,由数据库服务自增 * 表与表之间的相关联字段名称要求尽可能的相同; * 每个表中固定带有create_time以及update_time,并且由数据库来维护如 ![Image text](img/db1.png) ![Image text](img/db2.png) # 数据库表字段类型规范 * 用尽量少的存储空间来存数一个字段的数据; 例如:能使用int就不要使用varchar、char,能用varchar(16)就不要使用varchar(256); * 能使用tinyint就不要使用smallint,int; * 固定长度的类型最好使用char * 最好给每个字段一个默认值,最好不能为null,除了时间类型外. 例如 ![Image text](img/db3.png) # 数据库表索引规范 * 命名简洁明确,例如:user_login表user_name字段的索引应为user_name_index唯一索引; * 为每个表创建一个主键索引; * 为每个表创建合理的索引; * 建立复合索引请慎重;