Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [MySql] Foreign Key, dubbi... da principiante

    Ciao a tutti sto iniziando da poco ad "interloquire" con mysql.

    Una importante nozione che fatico ancora a comprendere e' l'uso del foreign key.

    Debbo "unire" due tabelle, la padre P e la figlia F.

    Vorrei che per ogni P esistano, zero, una o piu' F, inoltre cancellando P non venga necessariamente(ma su richiesta) cancellata F.

    In pratica e' come avere un Padrone di casa ed zero, una o piu' Chiavi(F).

    Se manca egli P le case rimangono eccetto che lui non voglia distruggerle...

    Come potrei fare?

    A logica io creerei una tabella P con all' interno un campo F che si collega alla tabella omonima F.

    Tuttavia l'approccio spiegato sul sito html.it e' inverso ovvero sembra che la F si colleghi a P...ma non ho ben ancora chiare le idee...

    Grazie per l'attenzione...ciao...
    jabjoint

  2. #2
    1. lascia perdere padrone di casa e case e chiavi: va bene padri e figli
    2. è giusto che il collegamento sia nei record figli, dove esisterà un campo del tipo parentID che dichiara di quale padri si è figli, non il contrario (sarebbe molto difficile da manutenere un record dove devi andare a specificare tutti i figli del padre)
    3. il db può stabilire la connessione (foreign key) ma non può decidere se cancellare i figli alla cancellazione del padre una volta sì e una volta no: o sempre, o mai; l'arbitrarietà la gestirai da codice

  3. #3
    Quote Originariamente inviata da optime Visualizza il messaggio
    1. lascia perdere padrone di casa e case e chiavi: va bene padri e figli
    2. è giusto che il collegamento sia nei record figli, dove esisterà un campo del tipo parentID che dichiara di quale padri si è figli, non il contrario (sarebbe molto difficile da manutenere un record dove devi andare a specificare tutti i figli del padre)
    3. il db può stabilire la connessione (foreign key) ma non può decidere se cancellare i figli alla cancellazione del padre una volta sì e una volta no: o sempre, o mai; l'arbitrarietà la gestirai da codice
    Ok grazie tante per avere chiarito.
    jabjoint

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 © 2021 vBulletin Solutions, Inc. All rights reserved.