字段 相关规范

规则1:字段命名应具有含义,能反映该字段存储的内容,且字段应增加字段备注;
示例
如下语句不符合规范(假定存储的字段为用户名和密码,如下的字段名毫无意义也没有备注)
CREATE TABLE wap_user
(
    col1 VARCHAR(100),
    col2 VARCHAR(16)
);
 
如下语句符合规范
CREATE TABLE wap_user
(
    user_name VARCHAR(100),
    pass_word VARCHAR(16)
);
 
如下语句是使用了无意义字段名,但增加了字段说明,不作为推荐方法,但确实字段名无法表述含义时,必须使用该方法;
CREATE TABLE wap_user
(
    col1 VARCHAR(100) comment 'username',
    pass_word VARCHAR(16) comment 'password'
);
 
规则2:同种用途的字段,在所有表中,应保持有同样的字段类型和字段长度,并尽量保持一致的字段命名;
示例
如下语句不符合规范(字段user_name在两个有业务关系的表中字段长度不一致,易导致业务接口冲突)
CREATE TABLE wap_user
(
    user_name VARCHAR(100),
    pass_word VARCHAR(16)
);
 
CREATE TABLE wap_user_login_log
(
    user_name VARCHAR(80),
    login_date DATE
);
 
如下语句符合规范
CREATE TABLE wap_user
(
    user_name VARCHAR(100),
    pass_word VARCHAR2(16)
);
 
CREATE TABLE wap_user_login_log
(
    user_name VARCHAR(100),
    login_date DATE
);
 
以下是建议的公共字段名称及类型

create_user VARCHAR(32) 建档人
create_time datetime 创建时间
update_user VARCHAR(32) 更新人
update_time datetime 更新时间
remark VARCHAR(255) 备注
contact_name VARCHAR(32) 联系人
tel VARCHAR(20) 电话号码
mob VARCHAR(20) 手机号码
address VARCHAR(100) 联系地址
zip_code VARCHAR(10) 邮编
identity_card VARCHAR(25) 身份证号
fax VARCHAR(20) 传真
email VARCHAR(64) 电邮

建议1:   字段名建议不要用JAVA关键字来命名,;

4.2.4 主键

规则1:涉及到要做分库分表的表用有序UUID做主键,UUID主键类型选择CHAR(32);
规则2:不涉及分库分表的表选用自增长ID做主键,主键类型使用unsigned int或unsigned big int;
规则3:主键无特别要求的,字段名统一定义为 id;
 

4.2.4 外键

规则1:外键名应以"fk_"开头,后接表名;
示例
如下语句不符合规范(外键名未以fk_开头)
alter table wap_user_login_log
add constraint wap_user_login_log_f foreign key(user_name) REFERENCES tb_user_name(user_name)
如下语句符合规范
ALTER TABLE wap_user_login_log
ADD CONSTRAINT fk_wap_user_login_log FOREIGN KEY(user_name) REFERENCES tb_user_name(user_name)
规则2:不同的表的外键,如果引用的是相同表的相同字段,则外键字段名及类型应保持一致;


版权属于: sbboke版权所有。

转载时必须以链接形式注明作者和原始出处及本声明。

张贴在数据库相关标签:

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论