数据库规范与数据类型选择
数据库表字段命名规范
注:SQL命名类型采用Oracle
注:黄色部分为争议部分
数据库命名规范
采用英文单词命名,多个单词使用_拼接,避免使用数字
命名简单明了,避免生僻单词
数据表命名规范
- 全部使用英文小写命名,非特殊情况避免大写和避免数字
- 使用单词命名,禁止使用拼音和中文,或者混合命名的情况如:fenzujiage sys_zhushop_org
- 单词拼接使用_ 如:人员组织对应表:hr_user_org 职级比表:hr_rank
- 尽量避免使用数据库关键字 name time,使用 file_name,add_time
- 表名使用单数/复数建议考虑对应情况比如文件-人员是多对一,文件表可以为 hr_files
- 遵循以上规范的同时提高实用性,比如适当使用缩写,例如:定单的名称为:po_order,则采购定单的明细表为:po_orderdtl
- 遵循以上规范的同时命名简单明了,避免生僻单词
- 应有描述信息
- 命名建议采用 系统 / 模块+功能 人事组织 hr_org,通用表使用sys_ ,base_
数据库字段命名规范
- 全部使用英文小写命名,非特殊情况避免大写和数字
- 使用单词命名,禁止使用拼音和中文,或者混合命名的情况如:zhulinHouseAdrTimes maimaiHouseAdrTimes
- 单词拼接使用_,字段名为一到两个单词,最长不应超过三个如:
- 尽量避免使用数据库关键字 name time
- 遵循以上规范的同时提高实用性,字段名避免太过冷门生僻和过长如:职能向阳班期数 sun_classes 船长训练营期数:captain_classes
- 不要在字段名中包含数据类型,出身日期 brith_date Date 情况除外
- 字段命名考虑字段类型,例如:出身日期 brith_date Date 修改时间 update_time datetime
- 避免简单缩写,如employe_id 不应写成 eid和e_id
- 特殊情况长字段命名驼峰混合:是否申报见习基地: declare_traineeBase
- 简单单词命名使用驼峰法:是否删除: isDel
- 字段类型 除特殊类型,字段应有默认值,字符型默认空字符串,数值型默认 0,布尔值默认 0(false) 字段长度考虑实际情况比如 id 使用 uuid 在oracle中应为VARCHAR 2(36)
- 其他常用字段规范:
电话:
手机:
开始时间:
结束时间:
生效时间:
删除标识:
… …
SQL规范
数值计算:
NUMBER :精度最高可达20个基数-100位,相当于39或40位十进制数,具体取决于小数点的位置。
BINARY_DOUBLE:BINARY_DOUBLE
是一种64位双精度浮点数数据类型。每个BINARY_DOUBLE
值需要8个字节。在NUMBER
列中,浮点数具有小数精度。在a BINARY_FLOAT
或BINARY_DOUBLE
列中,浮点数具有二进制精度。二进制浮点数支持特殊值无穷大和NaN
(不是数字)。
详见官方文档:https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#SQLRF50985
建表循环关系问题: