|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[Sql - generico]uno a molti
Ciao a tutti
Vorrei il vostro parere su quanto segue: Tabella Categorie Documenti: id, descrizione (es.: carta d'identità, passaporto, etc..) Tabella Persone classici campi anagrafici. Adesso, devo gestire il caso in cui una persona disponga di più documenti. Questo caso si verifica, ad esempio, quando questa persona fa una richiesta specifica, tipo: -può chiedere che gli venga affidata un'autovettura (patente) -può chiedere di fare delle trasferte all'estero (passaporto) -può chiedere di avere accesso ad alcune sezioni di una libreria (carta di identità) Ho pensato quindi di gestire una tabella "documentiPersona" con una relazione alla tabella Persone mediante l'id (persona) e alla tabella categorie documenti mediante la descrizione del documento, avendo quindi una tabella del genere: Codice:
personaId documentoId Codice:
personaId | documentoId 1 5 1 7 1 3 grazie mille RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#2 |
|
Messaggi: n/a
|
Si è corretto.
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Oppure mettere l'id di persona nella tabella Categoria Documenti...
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jun 2009
Messaggi: 1342
|
Quote:
nella tabella documenti definisci la chiave primaria come idpersona + id documento. |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Quote:
|
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Buongiorno a tutti
Mi spieghereste meglio come mai la disegnereste così come avete suggerito ? Grazie mille RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Feb 2006
Messaggi: 76
|
ma scusate.........
e anche come l'ha "tradotta" lui nel modello relazionale è il classico tipo di relazione M:N che si realizza con la tabella "intermedia" che contiene gli id degli abbinamenti tra le altre due tabelle.
__________________
Intel E5800 @3.600MHz (240MHz * 15 - 1.318V) - 2x2GB DDR2 800 @800MHz 4-4-4-12 - nVidia 7600GT GPU560 @735MHz MEM1400 @1560MHz DEFUNTA All on GA-P31 DS3L - Logitech G15 - Acer AL1916W - Windows 7 x64 Ultimate |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Quote:
Il documento non è un "tipo di documento", ma è IL documento, quindi ogni record contiene le info di quel documento, che ovviamente è legato unicamente ad una persona. |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Quote:
Con la tabella intermedia, come è già stato detto da nuovoUtente86 puoi ottenere che un documento è legato a più persone e viceversa una persona è legata a più documenti, è questo è potenzialmente pericoloso se non voluto. |
|
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Feb 2006
Messaggi: 76
|
Quote:
allora quoto sul mettere l'id della persona nella tabella dei documenti, senza la tabella "intermedia"
__________________
Intel E5800 @3.600MHz (240MHz * 15 - 1.318V) - 2x2GB DDR2 800 @800MHz 4-4-4-12 - nVidia 7600GT GPU560 @735MHz MEM1400 @1560MHz DEFUNTA All on GA-P31 DS3L - Logitech G15 - Acer AL1916W - Windows 7 x64 Ultimate |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:05.




















