Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Differenza tra join e relazione

    Salve.
    Più vado avanti con lo studio di sql e più arrivano le confusioni.
    Ad esempio ora non riesco a capire nettamente la differenza che passa tra un join ed una relazione.
    Praticamente posso fare una query join tra due tabelle, sia che hanno una relazione e sia che non ce l'hanno, e praticamente sembra che i risultati siano uguali.
    Qualcuno sa spiegare come mai allora bisogna relazionare a tutti i costi le tabelle?
    Grazie.

  2. #2

    Re: Differenza tra join e relazione

    Originariamente inviato da Ironmax
    Qualcuno sa spiegare come mai allora bisogna relazionare a tutti i costi le tabelle?
    e chi l'ha detto? si vive bene anche senza, è solo questione di opportunità o meno.

  3. #3
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Relazione è la traduzione in italiano di Join rappresentano la stessa cosa.
    ( Io parlero sempre di relazioni intendendo le 2 cose )

    __________________________________________________ __________________


    Le relazioni si possono fare:
    1) Fra le tabelle ( se usi SQLServer o access nella apposita finestra delle relazioni )
    2) Nelle query
    e il programmatore sceglie dove sia meglio.

    __________________________________________________ __________________

    Un'esempio banale del caso 1

    Una agenda telefonica con la tabella NTel ( numero telefono ) e la tabella NInt ( numero interno )

    Sotto la voce FIAT ci sono 400 interni sotto la voce Mondadori ci sono 250 interni
    in questo caso la relazione è meglio sia direttamente fra le tabelle perche MAI potra succedere che un interno della Fiat potra diventare Mondadori


    Poi quando costruisci una query nella finestra di progettazione fra queste 2 tabelle la relazione ti compare automaticamente ,
    Tu potrai eventualmente cancellarla e ricostruirla diversamente.

    __________________________________________________ ________________

    Unaltro esempio banaledel caso 2

    Un elenco di Negozi
    Un elenco di articoli da vendere

    Ogni negozio è specializzato a vendere qualcosa. Il macellaio la carne e il Tabaccaio le schede telefoniche
    ma non è sempre cosi In macelleria trovi anche le schede telefoniche e dal tabaccaio le caramelle che sono commestibili

    In questo caso NON è consigliabile fare la relazione fra le tabelle ma ti conviene farle di volta in volta nelle query.

    __________________________________________________ _________________
    __________________________________________________ _________________
    __________________________________________________ _________________

    Per ricapitolare ci sono 2 filosofie di impostazione delle tabelle

    A) RELAZIONATE SUBITO ( Esempio 1 )
    un DB di questo tipo occupa piu spazio richiede piu attenzione nella progettazione
    e se non lo fai bene a livello di logica relazionale ti metti poi in difficolta.
    IN PRATICA DEVI DISEGNARE NEL DIAGRAMMA DELLE RELAZIONI LA REALTA.
    ma se fai delle relazioni efficienti ti da una gran mano dopo.

    B) RELAZIONATE DOPO NELLE QUERY ( Esempio 2 )
    Un DB di questo tipo e un insieme incoerente di tabelle dove scrivi dei numeri o testi

    è facile da costruire all'inizio, non occupa molto spazio, e piu modificabile,
    ma poi nelle query dovrai ogni volta farti le relazioni, Se dopo un anno in una modifica ti capita una query simile dovrai andarti a guardare la prima, per non dare risultati contraddittori, ecc ecc

    __________________________________________________ _____________________

    Relazioni o no è solo una questione di scelta.

    Spero di essere stata chiara

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da nman
    Spero di essere stata chiara
    Il post più delirante che abbia mai letto...

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: Differenza tra join e relazione

    Originariamente inviato da Ironmax
    Salve.
    Più vado avanti con lo studio di sql e più arrivano le confusioni.
    Ad esempio ora non riesco a capire nettamente la differenza che passa tra un join ed una relazione.
    Praticamente posso fare una query join tra due tabelle, sia che hanno una relazione e sia che non ce l'hanno, e praticamente sembra che i risultati siano uguali.
    Qualcuno sa spiegare come mai allora bisogna relazionare a tutti i costi le tabelle?
    Grazie.
    Cosa intendi per "relazionare a tutti i costi"?
    La join la fai quando c'è una relazione (e parlo di relazione in senso logico), altrimenti non ha senso

  6. #6
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Cosa intendi per "relazionare a tutti i costi"?
    Quello che intendo e di collegare due tabelle con una foreign key.
    Scusa cosa intendi per '...(e parlo di relazione in senso logico)...'?, Perchè tutte le relazioni no hanno un nesso logico?

  7. #7
    ripeto, non è obbligatorio relazionare fisicamente le tabelle. è una scelta. le join le puoi fare comunque.

  8. #8
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Scusa optime la comunicazione era per luca200

  9. #9
    scusami tu aspetto il tuo permesso per intervenire

  10. #10
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Scusa optime, ma allora che serve la foreign key? E su che tipo di tabelle si può utilizzare?
    Perchè se fino adesso si possono fare relazioni (join) senza, allora qual'è il valore aggiuntivo?
    Ad esempio se ho capito bene parlando di MySQL come motore di database MyISAM è un motore che non supporta le foreing key mentre InnoDB si.

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.