La integridad de datos – SQL SERVER

La integridad de datos se define en los siguientes niveles: Integridad de dominio, Integridad de entidad e Integridad referencial.

Niveles de la integridad de datos

La integridad de datos se define en los siguientes niveles:

Integridad de dominio

Se conoce como el dominio de un atributo al conjunto de valores aceptables para dicho atributo. La integridad de dominio establece qué condiciones deben cumplir los valores a insertar en una columna.
La integridad de dominio se define mediante reglas de validación, valores predeterminados, conjunto de valores permitidos en la columna (llave foránea), tipo y formato de los datos.

Integridad de entidad

Una tabla almacena los datos de cada una de las ocurrencias de una entidad. La entidad (o tabla) requiere que todas sus filas sean únicas. Esto se garantiza definiendo para cada fila de la entidad un identificador único (llave primaria).

Integridad referencial

La integridad referencial garantiza que la relación entre la llave primaria (en la tabla referenciada) y la llave foránea (en la tabla de referencia) siempre se mantiene. Una fila en una tabla referenciada no puede anularse, ni cambiar su valor de la llave primaria, si una llave foránea se refiere a la fila

Los modos de integridad

La integridad de datos se puede definir como parte de la declaración de una tabla, ó también mediante programación.

Integridad declarativa

La integridad declarativa se establece cuando definimos la integridad de datos como parte de la definición de la tabla. Consiste en la creación de restricciones (constraints), y se define mediante las instrucciones CREATE TABLE y ALTER TABLE.

Integridad procedural

La integridad procedural se establece cuando definimos la integridad de datos a través de la programación. Consiste en la creación de desencadenantes (triggers), procedimientos almacenados (stored procedures), y funciones (user defined functions)

Las restricciones (constraints)

Las restricciones son un método declarativo de definición de la integridad de datos ya que ellas se definen al momento de crear la tabla (con la sentencia CREATE TABLE), o al momento de modificar la definición de la tabla (con la sentencia ALTER TABLE). En otras palabras, una restricción forma parte de la definición de la tabla. Las restricciones son el método preferido para dar fuerza a la integridad de los datos.

Tipos de restricciones

Las restricciones son un método estándar ANSI para forzar la integridad de los datos. Garantizan que los datos ingresados en las columnas sean valores válidos y que se mantengan las relaciones entre las tablas.
La tabla siguiente describe los diferentes tipos de restricciones.

Las restricciones se definen al momento de definir la tabla con las sentencias CREATE TABLE o ALTER TABLE.

CREATE TABLE nombre_tabla(

   columna1 tipo_dato propiedades
   CONSTRAINT nombre_restricción … ,
   columna2 tipo_dato propiedades
   CONSTRAINT nombre_restricción … , … )
ALTER TABLE nombre_tabla
   ADD CONSTRAINT nombre_restricción …

La restricción DEFAULT (valor predeterminado)

Define cuál es el valor por defecto de una columna cuando al ejecutar INSERT no se especifica el valor de dicha columna.
Ejemplo

USE biblioteca
ALTER TABLE prestamo
  ADD CONSTRAINT df_fecha_sal
  DEFAULT getdate( ) FOR pre_fec_sal

Establece que el valor predeterminado de la columna pre_fec_sal de la tabla prestamo es la fecha del sistema.

La restricción CHECK (regla de validación)

Define la regla que debe cumplir el valor a ingresar a una columna. Se verifica
durante la ejecución de INSERT y UPDATE.
Ejemplo

ALTER TABLE ejemplar
   ADD CONSTRAINT chk_disponibilidad
   CHECK ( eje_dis LIKE'[ SN]’ )

El contenido de la columna eje_dis de la tabla ejemplar debe ser ‘S’ o ‘N’.

La restricción PRIMARY KEY (llave primaria)

Define cuál es la llave primaria de una tabla. La columna o combinación de columnas no debe tener valores duplicados ni nulos.
Ejemplo

ALTER TABLE publicacion
  ADD CONSTRAINT pk_publicacion
  PRIMARY KEY CLUSTERED( pub_cod )

Establece que la columna pub_cod de la tabla publicacion es la llave primaria de la tabla.

Crea un índice clustered único de nombre pk_publicación para la columna pub_cod.

La restricción UNIQUE (valores únicos)

Define que mas de una fila no pueden tener el mismo valor en una columna. Permite nulo.
Ejemplo:

ALTER TABLE tema
  ADD CONSTRAINT u_descripcion
  UNIQUE NONCLUSTERED( tem_des )

Establece que la columna tem_des de la tabla tema no puede tener descripciones iguales.

Crea un índice único de nombre u_descripcion.

La restricción FOREIGN KEY (llave foránea)

Define la integridad referencial. La restricción FOREIGN KEY se define sobre la columna llave foránea de la tabla secundaria. La tabla primaria debe tener definida su restricción PRIMARY KEY o UNIQUE.
Ejemplo

ALTER TABLE ejemplar
  ADD CONSTRAINT fk_ejemplar_publicacion
  FOREIGN KEY( pub_cod )
  REFERENCES publicacion( pub_cod )

Establece la relación entre las tablas publicación y ejemplar.

Contenido relacionado:

Te puede interesar

Deja una respuesta

Tu dirección de correo electrónico no será publicada.