NON NULL
Il valore predefinito per ogni colonna è NULL. I vincoli Not Null assicurano che il valore della colonna non sia nullo. Questo vincolo assicura sempre che la colonna abbia un valore. Non consente l'inserimento o l'aggiornamento di record senza menzionare il valore in questo campo. L'utente può aggiungere questo vincolo a una o più o a tutte le colonne della tabella.Sintassi: CREATE TABLE nome_tabella (tipo di dati della colonna 1 NON NULL,………);Esempio: Crea tabella STUDENT(student_id int NOT NULL,student_name varchar(10),student_dept varchar(10) NOT NULL,classyear int); Nell'esempio sopra, NON NULL il vincolo viene applicato su due colonne student_id e student_dept nella tabella STUDENT durante la creazione della tabella. La descrizione della tabella STUDENT mostra quali colonne possono essere NULL o non NULL. Vedere la schermata di output al momento dell'inserimento dei valori nella tabella, il vincolo non nullo non consente di inserire un valore NULL in quei campi su cui viene applicato il vincolo.UNICO Il vincolo univoco evita le voci duplicate nella colonna. Una tabella può avere più chiavi univoche.Sintassi: CREATE TABLE nome_tabella (tipo di dati colonna 1 UNIQUE,………);Esempio: crea la tabella student(student_id int Unique,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int ); Puoi scrivere la query sopra in un'altra forma. Crea tabella student(student_id int,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int ,unique (student_id));# definisce più colonne univoche in una volta Sintassi: CREATE TABLE nome_tabella(tipo di dati colonna 1, ……… colonna n, vincolo nome_vincolo Univoco (colonna1,..));Esempio: crea la tabella student(student_id int,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int ,Constraint cs_studentunique (student_id, student_name)); # Aggiungi un vincolo UNIQUE utilizzando l'istruzione ALTERSintassi: Alter table table_nameAdd Unique (column_name);Esempio: Alter table StudentAdd Unique (student_id);Sintassi: Alter table nome_tabellaAdd Constraint nome_vincolo Univoco (colonna1,colonna2);Esempio: Alter table StudentAdd Constraint cs_student Unique (student_id,student_name);Chiave primaria La chiave primaria identifica in modo univoco ogni record nella colonna, una tabella ha un'unica chiave primaria. La chiave primaria può essere una singola colonna o un gruppo di colonne.Sintassi: Crea tabella nome_tabella( tipo di dati colonna Chiave primaria, tipo di dati colonna2,………);Esempio: Crea tabella STUDENT(student_id int Primary Key,student_name varchar(20),student_dept varchar(20),classyear int); Sintassi: Crea tabella nome_tabella( tipo di dati colonna1, tipo di dati colonna2,………tipo di dati colonna n, chiave primaria (nome_colonna));Esempio: Crea tabella Student(student_id int,student_name varchar(10),student_dept varchar(10),classyear int,Primary key (student_id)); # Utilizzo dell'istruzione ALTER Sintassi: altera la tabella nome_tabellaaggiungi chiave primaria (nome_colonna); Esempio: alter table studentadd primary key (student_id); Sintassi: alter table table_namedrop chiave primaria;Esempio: altera la chiave primaria della tabella studentdrop;DEFAULT
Il vincolo DEFAULT viene utilizzato per impostare il valore predefinito sulla colonna. Questo vincolo può essere applicato su una singola colonna o su più colonne. NULL è un valore predefinito per tutte le colonne della tabella. Quando l'utente applica un vincolo non nullo o primario su una colonna, il suo valore predefinito viene modificato.Sintassi: Crea tabella nome_tabella (Tipo di dati della colonna,…….Valore predefinito del tipo di dati della colonna);Esempio: Crea tabella studente (student_id int,student_name varchar(20),student_dept varchar(20) default 'IT',classyear int); La schermata di output mostra il valore predefinito 'IT' assegnato alla colonna student_dept. 'IT' valore impostato sulla colonna dipartimento_studente quando non viene fornito alcun valore per la colonna dipartimento_studente . # Aggiunta del vincolo DEFAULT alla colonna utilizzando l'istruzione ALTER Sintassi : alter table table_namealter column_nameset valore predefinito;Esempio : alter table studentalter student_deptset default 'CS'; Sintassi: alter table table_namealter column_namedrop default;Esempio: alter table studentalter student_deptdrop default; Chiave straniera La chiave esterna è un collegamento tra due tabelle. La chiave primaria di una tabella può essere una chiave di riferimento/estranea di un'altra tabella. La tabella, che contiene la chiave esterna, chiamata come tabella figlio e l'altra tabella la cui chiave primaria si riferisce a quella tabella come tabella padre. L'utente deve inserire i record nella tabella padre prima della tabella figlio se non sono presenti dati nella tabella padre. Una tabella può avere un'unica chiave primaria.Tabella DEPARTMENTDEPT_ID | DEPT_NAME | DEPT_HEAD | DEPT_LOC |
0001 | IT | Il sig. SK Mishra | 06 |
0002 | CS | Il sig. DP Patil | 04 |
0003 | EXTC | La sig. SK Bvendita | 05 |
0004 | MECC | Il sig. AB Gia | 07 |
STUDENT_ID | STUDENT_NAME | DEPT_NAME | CLASSYEAR |
10001 | RAM | IT | 02 |
10002 | KIRAN | IT | 04 |
10003 | NEHA | CS | 01 |
10004 | ROOPA | MECC | 01 |