mysql - 如何从逻辑上确保我的多对多关系创建正确?

标签 mysql database

我基本上有 13 个不同的 table 。我有客户表,销售表连接到客户表,因为客户可以购买销售,并且同一个销售表也连接到员工表,因为员工可以销售销售。然后,我有一个连接到供应商表的订单表,因为可以向供应商下达单个订单,也可以向许多不同的供应商下达许多不同的订单。而且 Employee 表也可以连接到 Shop 表,因为 Employee 可以在单个商店工作,就像许多员工可以为不同商店工作一样。 Employee 和 Shop 表通过 EmployeeShop 连接,EmployeeShop 对 Employee 和 Shop 表具有引用或具有外键。其余关系如下图所示。我的问题是,我不完全确定连接到其他一些表的某些表(例如连接到 OrderLineItem 的成分表)是否完全正确。还有订单表和供应商,它们通过 OrderVendor 连接。请任何帮助或建议将有利于实际继续并将我的模型转发到物理数据库。

这是 EER 模型

[EER Model

最佳答案

让我们再试一次:

ingredients(ingredient_id*,ingredient)
order_details (order_id*,ingredient_id*,qty) 
orders (order_id*, vendor_id, date)
vendors(vendor_id*,vendor details, etc.) 

[ * = (component of) PRIMARY KEY ]. 

关于mysql - 如何从逻辑上确保我的多对多关系创建正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42786536/

相关文章:

mysql - MYSQL存储过程中if语句简写语法

MySQL 在多行上查询 WHERE 和 AND

mysql - 在 MySQL 中如何优先于写入/更新而不是读取?

android - 选择 4 个网格位置之间的所有条目

mysql - 不等于 - MySQL 明确没有和组

php - 在 SQL 查询中使用变量(不是用户输入的)

mysql - 本地数据库和生产环境之间 SQL 查询运行时间的惊人差异

sql - 有外键关系的数据如何在SQL中实现软删除?

MySQL 一种情况下多列上的多个条件

c# - 字典与数据库(Mysql)