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

    [SQL] Integrità referenziale

    Prendiamo un esempio: 2 tabelle così fatte.

    CREATE TABLE clienti (ID_cli int(2) primary key, Nome varchar(15) not null, Cognome varchar(20) not null,...)

    CREATE TABLE ordini (ID_ord int(3) primary key, cliente int(2) references clienti(ID) not null, importo int(6) not null, ...)


    Mi domando: se io inserisco come ID_cli 1 e 2 mentre nella tabella ordini faccio apparire un cliente 3, dovrei avere un errore! GIUSTO?? Se io impongo il vincolo di integrità referenziale sul campo ID, il campo cliente deve contenere solo e soltanto valori contenuti nel campo ID della tabella clienti! o no??

    Mi correggereste il codice se c'è un errore....

    Io ho provato su mySQL, voi fate come credete...
    Dice il saggio:
    Non ci sono domande difficili, esistono solo risposte che non conosciamo!
    "Se qualcosa può andare male, lo farà" - Murphy

  2. #2
    credo come definizione sia references clienti(ID_cli), dato che devi referenziare un campo di un'altra tabella

    cmq, a parte sto dettaglio, il resto è giusto
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

  3. #3
    è solo un errore di trascrizione... effettivamente.

    Ma allora se è giusto perché io riesco ad inserire qualsiasi 'cliente' nella tabella ordini?

    Siamo sicuri che la sintassi sia giusta? Non è che manca qualche pezzo tipo check() o non so cos'altro???

    Dice il saggio:
    Non ci sono domande difficili, esistono solo risposte che non conosciamo!
    "Se qualcosa può andare male, lo farà" - Murphy

  4. #4
    bho, in teoria è corretto
    solo che io utilizzo Oracle, e lì ci sta un tool grafico che ti permette di definire i vincoli referenziali
    e quando ne ho definito uno, e non inserisco i dati in modo coerente, l'applicazione mi tira botto
    evidentemente nel pezzo di codice manca qualcosa, ma purtroppo non so dirti cosa

    spiacente
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

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