私は3つのテーブルを持っています:
Product (shamppoo, toothpaste,..)
FrequenceOfUse (3 times/day, once/day,...)
User
ご想像のとおり、ユーザーが製品をどれだけ使用しているかをデータベースに保存したいと考えています。これらのテーブル間の関係はどうあるべきですか?
ハビ
私は3つのテーブルを持っています:
Product (shamppoo, toothpaste,..)
FrequenceOfUse (3 times/day, once/day,...)
User
ご想像のとおり、ユーザーが製品をどれだけ使用しているかをデータベースに保存したいと考えています。これらのテーブル間の関係はどうあるべきですか?
ハビ
and間の多対多の関係User
とProduct
and 間の 1 対多の関係にFrequenceOfUse
なりUserProduct
ます (後者は関係そのものです)。
リレーションシップが単独でリレーションシップを持つことができるかどうかについては、コンセンサスがないことに注意してください。したがって、次のようにモデル化することを好む人もいます。
1-N
関係:ユーザーは 使用に参加します 1-N
関係:製品は 使用に参加します N-1
関係利用 は Frequenceで行うこれらのモデルは両方とも、次のようにリレーショナルにモデル化されています。
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)
)
私のブログのこの投稿は役に立つかもしれません: