SQL4

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 8

www.zonacodigo.

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:

 Integridad de entidad (filas)


 Integridad de dominio (columnas)
 Integridad referencial (tablas)
 Integridad definida por el usuario

La Integridad de Entidad o de Filas

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.

Create Table MiTabla(


MiIdentificador TipoDeDato not null primary Key,--Identificador de la
tabla
MiCampo1 TipoDeDato not null Unique –Este valor sera unico, no se
podra repetir
)
Go

La Integridad de Dominio o de Columnas

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.

Create Table MiTabla2(


MiIdentificador TipoDeDato not null primary key,
MiCampo1 TipoDeDato not null foreign key references MiTabla,--hace
referencia a otra tabla
MiCampo2 TipoDeDato not null, --no acepta valores vacios
MiCampo3 char(1) not null Check(MiCampo3='M' or MiCampo3='F'),--Valida
que valores aceptara ese campo
MiCampo4 money not null check (MiCampo4>=550.00), --Verifica cantidad
)go

1 8
www.zonacodigo.com

La Integridad Referencial o integridad de Tablas

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.

Cuando se exige la integridad referencial, SQL Server impide a los usuarios:

 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.

Por ejemplo, en las tablas Venta.DetalleDeVenta y Produccion.Producto de la base de datos


DemoVentas, la integridad referencial se basa en la relación entre la clave externa
(IDProducto) de la tabla Venta.DetalleDeVenta y la clave principal (IDProduct) de la tabla
Produccion.Producto. Esta relación garantiza que un pedido de ventas no pueda nunca hacer
referencia a un producto que no existe en la tabla Produccion.Producto.

Integridad definida por el usuario

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.

SQL Server no establece un límite predefinido en el número de restricciones FOREIGN


KEY que una tabla puede incluir (que hagan referencia a otras tablas) ni el número de
restricciones FOREIGN KEY pertenecientes a otras tablas que hagan referencia a
determinada tabla. Se recomienda que una tabla no contenga más de 253 restricciones
FOREIGN KEY y que no sea referencia para más de 253 restricciones FOREIGN KEY.

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:

Sueldo money not null check (Sueldo>=250.00 and Sueldo<=500.00),

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í:

Sexo char(1) null Check(Sexo='M' or Sexo='F') default 'M',

Diagramando la Relación de Tablas

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

Nos aparecera un cuadro como el siguiente:

Elegimos las tablas que vamos a diagramar

3. Paso: Luego de seleccionar las tablas, se establecerá la relación de esta forma:

Esta es una relación de 1 a muchos (1 área puede tener muchos empleados)

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!

Gracias por descargar este Manual


En el Próximo Manual aprenderás algunas Sentencias Columnas, filas y tablas.
Create Database, Drop Database, Create Table.
Insert, Update, Delete, Alter Table

8 8

También podría gustarte