1、数据库设计简介
1.1软件研发步骤
1.2数据库设计概念
- 数据库设计就是根据业务系统的具体需求,结合我们选用的DBMS,为这个业务系统构造出最优的数据存储模型。
- 建立数据库中的表结构以及表与表之间的关联关系的过程。
具体而言就是,有哪些表?表里有哪些字段?表和表之间有什么关系?
1.3 数据库设计的步骤
- 需求分析:数据是什么?数据有哪些属性?数据与属性的特点是什么?
- 逻辑分析:通过ER图对数据库进行逻辑建模,不需要考虑我们所选用的数据库管理系统。
- 物理设计:根据数据库自身的特点把逻辑设计转换成物理设计。
- 维护设计:1.对新的需求进行建表 2.表优化
2、表关系(1对1,1对多(多对1),多对多)
1对1
- 用户和用户详情
1对多(多对1)
- 如部门和员工
- 一个部门对应多个员工,一个员工对应一个部门
多对多
- 如商品和订单
- 一个商品对应多个订单,一个订单包含多个商品
3、表关系之一对多
5、表关系之多对多
实践–表的链接关系的建立
-- 表的多对多关系实现
DROP TABLE IF EXISTS tb_order;
DROP TABLE IF EXISTS tb_goods;
-- 订单表
CREATE TABLE tb_order(
id int PRIMARY KEY auto_increment,
payment DOUBLE(10,2),
payment_type TINYINT,
status TINYINT
);
-- 商品表
CREATE TABLE tb_goods(
id int PRIMARY KEY auto_increment,
title VARCHAR(100),
price DOUBLE(10,2)
);
-- 订单商品中间表
CREATE TABLE tb_order_goods(
id int PRIMARY KEY auto_increment,
order_id int,
goods_id int,
count int
);
-- 建完表后,添加外键
ALTER TABLE tb_order_goods ADD CONSTRAINT fk_order_id FOREIGN KEY(order_id) REFERENCES tb_order(id);
ALTER TABLE tb_order_goods ADD CONSTRAINT fk_goods_id FOREIGN KEY(goods_id) REFERENCES tb_goods(id);
运行完后,点击对象,选中三个表,右键选择逆向表到模型。
可视化三个表的链接关系。
6、表关系之一对一