Come utilizzare la chiave primaria in sqlite

Come utilizzare la chiave primaria in sqlite
SQLite è un sistema di gestione del database, che viene utilizzato per gestire i dati del database relazionale proprio come MySQL, contiene anche molti vincoli come una chiave univoca, primaria e straniera come altri database.

Allora quali sono i vincoli e come funzionano in SQLite? Questo articolo è una guida completa sui vincoli e su come utilizzare il vincolo chiave principale in SQLite.

Quali sono i vincoli in sqlite

I vincoli sono i principi, in base ai quali i dati dello stesso tipo di dati vengono inseriti nella tabella, organizza la struttura della colonna e garantisce anche l'affidabilità dei dati che sono archiviati nella tabella. Ci sono molti vincoli, alcuni di essi lo sono:

  • Chiave primaria
  • Chiave straniera
  • Vincolo unico
  • Vincolo predefinito
  • Controlla il vincolo

Qual è la chiave principale di SQLite

Una chiave primaria è la colonna univoca della tabella, che garantisce che le voci inserite nella colonna dovrebbero essere uniche e vengono anche utilizzate per fare riferimento alla chiave estera di altre tabelle. La tabella può essere creata senza utilizzare la chiave primaria, ma se la tabella utilizza la chiave primaria, è possibile assegnare solo una chiave primaria alla tabella. Le chiavi primarie sono molto essenziali quando si creano un database con una varietà di tabelle e per creare relazioni tra i diversi database, viene utilizzata la chiave primaria.

Una chiave primaria deve seguire queste regole:

  • La colonna della chiave primaria non può essere definita con il valore null
  • I dati inseriti nelle righe della colonna della chiave primaria dovrebbero essere univoci
  • La chiave primaria dovrebbe essere definita la particolare chiave estera di un'altra tabella
  • La tabella può contenere solo una chiave primaria

Una chiave primaria non può essere un valore nullo nei database, ma nel caso di SQLite, può essere assegnato un valore nullo, a causa della "supervisione della codifica di lunga data".

Una tabella dovrebbe avere una sola chiave primaria, ma più colonne possono essere definite in una singola chiave primaria, quando vengono utilizzate più colonne come una singola chiave primaria, quindi è chiamata chiave primaria composita.

Quanti modi per aggiungere una chiave primaria a qualsiasi tabella in sqlite

Esistono due modi per assegnare una chiave primaria durante la creazione di una tabella, che sono:

  • Alla singola colonna di una tabella
  • Alle più colonne di una tabella

Come creare una tabella che assegna una chiave primaria a una colonna in sqlite

Possiamo creare una tabella assegnando una chiave primaria a una singola colonna, la sua sintassi generale sarà:

Crea table table_name (column_name1 Chiave primaria non NULL, column_name2 );

La spiegazione di questa sintassi è come:

  • La clausola della tabella Crea viene utilizzata per creare una tabella
  • Digita il nome della tabella anziché table_name
  • Digita il nome della colonna anziché colonnario_name1 e anche scrivere il suo tipo di dati
  • Utilizzare una clausola della chiave primaria, se si sta assegnando la colonna come chiave primaria e anche la definizione come nulla o non null
  • Digita il nome Seconda colonna Sostituzione di column_name2

Per capirlo, considera un esempio: creiamo una tabella di studenti scolastici, con ID studenteschi univoci, denominati, (std_id) e nomi degli studenti, denominati, (std_name). In questa tabella, i nomi degli studenti possono essere gli stessi, ma gli ID degli studenti non possono essere gli stessi, quindi assegniamo la chiave primaria a STD_ID come:

Crea Table School_Students (STD_ID Integer Key non Null, std_names);

La tabella di School_Students è stata creata, con una sola colonna come chiave primaria.

Come creare una tabella che assegna una chiave primaria a più colonne in sqlite

Possiamo creare una tabella assegnando una chiave primaria a più colonne, la sua sintassi generale sarà:

Crea table table_name (column_name1 , column_name2 , column_name3 , Tasto primario (column_name1, column_name2));

Nella sintassi sopra, abbiamo definito la chiave primaria alla fine dell'istruzione, con i nomi della colonna tra parentesi che devono essere inclusi nella chiave primaria.

Ancora una volta per capirlo, consideriamo un esempio di una tabella Employers_Data, lo creeremo con tre colonne che sono EMP_ID, EMP_NAME e EMP_DEP, e dopo questo assegniamo EMP_ID ed EMP_Name come chiave primaria:

Crea table Employeles_data (EMP_ID Integer, EMP_NAME Testo, EMP_DEP Testo, Emp_Name Key Primary (emp_id, emp_email));

La tabella è stata creata con la chiave primaria con due colonne.

Come aggiungere una chiave primaria alla tabella esistente in sqlite

Non possiamo aggiungere una chiave primaria alla tabella esistente in SQLite usando l'alter clausola, ma per assegnare una chiave primaria a una tabella in sqlite, seguiremo i passaggi:

  • Il vincolo della chiave esterna deve essere controllato
  • Rinominare la tabella con qualche altro nome
  • Crea una nuova tabella che ha la stessa struttura, che è stata creata prima
  • Copia i dati da quella tabella in questa tabella
  • Elimina il tavolo rinominato
  • Alla fine, accendi i vincoli della chiave estera

Abbiamo una tabella in un database, denominato, studenti_data, che non ha una chiave primaria e il suo contenuto può essere visualizzato usando:

Seleziona * da studenti_data;

Per assegnare "ID" una chiave primaria, eseguiremo i seguenti comandi:

Pragma Foreign_Keys = Off;
Inizia la transazione;
Alter Table Students_Data Rinomina su new_students_data;
Crea table Students_Data (ID intero non null Key Primary, Nome testo non NULL, presenza intero non null);
Inserire in studenti_data selezionare * da new_students_data;
Drop tabella new_students_data;
COMMETTERE;
Pragma Foreign_keys = on;

Per verificare se la chiave primaria è assegnata alla colonna denominata, ID, eseguire il comando:

Pragma table_info ([studenti_data]);

La chiave primaria è stata assegnata correttamente alla tabella Students_Data.

Come eliminare il vincolo chiave principale in sqlite

Come altri database, non possiamo abbandonare il vincolo usando i comandi drop and altera, per eliminare i vincoli chiave primari che dovremmo seguire la stessa procedura che optiamo per aggiungere il vincolo a una tabella esistente e ridefinire la struttura della tabella senza definire un primario chiave per qualsiasi colonna. Consideriamo di nuovo l'esempio sopra di aggiungere una chiave primaria e eliminiamo la chiave primaria come:

Pragma Foreign_Keys = Off;
Inizia la transazione;
Alter Table Students_Data Rinomina su new_students_data;
Crea table Students_data (ID intero non NULL, Nome testo non nullo, intero di frequenza non null);
Inserire in studenti_data selezionare * da new_students_data;
Drop tabella new_students_data;
COMMETTERE;
Pragma Foreign_keys = on;

Conclusione

Una chiave primaria è molto utile soprattutto per stabilire le relazioni di una tabella con gli altri, poiché una chiave straniera si riferisce sempre alla chiave primaria della tabella, inoltre, una tabella ha solo una chiave primaria, ma i suoi campi possono essere uno o più. In questo articolo, abbiamo discusso di come la chiave primaria viene utilizzata in SQLite e discussa anche con esempi come una chiave primaria è assegnata a una o più colonne e alla tabella che esiste già senza una chiave primaria.