db.数据库开发规范-初稿.md

#数据库开发规范-初稿

#命名

  1. 大小写 表名、字段名小写;sql关键字大写;单词间下划线分割
  2. 表名 模块_开头;关联表后缀_rel 如 :mon_ 监控模块 ;sys_ 系统模块
  3. 字段名 c_开头 下划线分隔 转java对象,属性为小骆驼命名法无下划线; 注:select c_name as name from 表,在groovy.sql和dbutils需要这样转化才能构建出前台需要的视图

#主外键

  1. 每个表要有主键,。联合主键、唯一键中的字段非空
  2. 主键id字段类型,系统表、固化数据表、字典表等,具有明确意义的用字符型,其他如数据表、用户动态录入的表ID为数值型
  3. 所有表都需要建外键(除特殊情况外:如历史数据;根据实际情况进行分析,讨论通过后,可以无外键) 外键,采用表名前缀,避免名称重复

#类型

  1. 枚举类型存储id,注释写明含义 {6:"严重",5:"主要"},参见枚举AlarmLevel

  2. boolean类型用 TINYINT (1)

  3. 数据表时间用long

#扩展字段

主表增加 两个tag冗余字段,一个json扩展信息字段,作为二次开发时使用; 开发阶段不允许用扩展字段

c_json varchar(500) COMMENT '扩展信息json',
c_tag1 VARCHAR(36) COMMENT '冗余字段1',
c_tag2 VARCHAR(36) COMMENT '冗余字段2',

#其他

  1. 表、列必须有注释

  2. 标识符不能过长(30字节);包括表名、列名、索引名称等

  3. 表可以指定存储引擎;不要指定字符集,由数据库创建时,统一指定 如: ENGINE=InnoDB DEFAULT CHARSET=gbk 去掉字符集

#sql示例

DROP TABLE IF EXISTS r_xxx_test;
CREATE TABLE r_xxx_test(
    c_id INT (10) NOT NULL AUTO_INCREMENT COMMENT 'ID',
    c_name VARCHAR (200) NOT NULL COMMENT '名称',
    c_group_id INT (10) NOT NULL COMMENT '分组ID',
    c_description VARCHAR (500) COMMENT '描述',
    c_sort_id INT (10) COMMENT '排序号',
    c_is_enabled TINYINT (1) DEFAULT 1 COMMENT '是否启用',
    c_json VARCHAR (500) COMMENT 'json格式扩展信息',
    c_tag1 VARCHAR (36) COMMENT '冗余字段1',
    c_tag2 VARCHAR (36) COMMENT '冗余字段2',
    PRIMARY KEY (c_id),
    CONSTRAINT fk_xxx_test_group_id FOREIGN KEY (c_group_id) REFERENCES r_report_group (c_id) ON DELETE CASCADE
) ENGINE = INNODB COMMENT = '报表模板';

#数据库编码 mysql数据库脚本文件必须是:utf-8,数据库连接字符集:UTF-8,数据库是GBK;存储引擎INNODB Sql文件用ultraedit等工具 转换为utf8无bom格式 #数据库连接样例 jdbc:mysql://127.0.0.1:3306/riil_product?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true

转载于:https://my.oschina.net/itnms/blog/422161

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值