Mr. Webmaster Blog Menu
  • Home
  • Cerca
  • Argomenti del Blog
    • A
    • Apple
    • B
    • Browser
    • C
    • CMS
    • D
    • Database
    • E
    • Eventi & WorkShop
    • F
    • Freelance
    • G
    • Grafica
    • H
    • Hosting
    • I
    • IoT
    • L
    • Linux
    • M
    • Makers
    • Mobile
    • Mr. Webmaster
    • O
    • Online Apps
    • Open Source
    • P
    • Programmazione
    • R
    • Reti
    • S
    • Scripting
    • Senza Rete
    • Sicurezza
    • Social Network
    • Software e App
    • W
    • Web Design
    • Web e Diritto
    • Web e Lavoro
    • Web Marketing
    • Web Server
    • Web Writing
    • Windows
  • Network
  • Corsi on-line
Mr.Webmaster Blog→Database→MySQL: eliminare violazioni di integrità
  • 27
    SET
    2010

MySQL: eliminare violazioni di integrità

Scritto da Claudio Garau | Database

L’integrità referenziale nelle relazioni tra tabelle di un database non è un concetto molto semplice da spiegare in linea teorica, ma è di grande utilità pratica; si immagini di avere due tabelle tra le quali esiste una relazione stabilita attraverso una foreign key o “chiave esterna”, in questo caso potremo identificare come violazioni di integrità tutti quei record che non soddisfano questa relazione. L’argomento appare più chiaro osservando la struttura delle seguenti tabelle:

TABLE Utenti
id INT(3),
nome VARCHAR(20),
cognome VARCHAR(20),
anni INT(3),
id_indirizzo INT(3) [ foreign key ],
livello SET('1', '2', '3')
TABLE Recapiti_Utenti
id_indirizzo INT(3),
indirizzo VARCHAR(50),
telefono VARCHAR(10),
email VARCHAR(127)

Nel caso in esempio, la nostra chiave esterna è “id_indirizzo”, essa mette in relazione le due tabelle e tramite essa potrà verificarsi una violazione d’integrità per ogni record della prima tabella associato ad un indirizzo non presente nella seconda. Per eliminare questo problema si utilizzerà un’istruzione come la seguente:

DELETE FROM Utenti WHERE id_indirizzo NOT IN (SELECT id_indirizzo FROM Recapiti_Utenti)

  • foreign key
  • integrità referenziale
  • violazioni di integrità

Naviga tra i post del Blog

← Controllo CAPTCHA in tempo reale con jQuery
→ Effettuare il backup del bootsector in Linux

Commenti

I commenti sono sottoposti alle linee guida di moderazione e prima di essere visibili devono essere approvati da un moderatore.
  • Facebook
  • Twitter
  • Google+
  • YouTube
  • Feed RSS
I post più letti del mese
  • Trovare velocemente record duplicati in MySQLTrovare velocemente record duplicati in MySQL16/03/2010
  • Aggiungere caratteri con una queryAggiungere caratteri con una query16/07/2010
  • Cercare e sostituire valori in MySQLCercare e sostituire valori in MySQL16/04/2010
  • Esecuzione di query contenute in un file .sqlEsecuzione di query contenute in un file .sql18/11/2010
  • Clonazione di tabelle in MySQLClonazione di tabelle in MySQL14/04/2010
Mr. Webmaster
  • RSS
  • Contattaci
  • Torna su
IKIweb
© 2003 - 2019 Mr. Webmaster
Mr. Webmaster ® è un marchio registrato.
E' vietata ogni forma di riproduzione.
IKIweb Internet Media S.r.l. - P.IVA 02848390122

Parliamo di noi: chi siamo / cronologia
Contatti: pubblicità / contattaci / segnala abusi
Note Legali: condizioni d'uso / privacy / cookie