Para asegurar la integrar de los datos almacenados en nuestras tablas, podemos crear los famosos constraints (restricciones), lo cuales nos van a permitir limitar el tipo de dato que puede insertarse en una tabla.
Dichas restricciones pueden especificarse cuando la tabla se crea por primera vez a través de la instrucción CREATE TABLE, o luego de crear la tabla a través de la instrucción ALTER TABLE.
Los diferentes tipos de restricción que existen son:
- PRIMARY KEY (esta ya la hemos visto y permite identificar cada fila de una tabla como única)
- FOREIGN KEY (esta también la hemos visto y sirve como enlace hacia otra tabla donde en esta última, dicho enlace son la o las columnas que forman la PRIMARY KEY.)
- UNIQUE
- CHECK
- DEFAULT
CASO: COMIDAS CIBER
Creamos la base de datos COMIDASCIBER y creamos las siguientes tablas
Solución
No se preocupen si no tienen instalado el SQL Server, mi objetivo es que ustedes aprendan y practiquen asi no tengan esta herramienta. Por lo tanto, podemos recurrir a un editor de SQL online que soporte MS SQL Server. Yo les comparto uno que me gusta mucho usarlo para mis ejemplos. https://rextester.com/
REXTEXTER
Aunque tenga sus limitaciones es muy sencilla de usar, solo tienen que pegar el query en el editor y ejecutarlo haciendo clic en el botón Runt it (F8).
Mi recomendación es que cuando tengan muchas instrucciones combinadas (insert, delete, update, select, create, alter, drop, etc), ejecuten parte por parte del código comentando las partes que no necesitan en ese momento. OJO: Pero siempre debe colocarse el código que crea la tablas y los registros antes de cualquier operación, ya que el sistema no guarda la base de datos y no podemos usar el comando USE NOMBRE_BASE DATOS para activar la base de datos y a partir de ello comenzar a hacer consultas, por lo tanto, el código que crea las tablas y los registros siempre deben estar antes de realizar cualquier operación y debe ejecutarse todo, ya que RexTexter no permite seleccionar un extracto de código para compilar solo esa parte, la aplicación ejecuta todo lo que esta en el editor. Pero a pesar de todo ello, es muy buena.
REXTEXTER
Aunque tenga sus limitaciones es muy sencilla de usar, solo tienen que pegar el query en el editor y ejecutarlo haciendo clic en el botón Runt it (F8).
Mi recomendación es que cuando tengan muchas instrucciones combinadas (insert, delete, update, select, create, alter, drop, etc), ejecuten parte por parte del código comentando las partes que no necesitan en ese momento. OJO: Pero siempre debe colocarse el código que crea la tablas y los registros antes de cualquier operación, ya que el sistema no guarda la base de datos y no podemos usar el comando USE NOMBRE_BASE DATOS para activar la base de datos y a partir de ello comenzar a hacer consultas, por lo tanto, el código que crea las tablas y los registros siempre deben estar antes de realizar cualquier operación y debe ejecutarse todo, ya que RexTexter no permite seleccionar un extracto de código para compilar solo esa parte, la aplicación ejecuta todo lo que esta en el editor. Pero a pesar de todo ello, es muy buena.
Ingresa al siguiente enlace y ejecuta el script: https://rextester.com/FNK47023
1. DEFINICIÓN Y USO DEL UNIQUE CONSTRAINT
La restricción UNIQUE identifica de forma exclusiva cada registro en una tabla de base de datos. Las restricciones de CLAVE ÚNICA y PRIMARIA proporcionan una garantía de unicidad para una columna o conjunto de columnas. Una restricción PRIMARY KEY tiene automáticamente una restricción UNIQUE definida en ella. Tenga en cuenta que puede tener muchas restricciones ÚNICAS por tabla, pero solo una restricción PRIMARY KEY por tabla.
La restricción UNIQUE se puede añadir a una columna de una tabla, después de ser creada, mediante la sentencia ALTER TABLE.
Ejemplo: Crear un unique constraint que valide o impida duplicar el dni de un cliente, para ello deberá modificar la tabla CLIENTES.
Ejemplo. Crear un unique constraint desde la creación de la tabla CLIENTE
2. DEFINICIÓN Y USO DEL CHECK CONSTRAINT
Es importante imponer la integridad de dominio, asegurar que sólo puedan existir entradas de los tipos o rangos esperados para una columna determinada). SQL Server impone la integridad de dominio a través del Check Constraint.
Una columna puede tener cualquier número de restricciones CHECK y la condición puede incluir varias expresiones lógicas combinadas con AND y OR. Por ello, las restricciones CHECK para una columna se validan en el orden en que se crean.
La condición de búsqueda debe dar como resultado una expresión booleana y no puede hacer referencia a otra tabla.
Una restricción CHECK, en el nivel de columna, sólo puede hacer referencia a la columna restringida y una restricción CHECK, en el nivel de tabla, sólo puede hacer referencia a columnas de la misma tabla.
Las restricciones CHECK y las reglas sirven para la misma función de validación de los datos durante las instrucciones INSERT y DELETE.
Cuando hay una regla y una o más restricciones CHECK para una columna o columnas, se evalúan todas las restricciones.
Ejemplo: Crear un check constraint que valide que el sexo del cliente solo sea F de femenino o M de masculino
Ejemplo: Crear un check constraint desde la creación de la tabla CLIENTE
3. DEFINICIÓN Y USO DEL DEFAULT CONSTRAINT
La restricción DEFAULT se usa para proporcionar un valor predeterminado para una columna. El valor predeterminado se agregará a todos los registros nuevos SI no se especifica ningún otro valor.
La restricción DEFAULT se puede añadir a una columna de una tabla, después de ser creada, mediante la sentencia ALTER TABLE.
Ejemplo: Crear un default constraint que establezca un valor por defecto a la columna dirección
Ejemplo: Crear un default constraint desde la creación de la tabla CLIENTE
Clic en enlace para ejecutar el query: https://rextester.com/LICXE38272
Verificando el campo INDENTIDAD-IDENTITY de la tabla COMPROBANTE
Verificando el campo INDENTIDAD-IDENTITY de la tabla COMPROBANTE
Clic en enlace para ejecutar el query: https://rextester.com/JUKCZ66555
Eliminar Constraints de la tabla
Clic en enlace para ejecutar el query: https://rextester.com/FMAWX50346
Crea una columna de identidad en una tabla. Esta propiedad se usa con las instrucciones CREATE TABLE y ALTER TABLE de Transact-SQL.
Debe especificar tanto el valor de inicialización como el incremento, o bien ninguno de los dos. Si no se especifica ninguno, el valor predeterminado es (1,1).
Ejecuta la solución en RexTexter: https://rextester.com/XGW43433
Script completo
Ejecuta la solución en RexTexter: https://rextester.com/POT83991
Si queremos ver las restricciones en la base de datos, debemos actualizar la carpeta base de datos y entramos a la tabla CLIENTE para ver las restricciones que le acabamos de crear.
¡Acabas de ver el tema Constraints del curso de Base de Datos en SQL Server! ¡Fácil verdad!
Ir al índice
Asimismo, si quieres comprar la guía completa con todos los temas, ejercicios, evaluaciones, proyectos, aplicaciones, banco de datos y más; puedes ingresar al siguiente enlace. Y si eres seguidor accedes a un descuento del -%50.
Asimismo, si quieres comprar la guía completa con todos los temas, ejercicios, evaluaciones, proyectos, aplicaciones, banco de datos y más; puedes ingresar al siguiente enlace. Y si eres seguidor accedes a un descuento del -%50.
¡Quiero esto! |
No hay comentarios, ¡cuéntame algo!
Me gustaría saber tu opinión. ¡Saludos!