dbms e chiavi primarie

Massimo max@studiomasson.it
Sab 5 Apr 2008 13:39:13 CEST


Sto riflettendo su un tema correlato ai rdbms.
In particolare, sto cercando di capire se esistano dei casi in cui una
chiave primaria composta di un solo campo NON possa sostituire una
chiave primaria multi colonna. Allo stato attuale non mi sta venendo in
mente nulla, ma se qualcuno ha osservazioni in merito gli sarei grato se
volesse discuterne.

Mi spiego meglio con un esempio:
ipotizziamo di avere 2 tabelle (A e B) in relazione tra loro (1:1 o 1:n,
non mi interessa attualmente...).
Ipotizziamo anche che la chiave primaria della tabella A sia composta da
k campi, e che quindi la tabella B per relazionarsi abbia bisogno di
altrettanti k campi da usare come foreign key.
La relazione è quindi tra k campi di B e k campi di A.

La riflessione che facevo tra me e me è la seguente: in ogni caso, per
quanti siano quei "k" campi, viene sempre individuata una sola riga in
A. Lo stesso risultato (la relazione) lo si può quindi ottenere
utilizzando UN SOLO campo (il classico "id") nella tabella A ed un solo
campo foreign key nella tabella B, semplificando di molto la logica di
gestione.

Mi chiedevo, e volevo con voi condividere:
1) è corretto il ragionamento?
2) è forse questo il motivo per cui molti ORM si disinteressano alla
gestione delle chiavi primarie multi campo e utilizzano spesso le chiavi
primarie su un singolo campo?
3) mi sfugge qualche casistica, anche residuale, per cui le pk
multicampo potrebbero fare qualcosa che la pk su campo singolo non può
gestire?

Grazie in anticipo a chi vorrà discutere su queste mie elucubrazioni...

Ciao,
max.



Maggiori informazioni sulla lista blug