restricciones SQL son elementos esenciales en diseño de bases de datos relacionales que aseguran la integridad exactitud y fiabilidad de los datos almacenados en una base de datos. Al aplicar reglas específicas en las columnas de la tabla, las restricciones SQL ayudan a mantener la coherencia de los datos, evitando entradas de datos no válidas y optimizando el rendimiento de las consultas.
En este artículo explicaremos en detalle las restricciones SQL más comunes proporcionando ejemplos claros y explicando cómo implementarlas de forma efectiva.
¿Qué son las restricciones de SQL?
restricciones SQL ¿Se aplican reglas a columnas o mesas en un base de datos relacional para limitar el tipo de datos que pueden ser insertado actualizado o eliminado . Estas reglas garantizan que los datos sean válidos y consistentes y se adhieran a la lógica empresarial o requisitos de la base de datos . Las restricciones se pueden aplicar durante la creación de la tabla o más tarde utilizando el ALTER TABLE declaración. Desempeñan un papel vital en el mantenimiento de la calidad y la integridad de su base de datos.
Tipos de restricciones SQL
SQL proporciona varios tipos de restricciones para gestionar diferentes aspectos de la integridad de los datos. Estas restricciones son esenciales para garantizar que los datos cumplan con los requisitos de exactitud consistencia y validez . Repasemos cada uno de ellos con explicaciones detalladas y ejemplos.
1. Restricción NO NULA
El NO NULO La restricción garantiza que una columna no pueda contener valores NULL. Esto es particularmente importante para las columnas donde un valor es esencial para identificar registros o realizar cálculos. Si una columna se define como NO NULO cada fila debe incluir un valor para esa columna.
Ejemplo:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
ADDRESS varchar(20)
);
Explicación: En el ejemplo anterior tanto elIDyNAMELas columnas se definen con el NO NULO restricción que significa que cada estudiante debe tener unaIDyNAMEvalor.
2. Restricción ÚNICA
El ÚNICO La restricción garantiza que todos los valores de una columna sean distintos en todas las filas de una tabla. A diferencia del CLAVE PRIMARIA que requiere unicidad y no permite NULL, la restricción UNIQUE permite valores NULL pero aún impone la unicidad para las entradas que no son NULL.
lista doblemente enlazada
Ejemplo:
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
);
Explicación : Aquí elIDLa columna debe tener valores únicos para garantizar que no haya dos estudiantes que puedan compartir el mismo.ID. Podemos tener más de uno. ÚNICO restricción en una tabla.
3. Restricción de CLAVE PRIMARIA
A CLAVE PRIMARIA La restricción es una combinación de NO NULO y ÚNICO restricciones. Identifica de forma única cada fila de una tabla. Una mesa solo puede tener una CLAVE PRIMARIA y no puede aceptar valores NULL. Normalmente se utiliza para la columna que servirá como identificador de registros.
Ejemplo:
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
PRIMARY KEY(ID)
);
Explicación: En este caso elIDLa columna se establece como clave principal, lo que garantiza que la identificación de cada estudiante sea única y no pueda ser NULL.
4. Restricción de CLAVE EXTRANJERA
A LLAVE EXTRANJERA La restricción vincula una columna de una tabla a la clave primaria en otra mesa. Esta relación ayuda a mantener integridad referencial asegurando que el valor en el clave externa La columna coincide con un registro válido en la tabla a la que se hace referencia.
Tabla de pedidos:
| O_ID | NÚMERO DE PEDIDO | C_ID |
|---|---|---|
| 1 | 2253 | 3 |
| 2 | 3325 | 3 |
| 3 | 4521 | 2 |
| 4 | 8532 | 1 |
Tabla de clientes:
| C_ID | NOMBRE | DIRECCIÓN |
|---|---|---|
| 1 | RAMESH | DELHI |
| 2 | SEGURO | NOIDA |
| 3 | Dharmesh | GURGAÓN |
Como podemos ver claramente que el campo C_ID en tabla de pedidos es el clave primaria en la tabla Clientes, es decir, identifica de forma única cada fila en la Clientes mesa. Por lo tanto es una clave externa en la tabla de Órdenes.
Ejemplo:
clasificación de lista de matrices java
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ón: En este ejemplo elC_IDcolumna en elOrdersLa tabla es una clave externa que hace referencia a laC_IDcolumna en elCustomersmesa. Esto garantiza que sólo se puedan insertar ID de cliente válidos en elOrdersmesa.
5. VERIFICAR restricción
El CONTROLAR La restricción nos permite especificar una condición que los datos deben cumplir antes de insertarse en la tabla. Esto se puede utilizar para hacer cumplir reglas como garantizar que el valor de una columna cumpla con ciertos criterios (por ejemplo, la edad debe ser mayor que 18 años).
Ejemplo:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int NOT NULL CHECK (AGE >= 18)
);
Explicación: En la tabla anterior el CONTROLAR La restricción garantiza que solo los estudiantes de 18 años o más puedan insertarse en la tabla.
6. Restricción PREDETERMINADA
El POR DEFECTO La restricción proporciona un valor predeterminado para una columna cuando no se especifica ningún valor durante la inserción. Esto es útil para garantizar que ciertas columnas siempre tengan un valor significativo incluso si el usuario no proporciona uno.
Ejemplo:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int DEFAULT 18
);
Explicación: Aquí si no se proporciona ningún valorAGEdurante una inserción, el valor predeterminado de 18 se asignará automáticamente.
un ejemplo de un sistema operativo de código abierto es
Cómo especificar restricciones en SQL
Las restricciones se pueden especificar durante el proceso de creación de la tabla utilizando el CREATE TABLE declaración. Además, se pueden modificar o agregar restricciones a las tablas existentes usando elALTER TABLEdeclaración.
Sintaxis para crear restricciones:
CREAR TABLA nombre_tabla
(
columna1 tipo_datos [nombre_restricción]
columna2 tipo_datos [nombre_restricción]
columna3 tipo_datos [nombre_restricción]
...
);
También podemos agregar o eliminar restricciones después de crear una tabla:
Ejemplo para agregar una restricción:
ALTER TABLE Student
ADD CONSTRAINT unique_student_id UNIQUE (ID);
Conclusión
Las restricciones SQL son esenciales para mantener integridad de los datos y garantizar la coherencia en las bases de datos relacionales. Comprender e implementar estas restricciones de manera efectiva ayudará a diseñar bases de datos sólidas y libres de errores. Aprovechando NO NULO CLAVE PRIMARIA ÚNICA CLAVE EXTRANJERA VERIFICAR PREDETERMINADO e ÍNDICE puede asegurarse de que su base de datos esté optimizada para exactitud y actuación .
Crear cuestionario