MySQL增删改查进阶 — 表的设计

文章目录

  • 表的设计
    • 1.设计思路
    • 2.实体固定关系的套路
      • 2.1 一对一关系
      • 2.2 一对多关系
      • 2.3 多对多关系
    • 3.总结

表的设计

表的设计实际上要做的工作就是明确一个程序里,需要使用几个数据库,几个表,表里都有哪些列。

1.设计思路

  • 先明确实体
  • 再明确实体之间的关系
  • 根据上述的内容套用固定的公式,然后表就出来了。

实体的含义:

和 java 中对象的概念是类似的,相当于是需求中的关键的名词或者是概念。

例子:

要一个学校里,有老师、有学生、还有宿管阿姨。这些角色就可以被称为实体。

2.实体固定关系的套路

2.1 一对一关系

比如在一个学校中,有一个实体,学生,还有一个实体,学号。

一个学生只能有一个学号的同时,一个学号也只能被一个学生使用。


针对一对一的关系,表可以怎么创建?

1、把学生和账号这两个实体放到同一个表中

MySQL增删改查进阶 — 表的设计_第1张图片


2、学生和账号在不同表中可以相互关联

MySQL增删改查进阶 — 表的设计_第2张图片

2.2 一对多关系

比如在一个学校中,有学生实体班级实体

一个学生只能存在一个班级中,但是一个班级可以有很多学生。


针对一对多的关系,怎样创建表?

MySQL增删改查进阶 — 表的设计_第3张图片

2.3 多对多关系

一个学生可以选择多门课程,一门课程也可以被多个学生选修。

针对多对多关系表的创建:


1、创建两个表

MySQL增删改查进阶 — 表的设计_第4张图片



2、创建一个新的表当
MySQL增删改查进阶 — 表的设计_第5张图片
可以在这个新的表当中访问到学生和学生选修的课程。

3.总结

  • 找实体,给每个实体都安排个表。(需求中的关键名词)
  • 明确实体的关系(往固体造句中套)
  • 根据这些关系使用固定的方法来建表即可。

你可能感兴趣的:(MySQL,mysql,数据库,java)