zoukankan      html  css  js  c++  java
  • 数据库设计的物理设计

    根据所选择的关系型数据库的特点对逻辑模型进行存储结构设计。

    涉及的内容
    * 定义数据库、表及字段的命名规范
    可读性、表意性、长名原则
    * 选择合适的存储引擎
    * 为表中的字段选择合适的数据类型
    * 建立数据库结构

    为表中的字段选择合适的数据类型

    一个列可以选择多种数据类型时,优先考虑数值类型,其次是日期或二进制类型,最后是字符类型。
    对于相同级别的数据类型,优先选择占用空间小的数据类型。

    整数类型

    tinyint 1
    smallint 2
    mediumint 3
    int 4
    bigint 8

    实数类型

    float 4 非精确
    double 8 非精确
    decimal 每4个字节存9个数字,小数点占一个字节 精确
    

    字符类型

    varchar类型的存储特点
    * 变长字符串,只占用必要的存储空间
    * 列的最大长度小于255则只占用一个额外字节用于记录字符串长度
    * 列的最大长度大于255则要占用两个额外字节用于记录字符串长度
    * 使用最小的符合需求的长度
    * 字符串列的最大长度比平均长度大很多
    * 字符串列很少被更新
    * 使用多字节字符集存储字符串
    char类型
    * 定长
    * 会删除末尾的空格
    * 最大宽度255
    * 存储近似长度的值
    * 适合存储短字符串
    * 适合存储经常更新的字符串列

    日期类型

    DATETIME类型
      fraction
      与时区无关,8个字节
      1000-9999
    TIMESTAMP类型
      1970-当前的秒数
      int存储,4个字节,依赖指定的时区,自动记录行修改时间
      1970-2038
    DATE类型
      日期,利用日期时间函数进行相关计算
    TIME类型
  • 相关阅读:
    Linux内核RPC请求过程
    二分图
    Java实现 蓝桥杯 算法提高 合并石子
    Java实现 蓝桥杯 算法提高 合并石子
    Java实现 蓝桥杯 算法提高 摩尔斯电码
    Java实现 蓝桥杯 算法提高 摩尔斯电码
    Java实现 蓝桥杯 算法提高 文本加密
    Java实现 蓝桥杯 算法提高 文本加密
    Java蓝桥杯 算法提高 九宫格
    Java蓝桥杯 算法提高 九宫格
  • 原文地址:https://www.cnblogs.com/jiaoran/p/14422443.html
Copyright © 2011-2022 走看看