Come modellare le relazioni rdbms come relazioni grafiche?

2

Sto modellando il nostro database esistente in transizione verso un database grafico.

Attualmente ecco come posso interpretare il database come una relazione grafica

group -have-> groups
group -have-> participants
participant -is-> user
user -has-> profile
user -has-> user-accounts
user-account -composed of-> social-logins
user-account -composed of-> username-password

Queste sembrano relazioni valide? Esempi di relazioni che ho letto includono quanto segue che sembra migliore ma non riesco a pensare a qualcos'altro che possa adattarsi meglio alle relazioni esistenti.

actor - acted-in -> movie
director - directed -> movie
supplier - supplies -> product

UPDATE: Ecco alcuni articoli che ho già letto. Da quello che posso dire, i link suggerimenti potrebbero essere

   belongs-to
   is-part-of
    
posta MichaelChan 08.11.2018 - 02:57
fonte

1 risposta

1

Se si dispone di un progetto di database relazionale esistente, si ha la prima iterazione della progettazione del grafico. Le righe della tabella diventeranno nodi e le chiavi esterne diventeranno le relazioni.

Nei grafici, come nella progettazione ERD, evita i nomi delle relazioni in cui si sentono indifferenti. "Has", "is" e il loro genere non dicono nulla di positivo sul dominio aziendale. Peggio ancora, possono causare confusione mentre ogni persona legge questi nomi deboli indipendentemente dalla loro comprensione. Prendi "group -have- > groups" come esempio. È detto che il gruppo di sinistra è un super-set dei gruppi di destra, o un sottoinsieme di, o è amministrato da, o deve escludere, o ... Vedi il mio punto?

Utilizza invece le parole utilizzate dal dominio aziendale. La relazione dovrebbe documentare il ruolo che l'associazione svolge all'interno dell'applicazione e del dominio. Dovrebbe essere specifico e dovrebbe essere single. Se esistono più motivi per collegare il nodo A al nodo B, creare una relazione separata con nome per ciascun motivo.

    
risposta data 09.11.2018 - 04:08
fonte

Leggi altre domande sui tag