SQL4
SQL4
SQL4
com
Integridad de Datos
La exigencia de integridad de los datos garantiza la calidad de los datos de la base de datos. Por
ejemplo, si se especifica para un empleado el valor de identificador (ID) de 010920, la base de
datos no debe permitir que ningún otro empleado tenga el mismo valor de identificador. Si tiene
una columna clasificacion_empleado para la que se prevean valores entre 1 y 5, la base de
datos no debe aceptar valores fuera de ese intervalo. Si en la tabla hay una columna id_ dept en
la que se almacena el número de departamento del empleado, la base de datos sólo debe permitir
valores que correspondan a los números de departamento de la empresa.
Dos pasos importantes en el diseño de las tablas son la identificación de valores válidos para
una columna y la determinación de cómo forzar la integridad de los datos en la columna. La
integridad de datos pertenece a una de las siguientes categorías:
La integridad de entidad define una fila como entidad única para una tabla determinada. La
integridad de entidad exige la integridad de las columnas de los identificadores o la clave
principal de una tabla, mediante índices y restricciones UNIQUE, o restricciones PRIMARY
KEY.
La integridad de dominio viene dada por la validez de las entradas para una columna
determinada. Puede exigir la integridad de dominio para restringir el tipo mediante tipos de
datos, el formato mediante reglas y restricciones CHECK, o el intervalo de valores posibles
mediante restricciones FOREIGN KEY, restricciones CHECK, definiciones DEFAULT,
definiciones NOT NULL y reglas.
1 8
www.zonacodigo.com
La integridad referencial protege las relaciones definidas entre las tablas cuando se crean o se
eliminan filas. En SQL Server 2005 la integridad referencial se basa en las relaciones entre
claves externas y claves principales, o entre claves externas y claves exclusivas, mediante
restricciones FOREIGN KEY y CHECK. La integridad referencial garantiza que los valores de
clave sean coherentes en las distintas tablas. Para conseguir esa coherencia, es preciso que no
haya referencias a valores inexistentes y que, si cambia el valor de una clave, todas las
referencias a ella se cambien en consecuencia en toda la base de datos.
Agregar o cambiar filas en una tabla relacionada si no hay ninguna fila asociada en la
tabla principal.
Cambiar valores en una tabla principal que crea filas huérfanas en una tabla relacionada.
Eliminar filas de una tabla principal cuando hay filas relacionadas coincidentes.
La integridad definida por el usuario permite definir reglas de empresa específicas que no
pertenecen a ninguna otra categoría de integridad. Todas las categorías de integridad admiten la
integridad definida por el usuario. Esto incluye todas las restricciones de nivel de columna y
nivel de tabla en CREATE TABLE, procedimientos almacenados y desencadenadores.
Restricciones (Constraints)
2 8
www.zonacodigo.com
1) Primary Key (PK): Define como valor único al campo, al cual hace referencia. Crear
una Llave Primaria (Primary Key) sirve para identificar de forma única ese campo,
previniendo el ingreso de valores duplicados. Ejemplo: Si creáramos una tabla
Empleado, podemos agregarle un campo llamado IDEmpleado. A ese campo le
agregamos un Primary Key; de esta forma, controlamos que cuando registremos a un
empleado con ID: E001; dicho ID no se registrado nuevamente para otro empleado.
2) Foreign Key (FK): Es una columna o combinación de columnas que se utiliza para
establecer y exigir un vínculo entre los datos de dos tablas.
No es necesario que una restricción FOREIGN KEY esté vinculada únicamente a una
restricción PRIMARY KEY de otra tabla; también puede definirse para que haga
referencia a las columnas de una restricción UNIQUE de otra tabla.
Nota:
Una restricción FOREIGN KEY puede hacer referencia a columnas de tablas de la
misma base de datos o a columnas de una misma tabla. Se denominan tablas con
referencia a sí mismas. Suponga, por ejemplo, una tabla de empleados con tres
columnas: numero_empleado, nombre_ empleado y jefe _ numero_ empleado. Dado
que el responsable también es un empleado, hay una relación de clave externa desde la
columna jefe _ numero_ empleado a la columna numero_empleado.
3) Unique (UQ): Esta restricción garantiza que todos los valores sean únicos, que no se
puedan repetir. Ejemplo: que no se pueda repetir el Nro. de Placa de un auto.
Nota:
Para modificar una restricción UNIQUE, deberá eliminar la restricción UNIQUE
existente y, a continuación, volver a crearla con la nueva definición.
3 8
www.zonacodigo.com
4) Check (CK): Comprueba que se cumpla una condición determinada al rellenar esa
columna.
Ejemplo:
Queremos comprobar que al realizar un pago al empleado su sueldo este entre un rango
de $ 250.00 - $ 500.00. De esta forma:
5) Default (DF): Esta restricción agrega un valor por defecto en la columna a la cual hace
referencia.
Ejemplo:
Podemos tener un campo sexo en null (valor vacio), al cual ya se le ha especificado el
tipo de sexo (masculino y femenino), en un check; podemos hacer que al registrar a
“alguien” y “saltarnos” el especificar “M” o “F”, en el sexo; se agregue por defecto “M”
(masculino). Quedaría algo así:
Si queremos ver la Relación que se ha establecido entre tablas, podemos seguir los siguientes
pasos:
PASOS:
1. Paso: Primero debemos haber terminado de crear nuestra Base de Datos con sus respectivas
Tablas. E ir al explorador de objetos; a continuación, desprendemos la Base de Datos –en
este caso: Demo04-. Luego nos uicamos en Diagramas de base de datos.
4 8
www.zonacodigo.com
2. Paso: Damos “clic derecho” a Diagramas de base de datos, y elegimos la opción: Nuevo
diagrama de base de datos.
5 8
www.zonacodigo.com
6 8
www.zonacodigo.com
Nota: A veces al terminar de hacer el paso 01 nos puede aparecer un error como este:
Para este caso, debemos hacer los pasos siguientes, explicados en esta imagen:
Luego de hacer esos pasos (según la imagen de arriba), procedemos a realizar nuevamente
el paso 02.
7 8
www.zonacodigo.com
Bien, el manual de hoy se da por concluido. Debes complementar tus conocimientos con el
Demo04 de este Manual, y como decimos siempre a ¡Practicar!
8 8