Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34

    Problema con vincolo di integrità referenziale

    Ciao a tutti, ho un problema in realtà credo semplice ma non riesco a risolverlo.
    Devo fare un esercitazione che consiste nel fare un sito per il prestito di libro online, do la possibilità ai dipendenti di aggiungere un libro al DB ma non riuscivo a farlo.
    Dopo tempo e aiuti vari, il problema era questo : la INSERT o l'UPDATE sulla tabella "libro" viola il vincolo di chiave esterna "libro_casaeditrice_fkey" DETAIL: La chiave (casaeditrice)=(casa) non è presente nella tabella "casaeditrice".
    Quindi da quel che ho capito, il fatto che una casa editrice non sia presente nella sua tabella non mi permette di aggiungere un libro con quella casa editrice nella tabella libro.
    Ma il semplice problema è quindi: posso risolverlo mettendo on update cascade? Lo metto su libro o su casa editrice? Oppure l'unica è riempire prima la tabella delle case editrice e poi aggiungere record a libro? Scusate so che è una cosa semplice, ho cercato online ma è un mio limite e non riesco proprio a capirlo!
    Ciao, grazie

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Dovresti poter rendere quel campo non obbligatorio. Cioè fare in modo che accetti il valore null.

    Puoi anche togliere il vincolo.

    Comunque com'è fatto adesso devi prima aggiugere la casa editrice e poi il libro.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da laskot Visualizza il messaggio
    .....Oppure l'unica è riempire prima la tabella delle case editrice e poi aggiungere record a libro? ......
    Si, mi sa che questa è la soluzione,

    ma pero aggiungendo la casa editrice devi verificare che non sia gia esistente,
    diversamente vai a violare altri vincoli

    In parole povere:

    -- Se fai INSERT del libro
    devi verificare che ci sia la sua casa editrice e se non c'è la devi inserire preventivamente

    -- Se fai UPDATE del libro
    - Se non UPDATI la casa editrice non hai nessun problema
    - Se UPDATI anche la casa editrice allora devi fare preventivamente le stesse verifiche che ti ho descritto sopra per la INSERT

    .

  4. #4
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34
    Ok vi ringrazio, quindi linea di massima prima riempo la tabella delle case editrici.
    Ma quindi giusto per sapere e capire: se metto l'update cascade nella tabella libri sull'attributo casa editrice comporta che se modifico una casa editrice nella tabella casa editrice, la modifica avviene in automatico anche per quei libri che hanno quel valore nella casa editrice? E' corretto, ho capito bene? E così se cancello una casa editrice vengono cancellati tutti i libri con quel valore di casa editrice?

  5. #5
    corretto per l'update. in dipendenza del db c'è anche la delete cascade (che io non attiverei)

  6. #6
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34
    Ti ringrazio

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.