データベースに同じFKを含むテーブルがある場合は、正規化する必要がありますか?複数のテーブルで使用される外部キーのセットをさらに正規化する必要がありますか?
これらは、問題のDBテーブルです:
user (
user_id int PK,
...
...
)
user_cat (
user_cat_id int PK,
user_id int FK,
effective_date date,
location_id FK, <-- dup
qualification_id FK, <-- dup
business_id FK <-- dup
)
user_admin_cat (
admin_cat_id int PK,
user_id int FK,
effective_date date,
company_id FK,
location_id FK, <-- dup
qualification_id FK, <-- dup
business_id FK <-- dup
)
は、ここで私は重複を最小限に抑えるためにやって考えたものだ:私は学びたい何
user (
user_id int PK,
...
...
)
user_cat (
user_cat_id int PK,
user_id int FK,
effective_date date,
shared_id, FK <-- dup
)
user_admin_cat (
admin_cat_id int PK,
user_id int FK,
effective_date date,
company_id FK,
shared_id, FK <-- dup
)
shared_user_cat_fks (
shared_id int PK,
location_id FK,
qualification_id FK,
business_id FK
)
は、一つ以上の答えです
(1)正規化ソリューションを使用する場合、それはなぜ優れていますか?
(2)正規化ソリューションを使用しない場合は、どうしますか?このソリューションはなぜ優れていますか?
(3)2つのテーブルに重複があるために正規化ソリューションを使用しない場合、何かを実行する前に重複テーブルがいくつありますか?どのようなソリューションを実装しますか?なぜこれは良い解決策ですか?
返信ありがとうございましたドミトリー。 –