Nwlapcug.com


Stranieri chiave MySQL Tutorial

Creazione di una chiave esterna in MySQL è una parte di integrità referenziale nel database. Una chiave esterna si collega alle tabelle. Una chiave esterna viene utilizzata in combinazione con una chiave primaria, che è il record principale per il dataset. Per esempio, una chiave primaria potrebbe essere utilizzata sul tavolo di un cliente. L'ID cliente è un campo univoco che identifica chiaramente il cliente. Una chiave esterna è inserita sulla tabella ordini, che collega il cliente al suo ordine.

Chiave primaria

Prima di creare una chiave esterna, una tabella che contiene un campo chiave primaria deve essere creato per l'integrità referenziale. In questo esempio, creazione della tabella per customers e orders è possibile utilizzare la riga di comando di MySQL. La sintassi per la creazione di una tabella è il seguente:

Cliente di CREATE TABLE
(

CustId INT NOT NULL,
first_name VARCHAR(30),
PRIMARY KEY (CustId)

) DIGITARE = INNODB;

In questo esempio, viene creata una tabella utilizzando l'istruzione di parola chiave "create table". Se una chiave primaria è determinata, il programmatore può omettere la dichiarazione chiave primaria fino a quando non sa su quale campo per inserire la chiave. Tuttavia, è importante per le tabelle contenere una chiave primaria, poiché questi elementi accelerare le prestazioni. In questo esempio, viene creata una chiave primaria sul campo "CustId". Il CustId viene utilizzato per identificare distintamente il cliente. Inoltre, quando si assegna una chiave primaria per una tabella, deve essere univoco.

Chiave esterna

Ora che la chiave primaria viene creata, viene creata una chiave esterna sulla tabella ordini. Ancora una volta, se lo sviluppatore del database non è sicuro della chiave esterna da utilizzare al momento della creazione della tabella, può essere aggiunto più tardi. Il codice seguente crea una tabella ordini con una chiave esterna che punta alla tabella customers:

Ordine di CREATE TABLE
(

Orderid INT NOT NULL,
cost INT,
CustId INT NOT NULL,
PRIMARY KEY(OrderId),
INDEX (CustId),
FOREIGN KEY (CustId) REFERENCES customer (CustId)

) DIGITARE = INNODB;

Si noti che una chiave primaria è stata creata per questa tabella anche utilizzando il campo IDOrdine, che è anche un valore univoco. L'istruzione che definisce la chiave esterna è l'ultimo nella sintassi della tabella. Definisce la chiave esterna e racconta il database dove si trova la sua chiave primaria. In questo esempio, il campo IDCliente della tabella ordini fa riferimento CustId nella tabella clienti.