Restriccions SQL són elements essencials en Disseny de bases de dades relacionals que asseguren la integritat precisió i fiabilitat de les dades emmagatzemades en una base de dades. En aplicar regles específiques a les columnes de les taules, les restriccions SQL ajuden a mantenir la coherència de les dades evitant entrades de dades no vàlides i optimitzant el rendiment de les consultes.
En aquest article explicarem amb detall les restriccions SQL més habituals, proporcionant exemples clars i explicant com implementar-les de manera eficaç.
Què són les restriccions SQL?
Restriccions SQL són normes a les quals s'apliquen columnes o taules en a base de dades relacional per limitar el tipus de dades que poden ser inserit actualitzat o esborrat . Aquestes regles garanteixen que les dades siguin vàlides coherents i s'adhereixin a la lògica de negoci o requisits de la base de dades . Les restriccions es poden aplicar durant la creació de la taula o més tard utilitzant el ALTER TABLE declaració. Juguen un paper vital per mantenir la qualitat i la integritat de la vostra base de dades.
Tipus de restriccions SQL
SQL proporciona diversos tipus de restriccions per gestionar diferents aspectes de la integritat de les dades. Aquestes limitacions són essencials per garantir que les dades compleixen els requisits de precisió consistència i validesa . Repassem cadascun d'ells amb explicacions i exemples detallats.
1. Restricció NOT NULL
El NO NULL La restricció garanteix que una columna no pot contenir valors NULL. Això és especialment important per a columnes on un valor és essencial per identificar registres o realitzar càlculs. Si una columna es defineix com NO NULL cada fila ha d'incloure un valor per a aquesta columna.
Exemple:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
ADDRESS varchar(20)
);
Explicació: En l'exemple anterior tant elIDiNAMEles columnes es defineixen amb el NO NULL restricció que significa que cada estudiant ha de tenir unaIDiNAMEvalor.
2. Restricció ÚNICA
El ÚNIC La restricció garanteix que tots els valors d'una columna siguin diferents en totes les files d'una taula. A diferència del CLAU PRIMÀRIA que requereix unicitat i no permet NULL, la restricció UNIQUE permet valors NULL, però encara imposa la unicitat per a les entrades que no són NULL.
Exemple:
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
);
Explicació : Aquí elIDLa columna ha de tenir valors únics que garanteixin que dos estudiants no puguin compartir el mateixID. En podem tenir més d'un ÚNIC restricció en una taula.
java i swing
3. Restricció de CLAU PRIMÀRIA
A CLAU PRIMÀRIA La restricció és una combinació de NO NULL i ÚNIC limitacions. Identifica de manera única cada fila d'una taula. Una taula només en pot tenir una CLAU PRIMÀRIA i no pot acceptar valors NULL. Normalment s'utilitza per a la columna que servirà com a identificador dels registres.
Exemple:
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
PRIMARY KEY(ID)
);
Explicació: En aquest cas elIDLa columna s'estableix com a clau primària per assegurar-se que l'identificador de cada estudiant és únic i no pot ser NULL.
4. Restricció de CLAU EXTRANJERA
A CLAU EXTRANJERA restricció enllaça una columna d'una taula amb el clau primària en una altra taula. Aquesta relació ajuda a mantenir-se integritat referencial assegurant que el valor en el clau estrangera La columna coincideix amb un registre vàlid de la taula de referència.
Taula de comandes:
| O_ID | COMANDA_NÚM | C_ID |
|---|---|---|
| 1 | 2253 | 3 |
| 2 | 3325 | 3 |
| 3 | 4521 | 2 |
| 4 | 8532 | 1 |
Taula de clients:
| C_ID | NOM | ADREÇA |
|---|---|---|
| 1 | RAMESH | DELHI |
| 2 | SURESH | NOIDA |
| 3 | DHARMESH | GURGAON |
Com podem veure clarament que el camp C_ID en Taula de comandes és el clau primària a la taula de clients, és a dir, identifica de manera única cada fila del fitxer Clients taula. Per tant, és una taula Foreign Key in Orders.
Exemple:
Com obtenir emojis d'iPhone a Android
CREATE TABLE Orders
(
O_ID int NOT NULL
ORDER_NO int NOT NULL
C_ID int
PRIMARY KEY (O_ID)
FOREIGN KEY (C_ID) REFERENCES Customers(C_ID)
)
Explicació: En aquest exemple elC_IDcolumna a laOrderstable és una clau estrangera que fa referència aC_IDcolumna a laCustomerstaula. Això garanteix que només es poden inserir identificadors de client vàlids al fitxerOrderstaula.
5. VERIFICAR la restricció
El CONSULTAR La restricció ens permet especificar una condició que les dades han de complir abans d'inserir-les a la taula. Això es pot utilitzar per fer complir regles, com ara assegurar-se que el valor d'una columna compleix uns criteris (per exemple, l'edat ha de ser superior a 18 anys).
Exemple:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int NOT NULL CHECK (AGE >= 18)
);
Explicació: A la taula anterior el CONSULTAR La restricció garanteix que només els estudiants de 18 anys o més es puguin inserir a la taula.
6. Restricció predeterminada
El PER Defecte La restricció proporciona un valor per defecte per a una columna quan no s'especifica cap valor durant la inserció. Això és útil per garantir que determinades columnes sempre tinguin un valor significatiu encara que l'usuari no en proporcioni cap
Exemple:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int DEFAULT 18
);
Explicació: Aquí si no es proporciona cap valorAGEdurant una inserció, el valor per defecte de 18 s'assignarà automàticament.
prova de capturar el bloc java
Com especificar restriccions en SQL
Les restriccions es poden especificar durant el procés de creació de la taula utilitzant el CREATE TABLE declaració. A més, les restriccions es poden modificar o afegir a les taules existents mitjançant l'ALTER TABLEdeclaració.
Sintaxi per crear restriccions:
CREATE TABLE nom_taula
(
column1 data_type [nom_restricció]
column2 data_type [nom_restricció]
column3 data_type [nom_restricció]
...
);
També podem afegir o eliminar restriccions després de crear una taula:
Exemple per afegir una restricció:
ALTER TABLE Student
ADD CONSTRAINT unique_student_id UNIQUE (ID);
Conclusió
Les restriccions SQL són essencials per al manteniment integritat de les dades i garantir la coherència en les bases de dades relacionals. Comprendre i implementar aquestes limitacions de manera eficaç ajudarà a dissenyar bases de dades sòlides sense errors. Mitjançant l'apalancament NO NULL CLAU PRIMÀRIA ÚNICA VERIFICACIÓ DE CLAU ESTRANGERA PER Defecte i ÍNDEX podeu assegurar-vos que la vostra base de dades està optimitzada precisió i rendiment .
Crea un qüestionari