MySQL 基础 5 多表设计之表关系

1.1多表设计之表关系

1.1.1表与表之间的关系

  • 一对多的关系
    • 一对多的例子:一个部门下可以有多个员工,一个员工只能属于某一个部门。
  • 多对多的关系
    • 多对多的例子:一个学生可以选择多门课程,一门课程可以被多个学生选择。
  • 一对一的关系
    • 一对一的例子:一个公司可以有一个注册地址,一个注册地址只能对一个公司。

1.2 多表设计之一对多关系

  • 原则
    • 在多的一方创建外键指向一的一方的主键

    • 一对多关系.png

1.3 多表设计之多对多的关系

  • 一个学生选择多门课程,一门课程被多个学生所选择
  • 原则
    • 需要创建中间表,中间表中至少两个字段,分别作为外键指向多对多双方的主键

    • 多对多的关系.png

1.4 多表设计之一对一关系

  • 一个公司可以对应一个注册地址,一个注册地址只能对应一个公司
  • 原则
    • 唯一外键对应

      • 假设是一对多,在多的一方创建外键指向一的一方的主键,将外键设置为unique。
    • 主键对应

      • 将两个表的主键建立对应关系即可。
    • 一对一关系.png

1.5 多表设计之多表分析及创建

  • 完成一个学校的选课系统,在选课系统中包含班级,学生和课程这些实体。

    • 班级和学生之间是有关系存在:
      • 一个班级下包含多个学生,一个学生只能属于某一个班级(一对多的关系)。
    • 学生和课程之间是有关系存在:
      • 一个学生可以选择多门课程,一门课程也可以被多个学生所选择(多对多的关系)。
  • 多表的创建

  • 创建表.png

1.6 练习:

  • 实现一个网上商城案例,在商城中会有用户,商品,订单,商品分类。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容