MySQL之三范式

作者: 一只小宋_三月 | 来源:发表于2019-01-21 22:14 被阅读11次

    宋玥珂的突然更新~

    范式:设计数据库表时所依据的规范

    第一范式:一张表内字段不重复出现 如课程数学 课程英语。又比如联系方式中既有邮箱又有电话。

    一个例子

    第二范式:建立在第一范式基础上 要求非主键字段完全依赖主键,不能产生部分依赖。尽量不使用联合主键。

    一个反例

    解决方式:一共建立三个表。建一个学生表字段为学生编号和姓名 一个教师表字段为教师编号和姓名。 再建一个关系表 ,把学生编号(外键 来自学生表)和教师编号(外键 来自教师表)做联合主键, 这就是一个典型的多对多的设计。

    第三范式:在满足第二范式基础上,非主键字段不能依赖与主键字段(不要产生传递依赖)。

    该表已经满足第二范式 但是非主键字段班级名称依赖班级编号 仍然存在数据冗余

    解决方式:一对多,在多的一方表中添加指向一的一方的主键字段的外键。分两张表存储。

    就像这样啦

    一对一有两种方案:

    1.分两张表储存  共享主键

    2.分两张表储存 外键唯一

    设计时尽量遵循三范式,但是还是要看具体需求。

    emmmm 希望自己写的是对的..

    相关文章

      网友评论

        本文标题:MySQL之三范式

        本文链接:https://www.haomeiwen.com/subject/yhbhjqtx.html