Implementacin de la integridad de datos Introduccin n
- Slides: 20
Implementación de la integridad de datos
Introducción n Tipos de integridad de datos n Exigir la integridad de los datos n Definición de restricciones n Tipos de restricciones n Deshabilitación de restricciones n Uso de valores predeterminados y reglas n Decisión del método de implementación que va a utilizar
Tipos de integridad de datos Integridad de dominio (columnas) Integridad de entidad (filas) Integridad referencial (entre tablas)
Exigir integridad de los datos n n Integridad de datos declarativa l Los criterios se definen en la definición del objeto l Asegurada automáticamente por SQL Server l Implementada mediante restricciones, valores predeterminados y reglas Integridad de datos procedimental l Los criterios se definen en una secuencia de comandos l Asegurada mediante secuencia de comandos l Implementada mediante desencadenadores y prodedimientos almacenados
u Definición de restricciones n Determinación del tipo de restricción que se va a utilizar n Creación de restricciones n Consideraciones para el uso de restricciones
Determinación del tipo de restricción quese va a utilizar Tipo de integridad Dominio Entidad Referencial Tipo de restricción DEFAULT CHECK REFERENTIAL PRIMARY KEY UNIQUE FOREIGN KEY CHECK
Creación de restricciones n Utilizar CREATE TABLE o ALTER TABLE n Puede agregar restricciones a una tabla con datos existentes n Puede aplicar restricciones a una sola columna o a varias columnas l Una sola columna, se llama restricción de columna l Varias columnas, se llama restricción de tabla
Consideraciones para el uso de restricciones n Pueden cambiarse sin volver a crear una tabla n Requieren comprobación de errores en aplicaciones y transacciones n Comprueban los datos existentes
u Tipos de restricciones n Restricciones DEFAULT n Restricciones CHECK n Restricciones PRIMARY KEY n Restricciones UNIQUE n Restricciones FOREIGN KEY n Integridad referencial en cascada
Restricciones DEFAULT n Sólo se aplica a las instrucciones INSERT n Sólo una restricción DEFAULT por columna n No se puede utilizar con la propiedad IDENTITY o el tipo de datos rowversion n Permite que se especifiquen algunos valores proporcionados por el sistema USE Northwind ALTER TABLE dbo. Customers ADD CONSTRAINT DF_contactname DEFAULT 'UNKNOWN' FOR Contact. Name
Restricciones CHECK n Se utilizan con las instrucciones INSERT y UPDATE n Pueden hacer referencia a otras columnas en la misma tabla n No pueden: l Utilizarse con el tipo de datos rowversion l Contener subconsultas USE Northwind ALTER TABLE dbo. Employees ADD CONSTRAINT CK_birthdate CHECK (Birth. Date > '01 -01 -1900' AND Birth. Date < getdate())
Restricciones PRIMARY KEY n Sólo una restricción PRIMARY KEY por tabla n Los valores deben serexclusivos n No se permiten valores nulos n Crea un índice exclusivo en las columnas especificadas USE Northwind ALTER TABLE dbo. Customers ADD CONSTRAINT PK_Customers PRIMARY KEY NONCLUSTERED (Customer. ID)
Restricciones UNIQUE n Permite un valor nulo n Permite varias restricciones UNIQUE en una tabla n Definidas con una o más columnas n Exigida con un índice único USE Northwind ALTER TABLE dbo. Suppliers ADD CONSTRAINT U_Company. Name UNIQUE NONCLUSTERED (Company. Name)
Restricciones FOREIGN KEY n Deben hacer referencia a una restricción PRIMARY KEY o UNIQUE n Proporcionan integridad referencial de una o de varias columnas n No crean índices automáticamente n Los usuarios deben tener permisos SELECT o REFERENCES en las tablas a las que se hace referencia n Usa sólo la cláusula. REFERENCES en la tabla de ejemplo USE Northwind ALTER TABLE dbo. Orders ADD CONSTRAINT FK_Orders_Customers FOREIGN KEY (Customer. ID) REFERENCES dbo. Customers(Customer. ID)
Integridad referencial en cascada NINGUNA ACCIÓN CASCADA Customers Customer. ID (PK) 1 1 INSERT new Customer. ID 2 Customers Customer. ID (PK) Orders Customer. ID (FK) UPDATE old Customer. ID to new Customer. ID Customers Customer. ID (PK) 3 DELETE old Customer. ID UPDATE Customer. ID CASCADA Orders Customer. ID (FK)
u Deshabilitación de restricciones n Deshabilitación de la comprobación de las restricciones en los datos existentes n Deshabilitación de la comprobación de las restricciones al cargar datos nuevos
Deshabilitación de la comprobaciónde las restriccionesen los datos existentes n Se aplica a las restricciones. CHECK y FOREIGN KEY n Utilice la opción WITH NOCHECK cuando agregue una restricción nueva n Utilizar si los datos existentesno cambian n Se pueden cambiar los datos existentesantes de agregar restricciones USE Northwind ALTER TABLE dbo. Employees WITH NOCHECK ADD CONSTRAINT FK_Employees FOREIGN KEY (Reports. To) REFERENCES dbo. Employees(Employee. ID)
Deshabilitación de la comprobación de las restricciones al cargar datos nuevos n Se aplica a las restricciones CHECK y FOREIGN KEY n Utilizar si: l Los datos cumplen las restricciones l Carga datos nuevos que no cumplen las restricciones USE Northwind ALTER TABLE dbo. Employees NOCHECK CONSTRAINT FK_Employees
Uso de valores predeterminados y reglas n Como objetos independientes: l Se definen una vez l Pueden vincularse a una o más columnas o a tipos de datos definidos por el usuario CREATE DEFAULT phone_no_default AS '(000)000 -0000' GO EXEC sp_bindefault phone_no_default, 'Customers. Phone' CREATE RULE regioncode_rule AS @regioncode IN ('IA', 'IL', 'KS', 'MO') GO EXEC sp_bindrule regioncode_rule, 'Customers. Region'
Decisión del método de implementación que vaa utilizar Componente de Costos de Funcionalidad integridad de datos rendimiento Antes o después de la transacción Restricciones Media Baja Antes Valores predeterminados y reglas Baja Antes Desencadenadores Alta Medio-alto Después Tipos de datos, Null/Not Null Baja Antes
- Restricciones de dominio base de datos
- Reglas de integridad
- Implementacin
- Introduccin
- Las 4 etapas de la filosofía
- Enzimas introducción
- Introduccin
- Introduccin
- Introduccin
- Zimbra casanare
- Confidencialidad integridad y disponibilidad
- Regla de wallace
- Acaso teme job a dios de balde
- Que es integridad
- Integridad vs desesperación
- Etapas de erikson
- Que son los datos objetivos y subjetivos
- Sekondaryong datos
- Adquisicion de datos instrumentacion
- Consultas
- Datos de un cheque