【章节3】MySQL数据类型、数据表设计

MySQL常用数据类型

1.整数

    tinyint:-128—127(1个字节)
    smallint:-32768——32767(2个字节)
    int:4个字节
    bigint:8个字节
2.定点数:小数点的位置固定→数据精度得到保证
    decimal(p,s)    #p表示数字所占的总位数,s表示小数部分的位数
    --实际有效字节为p+2位,最大8个字节--
3.浮点数:小数点的位置不固定→表示的范围更大,但是不能保证精度
    float:4个字节
    double:8个字节
4.日期时间
    date:某年某月某日
    time:时间(24h),时间间隔(-839:59:59——839:59:59)
    datetime
5.文本
    char:固定长度文本   char(5)表示长度为5注意如果长度为3,会添加2个空格
    varchar:varchar(5)注意如果长度为3,只分配3个字节
    text:大文本(无限长文本),不能作为查询条件
6.二进制数据
    bit
用一张图来总结,如下:


数据表设计

1.数据表的设计流程和ER图

(1)需求分析阶段:分析客户的业务和数据处理需求

(2)概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整

(3)详细设计阶段:将E-R图转换成多张表→进行逻辑设计→应用数据库设计的三大范式进行审核

(4)代码编写阶段:将设计和规范的数据表进行物理实现

举个例子(模拟QQ游戏大厅项目)


ER(Entity-Relationship)实体关系图

此例子中的实体为:游戏和玩家

注意如下符号和含义:


(QQ游戏大厅项目E-R图):


2.使用范式检查数据表设计的合理性

范式:一种衡量数据库设计好不好(冗余?)的规范


第一范式(1st NF):每一列不能再分割


第二范式(2nd NF):表中每一个列都表示主键所代表的实体
*一个关系--一个表
**胜者得分是用来描述难度的字段,不是用来描述游戏的



第三范式(3rd NF):不存在冗余
*玩家昵称可以不出现在分数表中,因为玩家昵称可以在玩家表中找到
















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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值