• 数据库规范与数据类型选择


    数据库表字段命名规范

                                                  

    注:SQL命名类型采用Oracle

    注:黄色部分为争议部分

     

    数据库命名规范

    采用英文单词命名,多个单词使用_拼接,避免使用数字

    命名简单明了,避免生僻单词

     

    数据表命名规范

    1. 全部使用英文小写命名,非特殊情况避免大写和避免数字 
    2. 使用单词命名,禁止使用拼音和中文,或者混合命名的情况如:fenzujiage    sys_zhushop_org
    3. 单词拼接使用如:人员组织对应表:hr_user_org  职级比表:hr_rank
    4. 尽量避免使用数据库关键字 name  time,使用 file_nameadd_time
    5. 表名使用单数/复数建议考虑对应情况比如文件-人员是多对一,文件表可以为 hr_files
    6. 遵循以上规范的同时提高实用性,比如适当使用缩写,例如:定单的名称为:po_order,则采购定单的明细表为:po_orderdtl 
    7. 遵循以上规范的同时命名简单明了,避免生僻单词
    8. 应有描述信息
    9. 命名建议采用 系统 / 模块+功能 人事组织 hr_org,通用表使用sys_ ,base_

     

    数据库字段命名规范

    1. 全部使用英文小写命名,非特殊情况避免大写和数字
    2. 使用单词命名,禁止使用拼音和中文,或者混合命名的情况如:zhulinHouseAdrTimes   maimaiHouseAdrTimes
    3. 单词拼接使用_,字段名为一到两个单词,最长不应超过三个如:
    4. 尽量避免使用数据库关键字 name  time
    5. 遵循以上规范的同时提高实用性,字段名避免太过冷门生僻和过长如:职能向阳班期数 sun_classes  船长训练营期数:captain_classes
    6. 不要在字段名中包含数据类型,出身日期 brith_date  Date 情况除外
    7. 字段命名考虑字段类型,例如:出身日期 brith_date Date  修改时间 update_time datetime
    8. 避免简单缩写,如employe_id 不应写成 eide_id
    9. 特殊情况长字段命名驼峰混合:是否申报见习基地: declare_traineeBase   
    10. 简单单词命名使用驼峰法:是否删除:   isDel
    11. 字段类型 除特殊类型,字段应有默认值,字符型默认空字符串,数值型默认 0,布尔值默认 0(false) 字段长度考虑实际情况比如 id 使用 uuid  oracle中应为VARCHAR 2(36)
    12. 其他常用字段规范:

        电话:

        手机:

        开始时间:

        结束时间:

        生效时间:

        删除标识:

        … …

     

    SQL规范

    数值计算: 

    NUMBER :精度最高可达20个基数-100位,相当于39或40位十进制数,具体取决于小数点的位置。

    BINARY_DOUBLE:BINARY_DOUBLE是一种64位双精度浮点数数据类型。每个BINARY_DOUBLE值需要8个字节。在NUMBER列中,浮点数具有小数精度。在a BINARY_FLOATBINARY_DOUBLE列中,浮点数具有二进制精度。二进制浮点数支持特殊值无穷大和NaN(不是数字)。

    详见官方文档:https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#SQLRF50985

    建表循环关系问题:

  • 相关阅读:
    【推荐】com.alibaba方式xml转json,能将xml的所有属性方法,全部转化为json
    关于使用JAXB读取xml文档转换为java对象报错:类的两个属性具有相同名称com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsExc...
    java正则,将<a或者</a,尖括号后面的字母改成大写
    javaben转xml
    三次握手四次挥手
    RPC接口测试(六)RPC协议解析(重要!重要!重要!)
    os.popen(cmd) 与 os.system(cmd) 的区别
    jmeter测试webSocket接口
    Ubuntu20.04 体验和美化
    API可视化管理平台YApi
  • 原文地址:https://www.cnblogs.com/jiangwz/p/10030180.html
Copyright © 2020-2023  润新知