Qual è la principale differenza tra la relazione HAS_MANY e BELONGS TO in mysql?

3

Dopo aver fatto pochi progressi nello sviluppo web e nel php, ho capito se potevo rafforzare la mia presa sulla progettazione di database, sarei in grado di ridurre molto tempo e codice nello sviluppo dell'applicazione. Ma mi capita di essere un idiota nella progettazione di database, quindi chiunque può aiutare a distinguere tra molti e appartiene alla relazione. Mi sembrano abbastanza simili a me

    
posta Umair Abid 13.06.2012 - 16:52
fonte

4 risposte

11

ha molti

Utile per descrivere le relazioni 1: n o n: n. Usando la relazione 1: n, stiamo osservando un singolo oggetto e osservando gli 1 o più altri oggetti relativi al primo oggetto.

Un parcheggio ha molte macchine parcheggiate al suo interno.
L'oggetto primario ha molti oggetti secondari.
La chiave primaria ha molte chiavi esterne (che collegano la voce principale a molte altre voci in altre tabelle).

appartiene a

Utile per descrivere relazioni 1: 1 o n: 1 (nota che n: 1 è il contrario di 1: n, quindi stai guardando la relazione nella direzione opposta.)

Una macchina appartiene a il parcheggio.
L'oggetto secondario appartiene a l'oggetto primario.
Nel caso n: n:
La chiave esterna è referenziata da / appartiene a la chiave primaria.

    
risposta data 13.06.2012 - 21:33
fonte
1

Una relazione tra database ha in genere 2 tabelle collegate tra loro. Una tabella (il lato "appartiene a") contiene una chiave esterna per l'altra tabella (il lato "ha molti"). Quindi molte relazioni hanno entrambi i lati.

    
risposta data 13.06.2012 - 18:07
fonte
1

can anyone please help to differentiate between has many and belongs to relationship. They seems quite same to me

È positivo che tu stia imparando sulla progettazione del database e sulla modellazione dei dati. Nella modellazione dei dati, si devono nominare le relazioni con attenzione in modo che il significato dell'associazione si rifletta sul modello e in modo che il modello possa essere controllato per competenza e precisione.

Il nome dell'associazione / relazione "ha molti" è molto generico. Ad esempio, si potrebbe dire che un ha molti libri (questo sta leggendo il nome dell'associazione da sinistra a destra). Se leggi il nome dell'associazione da destra a sinistra, dovresti nominare l'associazione in modo tale da preservare il nome da sinistra a destra. Quindi, tu diresti che un libro appartiene a un negozio di libri. La frase ha molti è composta da 2 parole. Ha (che descrive la relazione) e la parte molti che descrive la cardinalità.

Come puoi vedere, la denominazione sopra è inaccurata. Una denominazione più accurata sarebbe:

  • A Stock book zero, One or More BookCopy.

  • Un BookCopy è immagazzinato in un BookStore.

(supponendo che la libreria abbia 1 ramo).

In generale il lato più indica una colonna fisica chiamata chiave esterna da definire. Nell'esempio precedente, quella colonna apparterrebbe alla tabella BookCopy.

in UML la frase "ha" indica aggregazione mentre la frase "è a" indica la composizione. Potresti dare un'occhiata ad un buon libro in ERD o UML o controllare il web per quello.

    
risposta data 13.06.2012 - 22:26
fonte
0

Laravel Relationship at a glance: Prova a capire per capire e scrivere:

  1. Relazione uno a uno ( hasOne ): Un utente ha (può avere) un profilo. Quindi, un profilo appartiene a un utente.

  2. Uno a molti ( hasMany ): Un utente ha molti articoli (può avere molti). Quindi, molti articoli appartengono a un utente;

  3. Molti a molti ( BelongsToMany ): Un utente può appartenere a molti forum. Quindi, un forum appartiene a molti utenti.

Nella vista grafica

    
risposta data 08.01.2017 - 09:43
fonte

Leggi altre domande sui tag