JAVAWeb学习笔记--数据库设计
表关系:
-
一对一
➢如:用户和用户详情
➢一对一关系多用于表拆分, 将一个实体中经常使用的字段放一张表,不经常使用的字段放另一张表,用于提升查询性能。 -
一对多(多对一):
➢如:部门和员工
➢一个部门 ]对应多个员工,一个员工对应-一个部门 -
多对多:
➢如:商品和订单.
➢一个商品对应多个订单,-一个订单包含多个商品
一对一实例:
总结:
1.数据库设计 设计什么?
- 有哪些表
- 表里有哪些字段
- 表和表之间是什么关系
2.表关系有哪几种?
- 一对一
- 一对多(多对一)
- 多对多
多表关系实现
表关系之一对多
一对多(多对一):
➢如:部门表和员工表
➢一个部门对应多个员工,一个员工对应一个部门
实现方式:在多的一方建立外键,指向一的一方的主键。
表关系之多对多
多对多:
➢如:订单和商品
➢一个商品对应多个订单,一个订单包含多个商品
实现方式:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键
中间表的第一个id只是这个表的一个索引没有太大意义。
第二个order_id指的是订单的编号
第三个goods_id指的是商品的编号
如第一条记录是:tb_order_goods表的第一个记录中显示订单1中购买了商品1,订单1还购买的商品2,订单2也购买了商品1。
表关系之一对一
- 一对一:
➢如:用户和用户详情
➢一对一关系多用于表拆分,将一个实体中经常使用的字段放一张表, 不经常使用的字段放另一张表,用于提升查询性能。
实现方式:在任意一方加入外键,关联另一方主键,并且设置外键为唯一(UNIQUE)