Originariamente inviato da AcquaFresca
Quindi dovrei modificare la chiave primaria e renderla da un solo attributo?
Ma allora perché nelle progettazioni si fanno spesso chiavi formati da più attributi se poi non sono utilizzabili?!!
non si puo' mai generalizzare con le strutture dei database. Vanno studiate le relazioni e le funzionalita' necessarie a gestirle. Ci sono pure molti database costruiti in modo assurdo e meno male che ci sono perche' mi danno anche di che vivere... come dice il pediatra: grazie al cielo ai bambini viene ancora il mal di pancia.

Se tu hai una struttura composta da svariate tabelle, sicuramente, anche se e' un "sicuramente" genericamente inteso, la cosa migliore e' un id auto-increment e quindi un numerico intero progressivo, che identifica il record, l'unico modo che certamente rispetta pienamente i requisiti per una chiave primaria perfetta.

Per il collegamento di un certo tab.record verso altra tab.record userai questo riferimento numerico. ma non fare mai in una tabella di unione (unione tra tabelle ottimizzate) una chiave primaria formata da informazioni provenienti da tabelle esterne.

tra l'altro dipartimento-matricola potrebbero anche essere due tipi di campo diversi (char-int) che e' una delle cose "sconsigliate" in una chiave primaria. Poi rimane sempre il fatto che puoi fare come ti pare. Al max alla fine chiami il "pediatra".