Escolar Documentos
Profissional Documentos
Cultura Documentos
Implementacin de
integridad de datos
Introduccin
Descripcin general de la integridad de datos
Implementacin de restricciones
Implementacin de desencadenadores
Integridad de entidad
(Filas)
Integridad referencial
(Entre tablas o columnas de la misma tabla)
Mecanismo
Descripcin
Tipos de datos
Reglas
Valores
predeterminados
Restricciones
Tipo de
integridad
Dominio
Entidad
Referencial
Tipo de
restriccin
Descripcin
DEFAULT
CHECK
FOREIGN KEY
NULL
PRIMARY KEY
UNIQUE
FOREIGN KEY
CHECK
Restricciones DEFAULT
Una restriccin DEFAULT define un valor de columna
predeterminado cuando no se proporciona ningn valor
Cada columna slo puede tener una restriccin DEFAULT
Slo es aplicable a instrucciones INSERT
Se permiten algunas funciones suministradas por el sistema
CREATE TABLE [Production].[Location](
...
[Availability] [decimal](8, 2) NOT NULL CONSTRAINT
[DF_Location_Availability] DEFAULT ((0.00)),
[ModifiedDate] [datetime] NOT NULL CONSTRAINT
[DF_Location_ModifiedDate] DEFAULT (getdate())
)
Restricciones CHECK
Las restricciones CHECK restringen los valores que se
pueden introducir en una columna con INSERT o con UPDATE
Puede definir varias restricciones CHECK por columna
Puede hacer referencia a columnas de la misma tabla
No puede contener subconsultas
ALTER TABLE [HumanResources].[EmployeeDepartmentHistory]
WITH CHECK
ADD CONSTRAINT [CK_EmployeeDepartmentHistory_EndDate] CHECK
(([EndDate]>=[StartDate] OR [EndDate] IS NULL))
Restricciones UNIQUE
Las restricciones UNIQUE aseguran que todos los valores
de una columna son nicos
Slo se permite un valor nulo en una columna nica
Pueden incluir una o ms columnas
CREATE TABLE [HumanResources].[Employee](
[EmployeeID] [int] IDENTITY(1,1) NOT NULL,
[NationalIDNumber] [nvarchar](15) NOT NULL UNIQUE
NONCLUSTERED,
WITH CHECK
Comportamiento
de UPDATE
Comportamiento
de DELETE
END;
END;
Instruccin INSERT,
UPDATE o DELETE
y as sucesivamente
El desencadenador
ejecuta INSERT,
UPDATE o DELETE
en otra tabla
Consideraciones:
Puede superar el lmite de anidamiento de 32 niveles
sin necesidad de realizar un diseo cuidadoso
y unas pruebas exhaustivas
Puede resultar difcil controlar el orden de
las actualizaciones de tabla
Se puede reemplazar con lgica no recursiva