La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Conferencia 12. Temas Avanzados de Integridad de Bases de Datos.

Presentaciones similares


Presentación del tema: "Conferencia 12. Temas Avanzados de Integridad de Bases de Datos."— Transcripción de la presentación:

1 Conferencia 12. Temas Avanzados de Integridad de Bases de Datos.

2 Objetivos. Conceptos Fundamentales.
Tipos de Restricciones de Integridad. Definición de Integridad en SQL Estándar

3 Bibliografia. C. J. Date, “Introducción a los Sistemas de Bases de Datos”. 7ma edición. Addison-Wesley Iberoamericana. Dra. Anaisa Hernández González, Seguridad e Integridad, Diplomado de Informática Operativa: Curso de BD.

4 Conceptos Fundamentales.
Seguridad e Integridad son conceptos diferentes. Seguridad: Protección de Datos. Integridad: Exactitud, Precisión o Validez de los Datos.

5 Semejanzas entre Seguridad e Integridad
Control de Restricciones Inviolables que no pueden ser violadas por los Usuarios. Seguridad Integridad Un cliente con cuenta bancaria puede ver el saldo actual solo de las cuentas que están a su nombre Un cliente no puede extraer de una cuenta más dinero del que permite su saldo pues no se aceptan saldos negativos

6 Semejanzas entre Seguridad e Integridad
Las restricciones deben ser especificadas en un lenguaje adecuado. Las restricciones deben ser mantenidas en el catálogo del sistema. El sistema debe vigilar las operaciones del usuario para asegurarse que cumplan estas restricciones.

7 Control de Acceso Obligatorio
Exactitud o Corrección de los Datos en la Base de Datos. Ejemplo: Proveedor Componentes Restricciones El código de los componentes tiene 4 dígitos y es único La cantidad de componentes que suministra un proveedor tiene que ser múltiplo de 50 y estar [50,1000] Los componentes eléctricos tienen que transportarse en cajas individuales El SGBD tiene que conocer cada restricción y hacerlas cumplir por lo que tiene que rechazar cualquier actualización que trate de violarlas

8 Tipos de Restricciones de Integridad
De Tipo: Especifica los valores válidos para un tipo dado. Son verificadas de inmediato. No es posible que los atributos de un tipo que tiene restricciones tenga un valor no apropiado. Solo se puede eliminar una restricción de tipo eliminando al propio tipo. Ej.: Peso Número real Mayor que 0 TYPE Peso(Real) CONSTRAINT Pe(Peso)>0.0;

9 Tipos de Restricciones de Integridad
De Atributo: Especifica el valor válido de un atributo. Es una declaración de tipo. Son parte de la definición del atributo. Solo se puede eliminar una restricción de tipo eliminando al propio tipo. Ej.: Una persona tiene como uno de sus atributos el peso, el cual tiene como restricciones que debe ser un numero mayor que cero. PesoPersona Peso;

10 Tipos de Restricciones de Integridad
De Relación: Especifica los valores válidos de una relación determinada. Son verificables de inmediato como parte de la ejecución de cualquier instrucción que pudiera ocasionar que fueran violadas. Ej.: Los proveedores de la Habana solo admiten transportar los productos en camión. CONSTRAINT Ejemplo 2 IS-EMPTY (P WHERE Ciudad=´La Habana´ AND MedioTransporte<>´Camión´;

11 Tipos de Restricciones de Integridad
De Bases de Datos: Especifica los valores válidos de una base de datos. Relaciona dos o mas variables de relaciones diferentes. Son verificables de inmediato como parte de la ejecución de cualquier instrucción que pudiera ocasionar que fueran violadas. Ej.: Ningún proveedor que use como medio de transporte camiones, puede suministrar componente alguno en una ciudad superior a 500 unidades. CONSTRAINT Ejemplo 3 IS-EMPTY ((P JOIN C) WHERE MedioTransporte=´Camión´ AND Cantidad > Cantidad(500));

12 Regla de Oro. Nunca debe permitirse una operación de actualización que deje a cualquier relación en un estado que viole las restricciones de integridad definidas para esas relaciones. Nunca debe permitirse una transacción de actualización que deje a a la base de datos en un estado que viole las restricciones de integridad definidas para ella.

13 Restricciones de Transacción.
Restricciones sobre transacciones válidas de un estado correcto a otro. TRANSACCIONES VÁLIDAS Soltero Casado Casado Viudo Viudo Divorciado TRANSACCIONES NO VÁLIDAS Soltero Viudo Viudo Divorciado Divorciado

14 Restricciones Asociadas a la Clave.
Unicidad: No existen dos elementos de una relación con igual llave. Irreductibilidad: Ningún subconjunto de atributos perteneciente a la llave tiene la propiedad de unicidad.

15 Temas de Integridad Referencial.
IdentificadorProveedor NombreProveedor CiudadProveedor IdentificadorProComponente NombreProducto Cantidad Fecha m 1 Suministro Proveedor Producto Un proveedor puede suministrar muchos componentes y un componente solo puede ser proporcionado por un proveedor en una cantidad y fecha dadas

16 Temas de Integridad Referencial.
Tablas PROVEEDOR Clave primaria Identificador Proveedor Nombre Ciudad Clave extranjera COMPONENTE Identificador Componente Nombre Proveedor Cantidad Fecha REGLA DE INTEGRIDAD REFERENCIAL “ Si B hace referencia a A, entonces A debe existir”

17 Integridad con SQL Estándar.
Restricciones de Dominio: Se aplica a toda la columna definida en el dominio. Al insertar un elemento en la tabla: Si no especifica valor se inserta Color = “???” Si se especifica, si esta en el conjunto se inserta, sino falla. CREATE DOMAIN Color CHAR(6) DEFAULT ´???’ CONSTRAINT ColoresVálidos CHECK (VALUE IN (´Rojo´, Ázul´, ´Veder´, ´???´)); ... CREATE TABLE Ejemplo 4 (...,ColorEjemplo COLOR,...);

18 Integridad con SQL Estándar.
Restricciones de la Tabla Base: Definición de clave o llave primaria. Definición de clave o llave externa. Definición de restricción de chequeo: Impedir que se inserten filas que violen las restricciones de verificaciónn definidas. Ej.: PRIMARY KEY IdentificadorComponente Ej.: FOREING KEY IdentificadorProveedor REFERENCE Proveedor Ej.: Cantidad 0,1000  CHECK(Cantidad>0 AND Cantidad<1000)

19 Integridad con SQL Estándar.
Aserciones: Equivalente a las restricciones de relación y de bases de datos Ej.: Todas las personas tienen un peso positivo CREATE ASSERTION Ejemplo 5 CHECK (NOT EXIST (SELECT * FROM Persona WHERE NOT (Persona.PesoPersona>0.0)));

20 Conclusiones Con la integridad se desea asegurar que los datos obtenidos en la base de dato sean exactos o correctos. Las restricciones de integridad: Especifican los valores válidos para un tipo (o dominio) dado. Especifican los valores válidos para un atributo determinado. Especifican los valores válidos para una relación dada. Especifican los valores válidos para una base de datos dada. No se permiten operaciones de actualización que dejen a cualquier relación en un estado que viola sus restricciones de integridad

21 Conclusiones No se permiten transacciones de actualización que dejen a la base de datos en un estado que viola sus restricciones de integridad. Las claves o llaves primarias satisfacen las propiedades de unicidad e irreductibilidad. Una restricción referencial es aquella que indica que los valores de cierta clave externa deben coincidir con los valores de la clave primaria correspondiente.


Descargar ppt "Conferencia 12. Temas Avanzados de Integridad de Bases de Datos."

Presentaciones similares


Anuncios Google