Convenzione di denominazione per entità associative

3

Quando progettiamo relazioni Many-to-Many su un database, dobbiamo mettere un'altra tabella nel mezzo in modo che diventi 3 tabelle con una relazione 1-a-molti. Wikipedia mi ha detto che si chiama entità associativa

Ho sempre problemi nel nominare questo tipo di tabelle. C'è qualche convenzione per loro? o come si chiamano queste tabelle?

    
posta Sufendy 15.04.2011 - 09:56
fonte

3 risposte

3

Supponiamo che abbia una tabella customer e una tabella address . Ovviamente un cliente può avere più di un indirizzo e più di un cliente può trovarsi allo stesso indirizzo, quindi ho una relazione molti a molti.

Il nome della tabella che consente loro di essere uniti può semplicemente essere customerAddresses .

Quindi penso che lo schema che uso sia quello di dividere le due entità in "cosa che possiede" e "cosa che è posseduta", e che dà il semplice nome sopra.

Modifica: potrebbe essere preferibile utilizzare l'analogia di "cosa che agisce" e "cosa viene trattata" per alcuni casi.

    
risposta data 15.04.2011 - 10:10
fonte
0

Non c'è davvero nessun altro modo per ottenere i risultati da un altro tavolo? Se esiste una relazione complessa tra due tabelle, potrebbe essere semplificata da una serie di tabelle intermedie che già esistono.

Ad esempio, supponendo di avere una tabella studenti e una tabella insegnanti. Uno studente può avere molti insegnanti e un insegnante può avere molti studenti.

Tuttavia, prima di creare una tabella associativa per collegarli, supponiamo che esista già un'aula di una tabella in base alla quale un insegnante ne ha molti e uno studente ne ha molti.

Senza creare una tabella per questo scopo puoi usare l'aula della tabella. Ovviamente questo è un esempio che si estende su una tabella, anche se potrebbero esserci più tabelle da usare per fare questa connessione.

    
risposta data 15.04.2011 - 11:54
fonte
0

Ho visto "link". Ad esempio, se si dispone di Documento e lista di controllo e un documento può trovarsi in molte liste di controllo, denominare la tabella DocumentChecklistLink. Ovviamente non ti dirà se dovrebbe essere ChecklistDocumentLink o DocumentChecklistLink, suppongo che tu possa adottare una convenzione di ordine alfabetico prima di tutto.

    
risposta data 29.01.2012 - 20:34
fonte

Leggi altre domande sui tag