jueves, 1 de noviembre de 2012

Integridad de los datos(con práctica)


En esta entrega especial, les traigo un pdf sobre la integridad de los datos especialmente en SQL SERVER, una versión medio vieja, pero interesante al fin para el propósito de aprender estas integridades(Versión 2005 de SQL SERVER).

Al final del post esta el link de la descarga ! 

A continuaciòn es una especie de Resumen, para aquellos que quieren dar un repaso .

Al principio se encarga de de especificar tres tipos de integridades :



*Integridad de dominio : Aquellos datos, valores que son válidos para una columna y que están especialmente relacionados con las restricciones DEFAULT, REFERENTIAL y CHECK.

*Integridad de entidad : Aquellos datos que identifican a las filas, por eso las restricciones relacionadas son UNIQUE, PRIMARY KEY.

*Integridad referencial : Aquellos datos que estan relacionados con otras tablas por eso las restricciones son FOREIGN KEY y CHECK

De esta manera establece un patròn respecto a que restricción usar en cada momento .

Luego pasa a enunciar las sintaxis, conveniendo SIEMPRE escribir la sintaxis de creaciòn de la base de datos, y luego agregar las restricciones .
Para aquellos que no saben a que se refiere cuando dice primary key CLUSTERED (..) , CLUSTERED se refiere a que de 10 registros, cuando borro el número 2, este espacio no queda en blanco, de tal manera que luego, las búsquedas no tarden tanto en realizarse, el contraio de este es NO CLUSTERED

El primero que analiza es :



DEFAULT :

*Se aplica a una sola columna
*Solo se usa acompañado del INSERT
*No se puede aplicar a las columnas con la propiedad identity o columnas de tipo rowversion
*Se puede asignar valores del sistema(ej: USER, SESSION_USER,etc)

CHECK :

*Se utiliza con INSERT o UPDATE
*Es similar a la claùsula WHERE
*Se puede relacionar con datos de otras tablas
*No puede tener sub-consultas
*No se puede con tipo de datos rowversion
*Si se infringe el CHECK, pueden verificar en DBCC CHECKCONSTRAINTS.

PRIMARY KEY :

*Se lo puede asignar a un dato por tabla
*No pueden ser nulos

UNIQUE :

*Se asigna por lo general cuando ya esta creada la PK(Primary key)
*Pueden ser valores nulos
*Se puede asignar a varias filas de una tabla

FOREIGN KEY :

*Pueden referenciar a tipo de datos UNIQUE o PK
*No cean índices automáticamente
*En caso de que se utilize REFERENCES sin una FK , es porque hace referencia a la misma tabla

Luego hace focalizaciòn sobre la integridad de datos referencial, teniendo en cuenta la clausula ON CASCADE, donde automáticamente cuando actualizo un dato, se propaga automáticamente al valor de la clave externa.

Deshabilitaciòn de restricciones


Se aplica a restricciones de CHECK y FK a través de la clausula WITH NOCHECK, por lo que todas las demás, habría que eliminarlas y volverlas a crear.
Las claúsula se puede utilizar tanto en el momento de que yo creo una restricciòn, como con existentes.

Para terminar hace menciòn de dos instrucciones:
*DEFAULT : Donde por default, tipo máscara, aparece el valor hasta que el usuario, ingrese el correcto.
*REGLAS (RULES) : Se encarga de verificar que el dato cumple con una condiciòn, esta misma, puede contener lo mismo que un where .
Ambas luego se pueden eliminar, utilizando DROP.

Cualquier crítica es bienvenida !

Integridad de los datos

pass : axlav.blogspot.com

No hay comentarios:

Publicar un comentario