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:
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:
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:
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_name1La spiegazione di questa sintassi è come:
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_name1Nella 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:
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;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;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.