我有 3 张桌子:
Product (shamppoo, toothpaste,..)
FrequenceOfUse (3 times/day, once/day,...)
User
正如您可以想象的那样,我想在数据库中存储用户使用产品的数量。这些表之间应该是什么关系?
哈维
我有 3 张桌子:
Product (shamppoo, toothpaste,..)
FrequenceOfUse (3 times/day, once/day,...)
User
正如您可以想象的那样,我想在数据库中存储用户使用产品的数量。这些表之间应该是什么关系?
哈维
它将是和之间的多对多关系User
和和之间Product
的一对多关系(后者是关系本身)。FrequenceOfUse
UserProduct
请注意,关于关系是否可以独立存在关系没有达成共识。所以有些人更愿意将其建模为:
1-N
关系:用户 参与 使用1-N
关系:产品 参与 使用N-1
关系使用 以 频率执行这两个模型都被关系建模为:
CREATE TABLE user (id INT NOT NULL PRIMARY KEY, name TEXT, ...)
CREATE TABLE product (id INT NOT NULL PRIMARY KEY, name TEXT, ...)
CREATE TABLE frequence (id NOT NULL, description TEXT, ...)
CREATE TABLE usage
(
user INT NOT NULL FOREIGN KEY REFERENCES (user),
product INT NOT NULL FOREIGN KEY REFERENCES (product),
frequence INT NOT NULL REFERENCES frequence,
PRIMARY KEY (user, product)
)
您可能会在我的博客中发现这篇文章很有用: