######版本号:V0.0.1,更新日期:2019-01-16
utf8mb4,排序规则统一使用utf8mb4_general_ciNOT NULL,并提供默认值tinyint替代,通过程序实现枚举功能SELECT id FROM user_user WHERE mobile=13812345678,而是SELECT id FROM user_user WHERE mobile='13812345678'NOT,!=, <>, !<, !>, NOT IN, NOT LIKE等SELECT id FROM user_user WHERE status=1 OR status=2,改成SELECT id FROM user_user WHERE status IN (1,2)tinyint存储,0表示false,1表示true数据库名称统一使用{域名}.{租户名称}-{从库备份库标识}.{数据库环境}的方式命名。
域名不包括.com,.cn这种尾缀,如www.huiguanjia.cn,则域名为huiguanjia。
租户名称为租户唯一标识,若无租户则使用产品名称,如数据库为从库或备份库,则加上-slave或-backup。
数据库环境分为线上环境,标识为online;开发环境,标识为dev;测试环境,标识为test。
示例数据库名称如下:
数据表字段统一使用小写字母,多个单词采用下划线分隔。单词不允许使用拼音,单个单词字符在15字符以内不允许缩写。
数据表名采用模块名_实体名的方式命名,,中间表两个实体时间通过to连接,表名称长度不得超过60个字符(MySQL最大表名称长度为64,Oracle为30),建议表名在30个字符以内,示例数据表名如下:
service_feedback:物业服务反馈表service_feedback_detail: 物业服务反馈详情表charge_standard_to_house: 收费系统收费标准关联房屋表数据表字段名禁用编程语言关键字,如abstract, int, string, public等。
常用字段要求必须使用下表的字段,不允许重复新增新的字段名。
| 名称 | 数据库字段名 | 数据类型 | 最小长度 | 最大长度 | 备注 |
|---|---|---|---|---|---|
| 主键 | id | String | 32 | 32 | 数据表主键,字符均为阿拉伯数字 |
| 姓名 | name | varchar | 16 | 64 | 推荐长度设置为64 |
| 性别 | sex | varchar | 1 | 10 | male=男,female=女 |
| 生日 | birthday | datetime | - | - | 格式:YYYY-MM-dd hh:mm:ss |
| 手机号 | mobile | varchar | 16 | 32 | 推荐长度设置为20 |
| 电话号码 | telephone | varchar | 16 | 32 | 推荐长度设置为16 |
| 标题 | title | varchar | 64 | 128 | 推荐长度设置为128 |
| 摘要 | summary | varchar | 64 | 128 | 推荐长度设置为64 |
| 备注 | remark | varchar | 64 | 128 | 推荐长度设置为64 |
| 创建时间 | created_at | datetime | - | - | 格式:YYYY-MM-dd hh:mm:ss |
| 更新时间 | updated_at | datetime | - | - | 格式:YYYY-MM-dd hh:mm:ss |
| 创建人 | created_by | String | 32 | 32 | 存储数据创建者ID,字符均为阿拉伯数字 |
| 更新人 | updated_by | String | 32 | 32 | 存储最近一次更新者ID,字符均为阿拉伯数字 |
| 省份名 | province_name | varchar | 16 | 32 | 推荐长度设置为32 |
| 省份编号 | province_id | int | 9 | 11 | 推荐长度设置为10 |
| 城市名 | city_name | varchar | 16 | 32 | 推荐长度设置为32 |
| 城市编号 | city_id | int | 9 | 11 | 推荐长度设置为10 |
| 地区名 | district_name | varchar | 16 | 32 | 推荐长度设置为32 |
| 地区编号 | district_id | int | 9 | 11 | 推荐长度设置为10 |
| 经度 | longitude | decimal | 10,6 | 10,6 | |
| 纬度 | latitude | decimal | 10,6 | 10,6 | |
| 单价 | price | decimal | 8,2 | 16,6 | 推荐使用12,6,如果是参与计算的单价建议保留6位小数 |
| 删除标记 | deleted | tinyint | 1 | 1 | 1=已删除,0=正常 |
| 数据可见性 | visible | tinyint | 1 | 1 | 0=不可见,1=可见,仅适用于针对C端用户 |
| 是否启用 | enable | tinyint | 1 | 1 | 0=禁用,1=启用 |
| 排序号 | sort | smallint | 2 | 4 | 推荐使用2位,数值越大排序越靠前(即降序排列) |
##业务表必备字段 业务表是指关系产品具体业务逻辑实现的数据表,不包括诸如日志,配置等表。业务表要求必须有以下字段:
id:主键created_at:创建时间created_by: 创建人(如非后台创建的数据设置为'0')updated_at: 最近一次更新时间(创建时等于创建时间)updated_by: 最近一次更新人(如非后台更新,设置为'0',创建时等于创建人)deleted: 删除标记(默认为0,即正常状态)remark: 备注(默认为空字符串)