Algebra relacional
Carlos E. Cuesta. Departamento de Inform´tica (ATC, CCIA, LSI) a
´ El lenguaje del Algebra Relacional consta de seis operadores b´sicos, tres binarios y tres monaa rios: la uni´n (R ∪ S), la diferencia (R − S), el producto cartesiano (R × S), la proyecci´n o o (πX (R)), la selecci´n (σF (R)) y el renombrado (ρX (R)). Codd demostr´ que este ´lgebrao o a –es decir, este conjunto de operadores– es relacionalmente completo, lo que significa que cualquier acceso a la informaci´n contenida en una Base de Datos Relacional puede ser expresado o mediante una combinaci´n de dichos operadores. o Sin embargo, estos operadores no expresan directamente una serie de operaciones habituales en los procesos de consulta. Dada su frecuencia, resulta rentabledefinir operadores espec´ ıficos para dichas operaciones, de modo que se puedan utilizar como si fueran primitivos. Por supuestos, estos nuevos operadores pueden ser especificados a partir de los b´sicos (debido precisamente a a la completud relacional de los mismos), por lo que reciben el nombre de operadores derivados. Todos ellos son binarios, y se describen brevemente a continuaci´n. oIntersecci´n o
Es el m´s sencillo e inmediato. Se representa con la sintaxis R ∩ S. Su sem´ntica es an´loga a a a a la del operador hom´nimo de la Teor´ de Conjuntos. Es decir, para dos relaciones R y S o ıa del mismo grado y con los mismos atributos, devuelve el conjunto de tuplas comunes a ambas relaciones. Su descripci´n en funci´n de los operadores b´sicos es inmediata: o o a R ∩ S ≡ R − (R − S) ≡ S− (S − R) Intuitivamente equivale a la operaci´n que extrae todas las tuplas comunes a dos relacioo nes dadas, an´loga por tanto a una conjunci´n l´gica (∧). a o o
Cociente
´ Es el m´s complejo, pero tambi´n el m´s potente de los operadores del Algebra Relacional. Se a e a expresa mediante la sintaxis A ÷ B, notaci´n tradicionalmente asociada al cociente aritm´tico. o e De hecho, al igual queocurre en el dominio de los n´meros, el cociente ser´ la operaci´n inversa u a o al producto (cartesiano), aunque la correspondencia no resulta obvia a primera vista. La operaci´n se define para dos relaciones R y S, de grados r y s respectivamente, tales que o r > s; y donde se cumple adem´s que S = ∅. En tal caso, se dice que el cociente est´ definido, a a 1
esto es, que R es divisible entreS 1 . Entonces, el cociente T de esas dos relaciones (T = R÷S) es el conjunto de las tuplas t de grado (r − s), tales que para toda tupla u de S, la tupla compuesta t, u est´ en R. Es decir: a T = R ÷ S; t ∈ T ⇐⇒ ∀ u ∈ S : t, u ∈ R En resumen, T (“el cociente”) es una relaci´n consistente en una serie de tuplas que re´nen o u lo que les falta a las tuplas de S (“el divisor”) para obtener algunastuplas que estaban originalmente en R (“el dividendo”). M´s exactamente, cada tupla t de T contiene informaci´n que a o complementa a todas las tuplas de S de modo que, combinadas, expresan parte de la informaci´n o de R. El matiz indicado por el uso del cuantificador universal (∀) en la expresi´n anterior resulta o fundamental: significa que para que cierta tupla-cociente t est´ en T , lainformaci´n que ´sta e o e contiene ha de aparecer en tantas tuplas-dividendo (de R) como tuplas-divisor haya en S. Como se ha dicho, el cociente y el producto cartesiano son operaciones inversas, aunque no hay una correspondencia total entre ellas. Esto se debe al hecho de que al realizarse el cociente se pierde informaci´n, y por tanto la reversibilidad. En primer lugar, cualquier tupla de R cuya o “mitadderecha” no coincida con ninguna tupla de S es ignorada por completo. Pero m´s a´n, si a u en R existen tuplas cuya “mitad derecha” coincide con alguna tupla de S, pero no con todas, tampoco ´stas son mencionadas en T 2 . Sin embargo, estas aparentes “p´rdidas” de e e datos son necesarias, ya que en realidad esta informaci´n no es relevante y conservarla provocar´ o ıa la generaci´n de...
Regístrate para leer el documento completo.