我继承了一个数据库架构,它看起来类似于下面的一个:
CREATE TABLE Products (
ProductID int not null PRIMARY KEY,
StoreGroupID int not null,
-- product properties...
)
CREATE TABLE Stores (
StoreID int not null PRIMARY KEY,
StoreGroupID int not null,
-- store properties...
)
Run Code Online (Sandbox Code Playgroud)
这个想法是一个产品和一组商店之间存在 1-* 对应关系(一个产品总是由一组商店携带,一组商店可以携带多种产品)。
然而,当前的数据库没有定义任何类型的“商店组”实体——StoreGroupID而是由业务逻辑代码从序列中分配,完全任意,没有外键约束。
创建一个StoreGroup表是否有意义,即使它可以携带的唯一列是StoreGroupID? 或者有没有另一种方法来模拟这种关系?