Progettazione db clienti

Salve a tutti,

ho un piccolo problema nella progettazione di un db clienti,

i clienti possono essere privati e aziende, e un'azienda puo' avere

piu referenti.

Cosa normalissima fino qui

che sembrerebbe risolvibile semplicemente con

PRIVATI

idPrivato

nome ...

AZIENDA

idAzienda

ragionesociale...

REFERENTI

idAzienda

idPrivato

MA e dico ma ...ci sono alcuni problemi ..

1) il cliente privato che e' referente di una azienda non deve essere necessariamente cliente lui stesso.

2) quando devo associare una pratica al cliente....che sia azienda o privato ...come faccio???

PRATICHE

idPratica..

id???

Come potrei fare?

Grazie mille :P

inviato 9 anni fa
Ph03n1x
X 0 X

Per separare il concetto di assegnatario di una pratica con la sua tipologia puoi introdurre una nuova tabella

UtentePratica

idPratica

tipoUtente (privato, azienda, ecc...)

idUtente (che punta all'ID della particolare tabella)

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Lo posso fare...anche senza avere o impostare una forensign quindi controllandolo da software

...e' corretto ?

Grazie Gianni sei un mito  ;D

risposto 9 anni fa
Ph03n1x
X 0 X

Dimenticavo...

quindi quella sarebbe una tabella  a parte

o posso metterla direttamente nella tabella pratica secondo te?

perche' poi non saprei proprio come gestirla tramite query ...

risposto 9 anni fa
Ph03n1x
X 0 X

Io farei una tabella a parte, proprio per scollegare i due aspetti, pratica e assegnatario. Purtroppo non puoi usare una FK perché non sai a priori quale tabella conterrà il vero destinatario della pratica. Forse con MySQL 5 potresti creare un trigger di tipo "BEFORE INSERT" in modo da fare un controllo più accurato ma non saprei darti altre indicazioni.

 :bye:

P.S.: usa una transazione per effettuare tutte le INSERT creano e collegano pratica e utente

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda