Las restricciones son reglas que usted crea en el momento del diseño y que protegen sus datos para que no se corrompan. Es esencial para la supervivencia a largo plazo de su hijo corazón de una solución de base de datos. Sin restricciones, su solución definitivamente decaerá con el tiempo y el uso intensivo.
Debe reconocer que diseñar el diseño de su base de datos es solo el nacimiento de su solución. Aquí, después de eso, debe vivir (con suerte) mucho tiempo y soportar todo tipo de comportamiento (extraño) por parte de sus usuarios finales (es decir, aplicaciones de cliente). ¡Pero esta fase de diseño en desarrollo es crucial para el éxito a largo plazo de su solución! Respétenlo, y paguen el tiempo y la atención que requiera.
Hay básicamente 4 tipos de restricciones principales en SQL:
- Restricción de dominio: si uno de los
valores de atributo proporcionados para un nuevo Tuple no es del dominio
de atributo especificado
- Restricción de clave: si el valor de un atributo de clave en una nueva tupla ya existe en otra tupla en la relación
- Integridad referencial: si un valor de clave externa en una nueva tupla hace referencia a un valor de clave principal que no existe en la relación referenciada
- Integridad de la entidad: si el valor de la clave principal es nulo en una nueva tupla
Las restricciones se van a definir acompañadas por un nombre, lo que permitirá activarlas o desactivarlas según sea el caso; o también mezcladas en la definiciones de las columnas de la tabla. A continuación vamos a describir cada una de las restricciones mencionada
La cláusula NOT NULL indica que la columna no podrá contener un valor nulo, es decir que se deberá rellenar obligatoriamente y con un valor válido (equivale a la propiedad requerido Sí de las propiedades del campo).
La cláusula CONSTRAINT sirve para definir una restricción que se podrá eliminar cuando queramos sin tener que borrar la columna. A cada restricción se le asigna un nombre que se utiliza para identificarla y para poder eliminarla cuando se quiera.
Como restricciones tenemos la de clave primaria (clave principal), la de índice único (sin duplicados), la de valor no nulo, y la de clave foránea.
La cláusula PRIMARY KEY se utiliza para definir la columna como clave principal de la tabla. Esto supone que la columna no puede contener valores nulos ni pueden haber valores duplicados en esa columna, es decir que dos filas no pueden tener el mismo valor en esa columna.
En una tabla no pueden haber varias claves principales, por lo que no podemos incluir la cláusula PRIMARY KEY más de una vez, en caso contrario la sentencia da un error. No hay que confundir la definición de varias claves principales con la definición de una clave principal compuesta por varias columnas, esto último sí está permitido y se define con una restricción de tipo 2.
La cláusula UNIQUE sirve para definir un índice único sobre la columna. Un índice único es un índice que no permite valores duplicados, es decir que si una columna tiene definida un restricción de UNIQUE no podrán haber dos filas con el mismo valor en esa columna. Se suele emplear para que el sistema compruebe el mismo que no se añaden valores que ya existen, por ejemplo si en una tabla de clientes queremos asegurarnos que dos clientes no puedan tener el mismo D.N.I. y la tabla tiene como clave principal un código de cliente, definiremos la columna dni con la restricción de UNIQUE.
La cláusula NOT NULL indica que la columna no puede contener valores nulos, cuando queremos indicar que una columna no puede contener el valor nulo lo podemos hacer sin poner la cláusula CONSTRAINT, o utilizando una cláusula CONSTRAINT.
Exelente información
ResponderEliminarMuy buena información
ResponderEliminarMuy buena información
ResponderEliminarMuy buena información.
ResponderEliminarmuy útil ... esta muy bien detallada la información
ResponderEliminar