La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Restricciones de Integridad en ORACLE

Presentaciones similares


Presentación del tema: "Restricciones de Integridad en ORACLE"— Transcripción de la presentación:

1 Restricciones de Integridad en ORACLE
E. Sánchez E. Tejadillos Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia 29/01/03

2 Índice Definición Tipos de restricciones de integridad
Restricciones de Integridad en Oracle Valores Nulos Valores por Defecto Clave Primaria Clave Alternativa Clave Ajena Restricciones de integridad estáticas Demo 29/01/03

3 Definición Las restricciones de integridad aseguran que la información contenida en una base de datos es correcta. Ventajas de declarar las restricciones de integridad como parte del esquema de la base de datos: Reduce el coste de desarrollo de software. Es más confiable al ser centralizado y uniforme. Mantenimiento más fácil. 29/01/03

4 Tipos Según el estado Según estén orientadas Estáticas
limitan los estados permitidos de la BD. Dinámicas restringen las posibles transiciones de estados de la BD. Según estén orientadas Restricciones de Cardinalidad Restricción de Dominio Restricción de Unicidad Restricción de Inverso Restricción de Coexistencia Restricción de Clases hijas Disjuntas Restricción de Cobertura 29/01/03

5 Restricciones de integridad elementales en Oracle
Integridad de Entidades Valores nulos Valores por defecto Claves primarias Claves alternativas Restricciones de integridad estáticas Integridad referencial Claves ajenas 29/01/03

6 Tratamiento de valores nulos
Especifica si una columna puede contener o no valores nulos. ORACLE por defecto admite valores nulos. atributo tipo [CONSTRAINT nombre] NOT NULL | NULL. Ejemplo: Dni integer CONSTRAINT nn_dni NOT NULL 29/01/03

7 Tratamiento de valores por defecto
Especifica los valores que podrán ser asignados a una columna, cuando en ésta no se introduzca ningún valor . atributo tipo DEFAULT expresión. Ejemplo: Num integer DEFAULT 1+3. 29/01/03

8 Tratamiento de clave primaria
Designa una columna o combinación de columnas como clave primaria de la tabla. Puede ser definida a nivel de tabla o columna. A nivel columna: atributo tipo [CONSTRAINT nombre] PRIMARY KEY.  A nivel tabla: [CONSTRAINT nombre] PRIMARY KEY(colum1,.. colum ..) 29/01/03

9 Tratamiento de clave alternativa
Se designa una columna o combinación de columnas como clave única alternativa a la clave seleccionada como primaria . Puede ser definida a nivel de tabla o columna. A nivel columna: atributo tipo [CONSTRAINT nombre] UNIQUE A nivel tabla: [CONSTRAINT nombre] UNIQUE (colum1,.. colum ..) 29/01/03

10 Tratamiento de las restricciones de integridad estáticas
Son fórmulas bien formadas de primer orden construidas con atributos de la tabla como términos básicos, que satisfacen en todos los estados válidos para las tuplas de una relación . Son restricciones de tipo CHECK asociadas a una columna o una tabla . atributo tipo [CONSTRAINT nombre] CHECK condición. Ejemplo: Saldo integer CHECK saldo!=saldo_base 29/01/03

11 Tratamiento de claves ajenas
A nivel columna Se declara detrás del tipo asociado . Si solo se indica el nombre de la tabla, por defecto se referencia a la clave primaria de la tabla. La columna donde se define el REFERENCES puede tener valores nulos [atributo tipo [CONSTRAINT nombre] REFENCES ntabla[(columna)] [ON DELETE CASCADE] Ejemplo: Dep char(10) REFERENCES departamento(nom) 29/01/03

12 Tratamiento de claves ajenas
A nivel de tabla Se especifica la columna o composición de columnas que forman parte de la clave ajena después de la palabra clave FOREIGN KEY y la columna o columnas a la que se hace referencia después de la palabra clave REFERENCES El número de columnas y tipos debe coincidir [CONSTRAINT nombre] FOREIGN KEY (columna1, columna2, ...) REFERENCES n_tabla[(columna1, columna2,...)] [ON DELETE CASCADE] Ejemplo: FOREIGN KEY(dep) REFERENCES departamento(nom) 29/01/03

13 Tratamiento de claves ajenas
Acciones realizar en caso de borrado o modificación de la clave primaria a la que hace referencia la clave ajena: 1.       Restringir (restrict), 2.       poner a nulos (set null), 3.       propagar (cascade), En ORACLE se puede especificar la situación en que se borre la clave primaria y queramos propagarlo a la clave ajena mediante la cláusula on delete cascade.  Por defecto, ORACLE asume la operación como restringida y para incluir otras características hay que generar disparadores (”triggers”). 29/01/03

14 Modificación de restricciones
Tipos de modificaciones sobre una BD: No afectan a la integridad de la BD ya existente. Si afectan a la integridad de la BD e implican la toma de decisiones. El diseñador es quién debe elegir el mecanismo para mantener la BD íntegra ALTER TABLE sirve para añadir o redefinir una columna, a añadir o borrar una restricción de integridad y para activar o desactivar cualquier restricción de integridad o disparo 29/01/03


Descargar ppt "Restricciones de Integridad en ORACLE"

Presentaciones similares


Anuncios Google