E N D
Integridad Referencial Bases de Datos Javier Felipe Moncada Sánchez
Integridad referencial, Qué es? • La integridad referencial es una propiedad deseable en las bases de datos. Gracias a la integridad referencial se garantiza que una entidad (fila o registro) siempre se relaciona con otras entidades válidas, es decir, que existen en la base de datos. Implica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas. (wikipedia) • si en una relación hay alguna clave ajena, sus valores deben coincidir con valores de la clave primaria a la que hace referencia, o bien, deben ser completamente nulos.
Integridad referencial, Qué es? • La integridad referencial es un sistema de reglas que utilizan la mayoría de las bases de datos relacionales para asegurarse que los registros de tablas relacionadas son válidos y que no se borren o cambien datos relacionados de forma accidental produciendo errores de integridad. • La integridad referencial es un sistema de reglas que se utilizan para garantizar que las relaciones entre los registros de tablas relacionadas son válidas y que no se eliminan ni modifican accidentalmente datos relacionados. .
Operaciones que podemos realizar • Adición de Registros • Borrado de Registros • Actualización de registros
Adición de Registros Restringido • Borrado de Registros • Actualización de registros • Operación Restringida (Restricted) • Operación en Cascada (Cascade) • Operación de Puesta a Nulos (Set Null) • Operación de Puesta a Valor por defecto (Set Default)
El álgebra relacional es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Cálculo relacional que es de tipo declarativo. • El álgebra relacional es un lenguaje formal con una serie de operadores que trabajan sobre una o varias relaciones para obtener otra relación resultado, sin que cambien las relaciones originales. Tanto los operandos como los resultados son relaciones
Primarios o Básicos Unarios Selección o Restricción (s) Proyección (p) Binarios Unión (U) Diferencia (-) Producto (x) Derivados Binarios Intersección (Ç) Reunión, Join ( ) División (:) Tipos de Operadores
Selección o Restricción (s) • La restricción, también denominada selección, opera sobre una sola relación y da como resultado otra relación cuyas tuplas son las tuplas que satisfacen la condición especificada.
PERSONA PERSONA_P = persona s (salario > 1,500,000)
Proyección (p) • La proyección opera sobre una sola relación y da como resultado otra relación que contiene un subconjunto vertical, extrayendo los valores de los atributos especificados y eliminando duplicados.
PERSONA PERSONA_P = persona p (genero,salario)
Unión (U) • La unión de dos relaciones , da como resultado otra relación que tiene como mucho las tuplas encuentran en ambas relaciones • se dice que dos relaciones son compatibles para la unión si ambas tienen la misma cabecera, es decir, si tienen el mismo número de atributos y éstos se encuentran definidos sobre los mismos dominios.
A B C = A U B
Diferencia (-) • La diferencia obtiene una relación que tiene las tuplas que se encuentran en A y no se encuentran en B. Para realizar esta operación, A y B deben ser compatibles para la unión.
A B C = A - B
Producto (x) • El producto cartesiano obtiene una relación cuyas tuplas están formadas por la concatenación de todas las tuplas de A con todas las tuplas de B
Intersección (Ç) • La intersección, como en Teoría de conjuntos, corresponde al conjunto de todas las tuplas que están en A y en A, siendo A y B uniones compatibles.
A B C = A ÇB
Reunión, concatenación,Join ( ) • La concatenación de dos relaciones A y B obtiene como resultado una relación cuyas tuplas son todas las tuplas de A concatenadas con todas las tuplas de B que en los atributos comunes (que se llaman igual) tienen los mismos valores. Estos atributos comunes aparecen una sola vez en el resultado.
División (:) • El operador división A / B retorna todos los distintos valores de x tales que para todo valor y en B existe una tupla en A.
Renombrar • Renombrar una relación para facilitar la interacción con otras
query1 UNION query2 • query1 INTERSECT query2 • query1 EXCEPT query2 query1 MINUS query2 • Selección? • Proyección? • Producto? • División? • Join? SELECT * FROM A INNER JOIN B ON (A.y = B.y)
El Cálculo relacional es un lenguaje de consulta que describe la respuesta deseada sobre una Base de datos sin especificar como obtenerla, a diferencia del Álgebra relacional que es de tipo procedural, el cálculo relacional es de tipo declarativo; pero siempre ambos métodos logran los mismos resultados.
Orientado a Tuplas Las variables toman valor sobre las tuplas • Update • Delete • Drop • Get • Put • Hold • Release
Orientado a Dominios Las variables toman valor sobre los dominios • Comparación • Simple > < = • Compuestas >= <= <> • Matemáticas + - / * • Agregación Sum Min Max Count Avg Std • Mascara Like • Rangos Between • Listas In • Lógicas And Or Not
Nominales Permanentes Base:Son relaciones reales que tienen nombre y forman parte directa de la base de datos almacenada. Vista:También denominadas relaciones virtuales, son relaciones con nombre y derivadas: se representan mediante su definición en términos de otras relaciones con nombre, no poseen datos almacenados propios. Instancia:Son relaciones con nombre y derivadas. Pero a diferencia de las vistas, son reales, no virtuales. Temporales Autónoma Vista Instancia Sin Nombre Temporales