我是DB设计的新手,我在查找如何定义“多对一”关系方面遇到了一些麻烦.我可以找到关于“一对多”和“多对多”的各种信息,但没有关于“多对一”的信息.我的挂断是如何存储数据.我有一个名为“类别”的表,然后我有另一个名为“库存”的表,每个“库存”项目可以属于多个“类别”.
如何在单个“库存”行中存储多个“类别”?我是否应该有一个中间表来存储具有相应“库存”ID的“类别”ID?或者添加像“库存”行中具有“类别”ID的JSON字符串这样的东西是正确的方法吗?或者有没有办法在“库存”行中存储“类别”ID数组?
谢谢你的帮助!
解决方法:
多对一的正确用语是一对多.只需创建一个这样的表,
CREATE TABLE Categories
(
CategoryID INT Primary KEY,
CategoryName
);
CREATE TABLE InventoryList
(
ProductID INT Primary KEY,
CategoryID INT,
ProductName VARCHAR(50),
CONSTRAINT tb_fk FOREIGN KEY (CategoryID) REFERENCES Categories(CategoryID)
);
标签:mysql,database-design,database-schema
来源: https://codeday.me/bug/20190716/1479926.html