Penso che i due modelli che proponi rappresentano cose molto diverse.
Una singola tabella digitata su (A, B, C) rappresenta che questa combinazione unica è valida / contiene dati ad essa associati. Cercare una riga e interpretare solo i dati basati su A e B sarebbe un errore. Se puoi prevedere i valori validi di C basati su A e B, allora non fa parte della chiave; se c'è una sola C valida per ogni A e B, è solo una colonna di dati.
Tre tabelle (A, B), (A, C) e (B, C) modellano un insieme di relazioni separate. Cercare solo una riga basata su A e B è possibile e pienamente supportato. Inoltre, le regole di normalizzazione dicono che queste relazioni dovrebbero essere indipendenti - l'esistenza di righe in (A, B) e (A, C) non dovrebbe prevedere una riga in (B, C), altrimenti quella riga è dati duplicati.
Sono possibili altre variazioni, come una tabella di mappatura da A a B, con la chiave surrogata AB e una tabella dipendente che elenca la relazione di tali coppie con C (AB, C); o anche una tabella che associa le coppie AB alle coppie BC.
Ci saranno diversi scenari in cui cose diverse hanno senso. Può mai esserci una A con una B e non una C? La stessa A avrebbe sempre la stessa B ma C diverse? La relazione tra B e C ha un significato al di fuori della relazione tra loro e A?
Dalle informazioni aggiuntive modificate nella domanda, potresti modellare le seguenti relazioni:
- cosa-A ha la caratteristica-B, che dà la cosa-funzione-AB (chiavi esterne A, B; chiave primaria AB)
- la caratteristica-B ha l'opzione-C, che fornisce l'opzione-opzione-BC (chiavi esterne B, C; la chiave primaria BC)
- cosa-caratteristica-AB ha caratteristica-opzione-BC, dando prezzo X (chiavi esterne AB, BC)
Si noti che qui abbiamo creato entità aggiuntive, che potrebbero avere le proprie informazioni: ho elencato il prezzo come probabile output della terza tabella, ma una cosa-funzione-AB potrebbe avere delle restrizioni su quando questa funzionalità è disponibile ; una caratteristica-opzione-BC potrebbe avere una descrizione aggiuntiva su come l'opzione si applica in quel contesto; ecc. Queste sarebbero o colonne o ulteriori tabelle con chiavi esterne, come le restrizioni delle caratteristiche delle cose con la chiave esterna AB.