Esiste un nome ufficiale per la tabella delle relazioni molti-a-molti in uno schema di database?

StackOverflow https://stackoverflow.com/questions/1429908

Domanda

La maggior parte dei progetti a cui ho lavorato ha richiesto relazioni molti-a-molti nello schema del database. Ad esempio, potresti avere il concetto di Utenti e Gruppi e il database potrebbe contenere una tabella Utente, una tabella Gruppo e una tabella Gruppo utenti per mettere in relazione i due.

Sono interessato al nome concettuale della tabella UserGroup in quell'esempio.

Mi sono abituato a chiamarli " swing table " perché è così che l'ho imparato, ma non ho sentito altre persone usare quel termine da un po '.

Invece, ho sentito tutto quanto segue (compresi alcuni nuovi, grazie a tutti voi!):

  • Tabella di associazione
  • Tavolo Bridge
  • Tabella di riferimenti incrociati
  • Gerund (E.F. Codd, creatore del modello relazionale, può preferire questo)
  • Tabelle di intersezione
  • Partecipa alla tabella (la maggior parte dei risultati di ricerca su Google ... vedi risposta sotto)
  • Tabella delle giunzioni (Wikipedia preferisce questa)
  • Tabella dei collegamenti ( A Fowler piace questo )
  • Tabelle delle relazioni molti-a-molti
  • Tabella mappe
  • Tabella di riferimento
  • Tabella delle relazioni
  • Tavolo girevole

Esiste un nome ufficiale per questo tipo di tabella, con una fonte a sostegno della sua ufficialità?

È stato utile?

Soluzione

Il nome più comune è " Join Table " secondo me, ma ne ho ascoltati molti altri che hai elencato. Quindi, direi "no", non esiste un "ufficiale" nome :-)

Altri suggerimenti

Lo chiamo tabella di riferimenti incrociati.

Alcuni potrebbero non considerare questo un termine ufficiale, ma è sicuramente un termine popolare. Voglio dire, troverai molti risultati pertinenti in Google se cercalo . L'altra cosa che mi piace è che può essere facilmente abbreviato " xref " e quindi utilizzato nello schema di denominazione delle tabelle, ad es. & Quot; table1_xref_table2 " ;. Questo farà sì che tutti nella tua squadra lo chiamino la stessa cosa.

UPDATE:

Wikipedia lo chiama tabella di giunzione . È strano che non abbia mai sentito quel termine, ma suppongo che diversi circoli lo chiamino cose diverse. Come stiamo scoprendo, non esiste un'unica risposta ufficiale.

Questo è ALTAMENTE non scientifico, ma ho pensato che sarebbe interessante vedere quanti risultati di Google fossero associati alla combinazione di risposte comuni a questa domanda e al termine "da molti a molti".

Sulla base di questo, sembra che " join table " sia il termine più comunemente usato per il ... um ... join table in una relazione molti-a-molti.


I termini di ricerca combinata

  

" join table " " da molti a molti "

restituisce circa 13.700 risultati in Google.

  

" tabella dei collegamenti " " da molti a molti "

restituisce circa 4.700.

  

" tabella di giunzione " " da molti a molti "

restituisce circa 3.500.

  

"tabella di associazione" " da molti a molti "

restituisce circa 3.300.

  

" tabella delle relazioni " " da molti a molti "

restituisce circa 3.200.

  

" tabella di intersezione " " da molti a molti "

restituisce circa 1.500.

  

"tabella di riferimento incrociato" " da molti a molti "

riporta 1.000.

  

gerundio "da molti a molti"

restituisce solo 450.

Ho sempre chiamato quindi tabelle di intersezione .

Le chiamo tabelle di link , ma le ho chiamate così a lungo che non ho idea di da dove ho preso il termine.

Penso che la tabella delle relazioni sia più nel segno. Almeno questo è quello che usiamo. A proposito, se chiedi la denominazione, la usiamo sempre in questo modo table1_table2 senza eccezioni. Questo ti servirà bene a lungo termine.

C'è una sezione in SQL per Smarties in cui Celko ha avuto l'opportunità di nominare questo tipo di tabella:

  

Tabelle che rappresentano molti-a-molti   le relazioni dovrebbero essere nominate dal loro   contenuti e dovrebbe essere minimo come   possibile. Ad esempio, gli studenti lo sono   in relazione alle Classi da un terzo   (relazione) tabella per loro   attendence. Queste tabelle potrebbero   rappresentare una relazione pura, o   (Ecc) ...

Nella parte superiore della sezione parla dei diagrammi E-R (entità-relazione).

Le chiamo sempre solo "tabelle molti-a-molti" o "tabelle molti-a-molti". Sembra il meno probabile che venga frainteso come qualcos'altro. (Ho notato che hai usato una formulazione simile nel titolo della tua domanda ...)

Intersezione sicuramente! Credo che l'oracolo favorisca anche le tabelle " Intersezione ".

http://download.oracle.com/docs /cd/B40099_02/books/ConfigApps/ConfigApps_TablesColumns7.html

Mi è stato detto di chiamarli "entità di collegamento" quando ho iniziato a lavorare su database relazionali (Dec Rdb quasi 20 anni fa). Il bit "entità" probabilmente deriva dai diagrammi delle relazioni di entità in cui si trovavano le tabelle, anche se ora le "tabelle di collegamento" sembrano adattarsi meglio allo stesso albero evolutivo.

Usando l'innovativa ricerca di @ Noah su Google, si ottengono attualmente circa 2000 riferimenti:

"link entity" "many to many"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top