Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Da neofita : una domanda sulla progettazione ER in un Database rubrica

    Buongiorno a tutti,

    dovrei creare un DB Rubrica in cui alcuni per ogni persona inserita, il tipo di informazioni (come numero e tipologia) variano a seconda della tipologia della persona stessa. Vi saranno quindi dei campi "comuni" come nome, cognome, data di nascita etc ma altre informazioni saranno specifiche e afferenti alla TIPOLOGIA, come amico, collega, collega E amico, cliente, per cui se la persona e' Cliente ci dovranno essere informazioni tipo "Azienda", "Partita IVA" etc se e' collega altre informazioni tipo "Piano", "Livello", "reparto", se e' amico e collega altre ancora.

    Orbene. Come posso creare un DataBase progettato secondo i "sacri crismi" e quindi (suppongo) senza creare 3 diverse tabelle amico, collega e cliente?
    Devo creare una tabella di "minima" (ad esempio "persona") e poi mettere un campo con "tipologia" e poi relazionrla con tabelle specifiche con i dati di "amico", "collega" e "cliente"? se si mi potete fare un esempi di come fare?

    Grazie mille!

  2. #2
    Scriverti una soluzione qui è un po' dura.
    Tu cosa proponi?
    Qual'è il tuo livello di conoscenze sulla progettazione di database?

  3. #3
    Ciao, come esperienza sulla progettazione DB direi che sono abbastanza inesperto, mentre ho discreta esperienza di programmazione.

    Detto questo non mi serve una "soluzione" vera e propria ma un suggerimento e un'indicazione sulle differenti metodologie applicabili e quello che consigliate voi.

    Poi per l'implementazione ci penso io ed eventualmente vi rompo ancora le scatole, nello specifico per i problemi tecnici che (senz'altro) sorgeranno in quella fase.

    Grazie ancora!!

  4. #4
    io, semplicemente leggendo le specifiche he hai dato, farei così:
    3 tabelle:

    1) anagrafica (id,nome, cognome, rag soc, indirizzo, piva, cfisc, piano, ecc...)
    2) tipologia (id,descrizione)
    3) tipo_anagrafica (id_anagrafica, id_tipologia)

    La terza tabella è necessaria perché da quello che ho letto un'anagrafica può avere più tipologie (amico e collega ad esempio).

  5. #5
    Ciao Nicola,
    quindi se ho ben capito useresti la tabella tipo_anagrafica per mettere in relazione le 2 tabelle anagrafica e tipologia, giusto?

    Quello che pero' non ho capito e', se nella tabella "anagrafica" devono essere presenti TUTTI gli attributi e quindi sia quelli per la tipologia amico (es. Genere_musicale_preferito etc) sia quelli per la tipologia Collega (es. reparto, Livello_contrattuale etc).

    Thanks!

  6. #6
    si, metterei tutto in un'unica tabella

  7. #7
    Originariamente inviato da nicolabiondo si, metterei tutto in un'unica tabella
    Scusa la mia ignoranza, ma se metti tutto dentro ad una tabella per quale motivo sprechi 3 tabelle x quello che si potrebbe fare con 1? a questo punto il campo tipo lo metti dentro la tabella anagrafica e sei " a posto ", a livello di programma in base alla tua scelta farai compilare le varie sezioni, in fondo non è detto che ad un collega non puoi chiedere la sua squadra preferita o i suoi gusti musicali. Poi se cerchiamo varie contorsioni mentali od orpelli vari .. allora ci si può sbizzarire.
    Questa la mia soluzione abbastanza flessibile
    ANAGRAFICA: (ID, NOME, COGNOME)
    TIPOLOGIA: (ID, TIPO)
    INFORMAZIONI: (ID, INFORMAZIONE)
    MULTIVAL: (ID, ID_ANAG, ID_TIPO, ID_INFO, VALORE)

    ANAGRAFICA: (1, Luca, Rossi),(2, Mario, Bianchi)
    TIPOLOGIA: (1, Amico) (2, Collega)
    INFORMAZIONI: (1, P.Iva), (2, CF), (3, Squadra), (4, Tel)
    MULTIVAL: (1, 1, 1, 3, 'Milan'),(2, 1, 1, 4, '0000000')
    (3, 2, 2, 1, '12345'),(4, 2, 2, 2, 'MROB...'),(4, 2, 2, 4, '5555')




    N.

    Edit: mi scuso, ma a volte la fretta ... ... Forse una tabella intermedia potrebbe aiutare
    TIPO_INFO: (ID, ID_TIPO, ID_INFO)
    In modo da definire nei vari tipi quale informazioni caricare, e ovviamente MULTIVAL andrà modificato in:
    MULTIVAL: (ID, ID_ANAG, ID_TIPO_INFO, VALORE)
    dunque:
    TIPO_INFO: (1,1,3),(2,1,4),(3,2,1),(4,2,2),(5,2,4)
    e
    MULTIVAL: (1, 1, 1, 'Milan'),(2, 1, 2, '0000000')
    (3, 2, 3, '12345'),(4, 2, 4, 'MROB...'),(4, 2, 5, '5555')
    Dunque per ogni tipologia si possono associare varie informazioni

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.