BD 2do Parcial - Algebra relacional.pdf

Full Transcript

Algebra relacional y Normalización La normalización es un proceso en la teoría de bases de datos que organiza las estructuras de datos en una base de datos para reducir la redundancia y mejorar la integridad de los datos. Este proceso implica dividir una base de...

Algebra relacional y Normalización La normalización es un proceso en la teoría de bases de datos que organiza las estructuras de datos en una base de datos para reducir la redundancia y mejorar la integridad de los datos. Este proceso implica dividir una base de datos en tablas más pequeñas y definir relaciones entre ellas. El objetivo principal es asegurar que cada pieza de información solo se almacene una vez, lo que reduce la redundancia y facilita la gestión de los datos. 1FN – 1º FORMA NORMAL: La primera etapa del proceso de normalización, primera forma normal (1FN), incluye la eliminación de grupos repetitivos y la identificación de la clave principal de una relación, entendiéndose por tal a aquel o aquellos elementos de datos que identifica una y sólo una ocurrencia de la relación. FN–2o FORMA NORMAL El análisis de la segunda forma normal (2FN) parte de suponer que se cumple con 1FN y consiste en verificar, en aquellas relaciones cuya clave principal sea compuesta, si hay datos de relación biunívoca con parte de la clave mencionada (Dependencia Funcional Parcial). Se entiende por relación biunívoca los casos en que, si el dato clave varía hacia un determinado valor, al otro/otros datos en análisis, le corresponde siempre el mismo valor. 3º FORMA NORMAL La tercera forma normal (3FN) parte de suponer que se cumple con 2FN, y consiste en analizar las relaciones para determinar si existe alguna o algunas relaciones biunívocas entre algunos elementos de datos de las mismas, con otro u otros elementos de la relación que no forman parte de la clave principal (Dependencia Funcional Transitiva). Algebra Relacional: Para especificar una consulta en álgebra relacional (inspirada en la teoría de conjuntos), hay que definir uno o más pasos para construir, mediante operaciones de álgebra relacional, una nueva relación con los datos que responden a la consulta a partir de las relaciones almacenadas. Los lenguajes basados en el álgebra relacional son procedimentales, dado que los pasos que forman la consulta describen un procedimiento. Tanto los operandos como el resultado son relaciones, esta propiedad se denomina cierre relacional. El resultado de una operación puede actuar como operando de otra operación. El resultado de una operación cumplirá todas las características que ya conocemos de las relaciones: no-ordenación de las tuplas, ausencia de tuplas repetidas, etc. Clasificación de operaciones: Según se pueden expresar o no en términos de otras operaciones o Primitivas: son aquellas operaciones a partir de las cuales podemos definir el resto. ▪ Unión ▪ Diferencia ▪ Producto Cartesiano ▪ Selección ▪ Proyección o No primitivas: no son necesarias, aunque pueden expresarse en términos de las primitivas permiten formular consultas de forma más cómoda. ▪ Intersección ▪ Combinación ▪ División Según el número de relaciones o Unarias: una sola relación como operando. ▪ Selección ▪ Proyección o Binarias: tienen dos relaciones como operando ▪ Todo el resto Según su parecido a la teoría de conjuntos o Conjuntistas: ▪ Unión ▪ Intersección ▪ Diferencia ▪ Producto cartesiano. o Específicamente relacionales ▪ Selección ▪ Proyección ▪ Combinación ▪ División Operaciones: Asignar: = establece el nombre de la relación Redenominar: → ← Selección: σ sirve para elegir algunas tuplas (que quiero seleccionar, no mostrar) Proyección: π la proyección es una operación que, a partir de una relación, obtiene una nueva relación formada por todas las (sub)tuplas de la relación de partida que resultan de eliminar unos atributos especificados. Noten que la proyección elimina implícitamente todas las tuplas repetidas. El resultado de una proyección es una relación válida y no puede tener repeticiones de tuplas. EJ: Obtener el número y la categoría de los proveedores residentes en Rosario. R1 = σ CIUDAD='Rosario' PROVEEDORES (selecciono aquellos casos donde la ciudad es rosario) π NPROV, CATEGORIA R1 (MUESTRO) Condición: C θ Unión: ∪ es una operación que, a partir de dos relaciones, obtiene una nueva relación formada por todas las tuplas que están en alguna de las relaciones de partida. Intersección: ∩ es una operación que, a partir de dos relaciones, obtiene una nueva relación formada por las tuplas que pertenecen a las dos relaciones de partida. Los atributos del esquema de la relación resultante de T ∩ S coinciden con los atributos del esquema de la relación T. La extensión de la relación resultante de T ∩ S es el conjunto de tuplas que pertenecen a la extensión de ambas relaciones. Diferencia: es una operación que, a partir de dos relaciones, obtiene una nueva relación formada por todas las tuplas que están en la primera relación y no están en la segunda. Los atributos del esquema de la relación resultante de T – S coinciden con los atributos del esquema de la relación T. La extensión de la relación resultante de T – S es el conjunto de tuplas que pertenecen a la extensión de T, pero no a la de S. Producto Cartesiano: es una operación que, a partir de dos relaciones, obtiene una nueva relación formada por todas las tuplas que resultan de concatenar tuplas de la primera relación con tuplas de la segunda. Siendo T y S dos relaciones que cumplen que sus esquemas no tienen ningún nombre de atributo común, el producto cartesiano de T y S se indica como T x S Combinación: es una operación que, a partir de dos relaciones, se obtiene una nueva relación formada por todas las tuplas que resultan de concadenar tuplas de la primera relación con tuplas de la segunda, y que cumplen una condición de combinación especificada. Siendo T y S dos relaciones cuyos esquemas no tienen ningún nombre de atributo común, y siendo B una condición de combinación, la combinación de T y S según la condición B se indica Los atributos del esquema de la relación resultante de T ⨝ B S son todos los atributos de T y todos los atributos de S. La extensión de la relación resultante de T ⨝ B S es el conjunto de tuplas que pertenecen a la extensión del producto cartesiano T x S y que satisfacen todas las comparaciones que forman la condición de combinación B. Una tupla t satisface una comparación si, después de sustituir cada atributo que figura en la comparación por su valor en t, la comparación se evalúa al valor cierto (recuerden que T y S no tienen ningún nombre de atributo común). Equicombinación: la combinación recibe el nombre de θ -combinación, y cuando todas las comparaciones de la condición de la combinación tienen el operador “=”, se denomina equicombinación. La combinación natural de dos relaciones T y S se denota como T ⨝ S y consiste básicamente en una equicombinación seguida de la eliminación de los atributos superfluos; además, se considera por defecto que la condición de combinación iguala todas las parejas de atributos que tienen el mismo nombre en T y en S. Observen que, a diferencia de la equicombinación, la combinación natural se aplica a relaciones que tienen nombres de atributos comunes. División: sean r(R) y s(S) relaciones y S ⊂ R; es decir, todos los atributos del esquema S están también en el esquema R. La relación r ÷ s es una relación del esquema R - S (es decir, del esquema que contiene todos los atributos del esquema R que no están en el esquema S). La operación división, denotada por ÷, resulta adecuada para las consultas que incluyen la expresión “para todos”. Una tupla t está en r ÷ s si y sólo si se cumplen estas dos condiciones: 1. t está en π R-S (r) 2. Para cada tupla ts de s hay una tupla tr de r que cumple las dos condiciones siguientes: a. tr [S] = ts[S] b. tr [R - S] = t Secuencias de operaciones: En muchos casos, para formular una consulta en álgebra relacional es preciso utilizar varias operaciones, que se aplican en un cierto orden. Para hacerlo, hay dos posibilidades: Utilizar una sola expresión del álgebra que incluya todas las operaciones con los paréntesis necesarios para indicar el orden de aplicación. Descomponer la expresión en varios pasos donde cada paso aplique una sola operación y obtenga una relación intermedia que se pueda utilizar en los pasos subsiguientes.

Use Quizgecko on...
Browser
Browser