我是一名新手程序员。
我有三个表,分别为产品、类别和子类别。我将它们的关系配置如下:
产品到类别:多对多
产品到子类别:一对一
子类别到类别:多对一
我添加了一个subcategory_id列,它是产品表中的外键(用于映射产品和子类别表)。如果一个产品有一个子类别,这样就可以工作。现在的问题是,我有一些没有子类别的产品。子类别_id列应该为空,但是不允许为空。是否有解决办法?我认为关系配置与此有关。你有什么想法吗?
我是一名新手程序员。
我有三个表,分别为产品、类别和子类别。我将它们的关系配置如下:
产品到类别:多对多
产品到子类别:一对一
子类别到类别:多对一
我添加了一个subcategory_id列,它是产品表中的外键(用于映射产品和子类别表)。如果一个产品有一个子类别,这样就可以工作。现在的问题是,我有一些没有子类别的产品。子类别_id列应该为空,但是不允许为空。是否有解决办法?我认为关系配置与此有关。你有什么想法吗?
默认null
?产品到类别:多对多
产品到子类别:一对一
子类别到类别:多对一
这没什么意义。如果产品和子类别是一对一的,那么它们就是同一个实体。或者它们是一对零/一?
无论如何,无论是一对一还是一对零或一,每个产品都来自不同的子类别,每个子类别最多只分配给一个产品。如果是这样,则不能出现产品与类别为一对多,子类别与类别为一对多的情况。
想想看。如果单个产品可以有多个类别,但是每个产品只有一个子类别,那么一个子类别可以有多个类别,这与您所具有的类别和子类别的基数是相反的:一对多
通常,产品类别和子类别的关系如下:
类别到子类别:一对多(每个类别有多个子类别 - 每个子类别只属于一个类别)
子类别到产品:一对多,每个子类别中可以有多个产品,但每个产品最多只在一个子类别中。
你确定那不是你的结构吗?...