Saltar a un capítulo clave
Comprender las Restricciones en SQL
En el mundo de las bases de datos, especialmente cuando se trabaja con SQL (Lenguaje de Consulta Estructurado), las restricciones desempeñan un papel crucial en el mantenimiento de la integridad y corrección de los datos almacenados. Esencialmente, las restricciones son reglas especificadas que ayudan a garantizar que sólo se introducen datos válidos y precisos en una tabla de la base de datos. En este artículo, profundizarás en la finalidad de las restricciones y conocerás los distintos tipos de restricciones que ofrece SQL.Finalidad y tipos de restricciones en SQL
Las restricciones en SQL son reglas o condiciones predefinidas que se aplican a las columnas de una tabla para mantener la integridad y coherencia de los datos. Ayudan a evitar la inserción de datos no válidos, garantizando la exactitud y fiabilidad de los datos en toda la base de datos.
- Restricción de clave primaria
- Restricción de clave foránea
- Restricción Única
- Restricción de comprobación
- Restricción No Nula
- Restricción por defecto
Restricciones de clave primaria, clave externa y única
Profundicemos en los tres primeros tipos de restricciones: 1. Restricción de Clave Primaria :Cada fila de una tabla debe tener un identificador único, conocido como Clave Primaria. Es una restricción que garantiza la unicidad de cada fila al no permitir valores duplicados ni valores NULL para la columna o columnas especificadas.Por ejemplo, en una tabla para almacenar datos de empleados, se puede establecer el EmployeeID como Clave Primaria para identificar de forma única a cada empleado.
Como ejemplo, considera una tabla de detalles de departamento y una tabla de detalles de empleado. El ID de departamento de la tabla de detalles del empleado puede definirse como una clave ajena que hace referencia al ID de departamento de la tabla de detalles del departamento. Esto garantiza que cada empleado esté asociado a un departamento válido.
Un ejemplo de Restricción Única puede ser un campo EmailAddress en una tabla de detalles de un empleado, ya que cada empleado debe tener una dirección de correo electrónico única, y la restricción garantiza que no haya dos empleados con la misma dirección de correo electrónico.
Restricción de verificación en SQL
Una restricción de comprobación es una regla que ayuda a controlar los datos que se insertan en una columna o columnas especificadas, basándose en una condición booleana. Si la condición es verdadera, los datos se aceptan; en caso contrario, se rechazan.Las Restricciones de Comprobación pueden utilizarse para una amplia gama de condiciones, como definir un rango válido de valores, validar formatos de entrada de datos o garantizar que determinados valores de columna cumplen criterios específicos.
Un ejemplo de uso de una restricción de verificación se puede encontrar al almacenar las calificaciones de los alumnos en una tabla. Puedes añadir una restricción que garantice que el valor introducido en la columna "Calificación" se encuentra dentro de un rango válido, por ejemplo, entre 0 y 100.
Restricciones No Nula y Predeterminada
1. Restricción No Nula: Esta restricción garantiza que una columna especificada no puede aceptar valores NULL. Por defecto, cada columna de una tabla SQL puede almacenar un valor NULL, pero con una restricción Not Null, se impone que se proporcione un valor para la columna.Por ejemplo, en una tabla de detalles de un empleado, puede que quieras asegurarte de que todos los empleados tienen un Nombre y un Apellido válidos introducidos en sus respectivos campos. Aplicando una restricción No Nula a estas dos columnas, te aseguras de que no se pueda crear ningún registro de empleado con un Nombre o Apellidos NULOS.
Un ejemplo de Restricción Predeterminada puede ser establecer el valor predeterminado en "0" para una columna llamada "NúmeroDeInicios" en una tabla de información de usuarios. Esto garantizará que cuando se añada un nuevo usuario, su valor NúmeroDeInicios se inicialice automáticamente a 0, ya que aún no se ha identificado.
Implementación y modificación de restricciones en SQL
En SQL, las restricciones desempeñan un papel vital para garantizar la integridad y coherencia de los datos en toda la base de datos. Añadir, modificar y eliminar restricciones es un aspecto crucial de la gestión de bases de datos a medida que crecen los datos y cambian los requisitos del esquema. En esta sección, aprenderás el proceso paso a paso para añadir, modificar y eliminar restricciones.Añadir una restricción en SQL
Para añadir una restricción, puedes especificarla durante la creación de la tabla o utilizar la sentencia `ALTER TABLE` para añadirla a una tabla existente. Aquí tienes ejemplos de cómo añadir varios tipos de restricciones:- Restricción de clave primaria: Crear la restricción durante la creación de la tabla:
- Restricción de clave foránea: Añadir una restricción a una tabla existente:
- Restricción única: Especificar la restricción durante la creación de la tabla:
- Comprobar restricción: Añadir una restricción a una tabla existente:
- Restricción no nula: Especificar la restricción durante la creación de la tabla:
- Restricción por defecto: Añadir una restricción a una tabla existente:
Modificar restricciones en SQL
SQL ofrece varias formas de modificar las restricciones, como alterar una restricción o eliminar una restricción y volver a crearla con nuevos requisitos. Para modificar las restricciones existentes, a menudo utilizarás la sentencia `ALTER TABLE` y elegirás entre varias opciones, como cambiar las propiedades de la restricción o definir una nueva restricción con un ámbito diferente.Modificar restricciones en SQL
Después de aplicar una restricción a una tabla, puede que necesites modificarla. SQL te permite alterar determinados tipos de restricciones, en concreto, la restricción por defecto y la restricción de comprobación. El proceso consiste en utilizar la sentencia `ALTER TABLE`, especificando el tipo de restricción deseado y la modificación requerida. He aquí algunos ejemplos: 1. Modificar una restricción por defecto: Para modificar una restricción por defecto, primero tienes que eliminar la restricción por defecto existente y luego añadir una nueva con el valor por defecto actualizado. Por ejemplo, si inicialmente estableces el valor por defecto de "NumberOfLogins" en "0", puedes cambiarlo a "1": ALTER TABLE Employee DROP CONSTRAINT DF_Employee_NumberOfLogins; ALTER TABLE Employee ADD DEFAULT 1 FOR NumberOfLogins;2. Modificar una restricción de verificación: Para modificar una restricción de verificación, primero tienes que eliminar la restricción de verificación existente y luego crear una nueva con las condiciones actualizadas. Por ejemplo, si inicialmente limitaste las calificaciones de los alumnos a un rango entre 0 y 100, puedes ampliarlo hasta 110: ALTER TABLE Student DROP CONSTRAINT CK_Student_GradeRange; ALTER TABLE Student ADD CONSTRAINT CK_Student_GradeRange CHECK (Calificación >= 0 AND Calificación <= 110);Eliminar una restricción en SQL
Para eliminar por completo una restricción de la tabla, puedes utilizar la sentencia `ALTER TABLE` junto con la cláusula `DROP CONSTRAINT`. Aquí tienes algunos ejemplos:- Eliminar una restricción de clave primaria:
- Eliminar una restricción de clave externa:
- Eliminar una restricción única:
- Eliminar una restricción de verificación:
- Eliminar una restricción Not Null: Para eliminar una restricción Not Null, debes modificar la definición de la columna y permitir valores NULL:
Explicación de las restricciones en SQL: Ejemplos Prácticos
Cuando trabajas con bases de datos relacionales, es esencial garantizar la exactitud e integridad de los datos de tus tablas. Las restricciones de SQL ayudan a mantener estas normas al aplicar reglas y condiciones a los datos insertados en las tablas. En esta sección, explorarás ejemplos prácticos de distintos tipos de restricciones SQL, como las restricciones de comprobación, las restricciones únicas, las claves primarias y las claves foráneas.Ejemplos de restricciones de comprobación en SQL
Una restricción de comprobación te permite imponer una condición específica en una columna de la tabla para garantizar que sólo se almacenan datos válidos en esa columna. En otras palabras, una restricción de verificación limita el rango de valores que se pueden aceptar. Estos ejemplos prácticos te permitirán comprender mejor cómo utilizar las restricciones de verificación en SQL:- Utilizar una restricción de verificación para validar el rango de edad: Supongamos que tienes una tabla llamada "Persona" con una columna "Edad", y quieres asegurarte de que la edad de los individuos de esa tabla está comprendida entre 18 y 110 años. Puedes añadir una restricción de comprobación a la columna "Edad" de la siguiente forma
- Uso de una restricción de verificación para validar valores numéricos: Si tienes una tabla "Producto" y quieres asegurarte de que los precios almacenados son siempre mayores que 0, puedes añadir una restricción de comprobación como se indica a continuación:
Ejemplos de restricción única y clave primaria
Una restricción única garantiza que los datos de una columna o de una combinación de columnas son únicos en todas las filas, mientras que una clave primaria añade una restricción adicional al no permitir valores NULL. Veamos algunos ejemplos prácticos de uso de restricciones únicas y claves primarias en SQL: 1. Crear restricción única y clave primaria en una sola columna: CREAR TABLA Cliente ( CustomerID INT PRIMARY KEY, EmailAddress VARCHAR(255) UNIQUE NOT NULL, FullName VARCHAR(255) NOT NULL ); En la tabla "Cliente", la columna "CustomerID" se define como clave primaria, mientras que la columna "EmailAddress" tiene una restricción única. Ambas garantizan la unicidad, pero sólo la clave primaria no permite valores NULL. 2. Crear una restricción única compuesta: CREATE TABLE Song ( SongID INT PRIMARY KEY, Title VARCHAR(255) NOT NULL, Artist VARCHAR(255) NOT NULL, Album VARCHAR(255) NOT NULL, UNIQUE (Title, Artist, Album) ); En el ejemplo anterior, aunque "SongID" es la clave principal, se ha añadido una restricción única compuesta a la combinación de las columnas "Title", "Artist" y "Album". Esto garantiza que no haya dos filas en la tabla "Canción" que tengan la misma combinación de título de canción, artista y álbum.Ejemplos de restricciones de clave foránea
Las restricciones de clave externa se utilizan para establecer relaciones entre tablas. Hacen referencia a la clave primaria de otra tabla, garantizando que los datos introducidos en la(s) columna(s) de clave foránea deben coincidir con los valores de la clave primaria referida. He aquí algunos ejemplos que ilustran el concepto: 1. Crear una restricción de clave externa entre dos tablas: CREATE TABLE ProductCategory ( CategoryID INT PRIMARY KEY, CategoryName VARCHAR(255) NOT NULL ); CREATE TABLE Product ( ProductID INT PRIMARY KEY, ProductName VARCHAR(255) NOT NULL, CategoryID INT, FOREIGN KEY (CategoryID) REFERENCES ProductCategory(CategoryID) );En este ejemplo, la tabla "Product" tiene una columna "CategoryID" que hace referencia a la clave primaria "CategoryID" de la tabla "ProductCategory". Esto garantiza que cada producto está asociado a una categoría válida. 2. Añadir una restricción de clave foránea a una tabla existente: ALTER TABLE OrderDetails ADD FOREIGN KEY (ProductID) REFERENCES Product(ProductID);En este caso, se ha añadido una restricción de clave foránea a la tabla "OrderDetails", que hace referencia a la clave primaria "ProductID" de la tabla "Product". Estos ejemplos demuestran la importancia de las restricciones de clave foránea en SQL. Al aplicar la integridad referencial, las restricciones de clave externa garantizan que se mantengan las relaciones entre las tablas y que la base de datos sea coherente y precisa.Restricciones en SQL - Puntos clave
Restricciones en SQL: reglas o condiciones predefinidas que se aplican a las columnas de una tabla para mantener la integridad y coherencia de los datos.
Tipos de Restricciones en SQL: Restricciones de Clave Primaria, Clave Foránea, Única, de Comprobación, No Nula y Predeterminada.
Restricción de verificación en SQL: regla que controla los datos que se insertan basándose en una condición booleana.
Alterar restricciones: SQL permite modificar determinados tipos de restricciones, la restricción por defecto y la restricción de verificación, mediante la sentencia ALTER TABLE.
Eliminar una restricción en SQL: utiliza la sentencia ALTER TABLE con la cláusula DROP CONSTRAINT para eliminar una restricción de una tabla.
Aprende más rápido con las 15 tarjetas sobre Restricciones en SQL
Regístrate gratis para acceder a todas nuestras tarjetas.
Preguntas frecuentes sobre Restricciones en SQL
Acerca de StudySmarter
StudySmarter es una compañía de tecnología educativa reconocida a nivel mundial, que ofrece una plataforma de aprendizaje integral diseñada para estudiantes de todas las edades y niveles educativos. Nuestra plataforma proporciona apoyo en el aprendizaje para una amplia gama de asignaturas, incluidas las STEM, Ciencias Sociales e Idiomas, y también ayuda a los estudiantes a dominar con éxito diversos exámenes y pruebas en todo el mundo, como GCSE, A Level, SAT, ACT, Abitur y más. Ofrecemos una extensa biblioteca de materiales de aprendizaje, incluidas tarjetas didácticas interactivas, soluciones completas de libros de texto y explicaciones detalladas. La tecnología avanzada y las herramientas que proporcionamos ayudan a los estudiantes a crear sus propios materiales de aprendizaje. El contenido de StudySmarter no solo es verificado por expertos, sino que también se actualiza regularmente para garantizar su precisión y relevancia.
Aprende más