アプリケーションに次のシナリオがあります。
Structure と呼ばれるエンティティ、Customer と呼ばれる別のエンティティ、および Organization と呼ばれる別のエンティティ。このすべてのエンティティにはオプションの 0->N Telephones があるため、4 つのテーブルを作成しました
Structure
ID_STRUCTURE (PK)
NAME VARCHAR
Customer
ID_CUSTOMER (PK)
RGI VARCHAR
Organization
ID_ORGANIZATION (PK)
ALIAS VARCHAR
Telephone
ID_TELEPHONE
NUMBER
ID_STRUCTURE (FK)
ID_CUSTOMER (FK)
ID_ORGANIZATION (FK)
3 つの外部キーの 1 つには常に値があり、別の 2 つには常に null が入力されます。
レジスタの例:
ID_TELEPHONE NUMBER ID_STRUCTURE ID_COSTUMER ID_ORGANIZATION
1 1234 1 null null
2 4322 null 1 null
3 4333 null null 2
4 4233 null null 2
私のDBAは、それは間違ったアプローチであり(そして正規化されていません)、このnullables fk を避けるためにN:Nテーブルを提案すると言います。しかし、ビジネス ルールでは、N:N の提案は許可されていません。しかし、この議論は正規化に関するものです。
私は間違っていて、このアプローチは正規化されていませんか? それとも、それは正しく、概念上の問題はありませんか?