E-R图

(一)根据E-R图(实体关系图),分析当前系统具有以下几个模块:
用户,订单,商品,购物车
(二)几个模块间具有如下的关系:
①一个用户有多个订单(用户与订单之间是 一对一关系)
②一个订单可包含多个商品,一个商品可以被多个订单下单
(商品与订单之间是 多对多关系)
(三)建库、建表
create databases shopingmall;
use shopingmall;

记一下遇到的bug
“cannot add foreign key constraint”
翻译一下这句话的意思就是无法建立外键。
一般遇到这个问题,进行如下的检查即可解决:
a、两张表里要设主键和外键的字段的数据类型或者数据长度应保持一致 (注意varchar的长度,还有 int和tinyint)
b、建立关联的两张表均不可以有记录存在
c、两个表的引擎应保持一致
(可以用如下查看表引擎的语句:show table status from <数据库名> where name=‘表名’;)
show table status from 数据库名 where name=‘表名’;
d、要设置外键的字段不能为主键</

本文通过E-R图分析了用户、订单、商品和购物车四个模块之间的关系,并详细介绍了在创建数据库和表时遇到的'cannot add foreign key constraint'错误,提供了解决该问题的检查步骤,包括字段类型匹配、表引擎一致性、外键字段不能为主键等。此外,推荐使用Navicat作为数据库管理和建模工具。
最低0.47元/天 解锁文章
1970

被折叠的 条评论
为什么被折叠?



