Algebra Relacional

Algebra Relacional

! Tema Extra. Algebra Relacional

Una aplicación muy importante del concepto de relación y de la lógica de predicados es la de Bases de Datos Relacionales. El modelo relacional para las bases de datos nació en 1969 y fue creada por el investigador Edgar Frank Codd cuando trabajaba para IBM; y se dió a conocer en 1970 en un artículo llamado “A Relational Model of Data for Large Shared Data Banks” en la revista Communications of the ACM(Vol. 13, No. 6, Junio de 1970, pp. 377–87).

Edgar Codds

A partir de ese momento poco a poco fue cambiando la forma de establecer las bases de datos y en la actualidad la mayoría del software de bases de datos utiliza este modelo.

Un tuplo es una lista ordenada de elementos, ver Par Ordenado.

Una relación es un conjunto de tuplos.


Nota: Esta es una extensión del concepto de relación que vimos en el tema 2 Relaciones introducción, podemos considerar el producto cartesiano de varios conjuntos A1 X A2 X … X An formado por los tuplos (a1, a2, …,an) donde cada elemento ai ∈ Ai.

La información para formar una base de datos se agrupa en relaciones, la primera regla de las bases de datos relacionales es que la información debe estar representada en forma única en relaciones o más fácilmente en tablas.

Los renglones de la tabla son los tuplos. Las columnas son los atributos. Un conjunto de tablas forma una Base de Datos.

A una relación o tabla también se le llama entidad, a un tuplo o renglón se le llama record y a una columna o atributo se le llama campo. Estos nombres vienen de que anterior al modelo relacional había varias formas de caracterizar las bases de datos, uno de ellos el llamado Entidad-relación.

Con el modelo relacional, las bases de datos vienen a ser algo muy simple de entender y de representar, y lo más importante es que tiene un fundamento matemático sólido.

A continuación presentamos un ejemplo de una base de datos mediante varias tablas.

Alumnos1
N. de ControlNombreCarreraEmail
1966Salma HayekISCshayek@tectijuana.com
1969Renée ZellwegerINFrzellweger@tectijuana.com
1946Susan SarandonAdmonssarandon@tectijuana.com
1961Meg RyanCONTmryan@tectijuana.com


Alumnos2
ControlNombreCarreraEmail
1959Sean PennISCspenn@tectijuana.com
1930Sean ConneryIQsconnery@tectijuana.com
1960Kenneth BranaghARQkbranagh@tectijuana.com
1964Nicolas CageISCncage@tectijuana.com


Alumnos3
ControlNombreCarreraEmail
1966Salma HayekISCshayek@tectijuana.com
1969Renée ZellwegerINFrzellweger@tectijuana.com
1930Sean ConneryIQsconnery@tectijuana.com
1960Kenneth BranaghARQkbranagh@tectijuana.com


Materias
SerieCursoDepartamentoHorarioSalón
3w1AMatemáticas ComputaciónSC8:00–9:00501
5w1AFísica ICB9:00–10:00502
7w1AÉticaCEA10:00–11:oo501
1w1AMatemáticas ICB11:00–12:00502


Inscripción1
SerieControl
3w1A1960
3w1A1969
1w1A1960
1w1A1959
5w1A1966
7w1A1964


Inscripción2
SerieControl
3w1A1960
3w1A1969


Inscripción3
SerieControl
1w1A1960
1w1A1959

Con las relaciones (tablas), podemos hacer varias operaciones, empezaremos por las operaciones de conjuntos. Estas son posibles pues una relación es un conjunto de tuplos.

Unión La unión de dos relaciones está formada por todos los tuplos que estén en cualesquiera de las dos relaciones; o sea, los que están en la primera relación o en la segunda

A ∪ B = {t ∈ D : t ∈ A ∨ t ∈ B }

Nota: en este caso el universo D lo representamos así por la palabra dominio y es el conjunto de todos los posibles tuplos.

Intersección La intersección de dos relaciones está formada por todos los tuplos que estén en las dos relaciones; o sea, los que están en la priemra relación y en la regunda

A ∩ B = { t ∈ D : t ∈ A ∧ t ∈ B }

Diferencia La diferencia de dos relaciones está formada por todos los tuplos que estén en las dos relaciones; o sea, los que están en la primera relación y en la segunda
A - B = { t ∈ D : t ∈ A ∧ t ∉ B }

Diferencia simétrica La diferencia simétrica de dos relaciones consta de todos los elementos que estén en las dos relaciones quitando los comunes; o sea, los que están en la primera relación y no estén en la segunda o que están en la segunda y no están en la primera.

A Δ B = { t in D : (t ∈ A ∧ t ∉ B) ∨ (t ∈ B ∧ t ∉ A) } $}

Producto Cartesiano El producto cartesiano de dos relaciones está formada por todos los tuplos compuestos de la forma (t1, t2) tal que t1 esté en la primera relación y t2 esté en la segunda.

A X B = { (t1, t2) : t1 ∈ A ∧ t2 ∈ B }


Ejemplos

Alumnos1 ∪ Alumnos3
ControlNombreCarreraEmail
1966Salma HayekISCshayek@tectijuana.com
1969Renée ZellwegerINFrzellweger@tectijuana.com
1946Susan SarandonAdmonssarandon@tectijuana.com
1961Meg RyanCONTmryan@tectijuana.com
1930Sean ConneryIQsconnery@tectijuana.com
1960Kenneth BranaghARQkbranagh@tectijuana.com


Alumnos2 ∪ Alumnos3
ControlNombreCarreraEmail
1959Sean PennISCspenn@tectijuana.com
1930Sean ConneryIQsconnery@tectijuana.com
1960Kenneth BranaghARQkbranagh@tectijuana.com
1964Nicolas CageISCncage@tectijuana.com
1966Salma HayekISCshayek@tectijuana.com
1969Renée ZellwegerINFrzellweger@tectijuana.com


Alumnos1 ∩ Alumnos3
ControlNombreCarreraEmail
1966Salma HayekISCshayek@tectijuana.com
1969Renée ZellwegerINFrzellweger@tectijuana.com


Alumnos2 ∩ Alumnos3
ControlNombreCarreraEmail
1930Sean ConneryIQsconnery@tectijuana.com
1960Kenneth BranaghARQkbranagh@tectijuana.com

Alumnos1 ∩ Alumnos2 = { }, Conjunto Vacío


Alumnos1 - Alumnos3
ControlNombreCarreraEmail
1946Susan SarandonAdmonssarandon@tectijuana.com
1961Meg RyanCONTmryan@tectijuana.com


Alumnos2 - Alumnos3
ControlNombreCarreraEmail
1959Sean PennISCspenn@tectijuana.com
1964Nicolas CageISCncage@tectijuana.com


Alumnos1 Δ Alumnos3
ControlNombreCarreraEmail
1946Susan SarandonAdmonssarandon@tectijuana.com
1961Meg RyanCONTmryan@tectijuana.com
1930Sean ConneryIQsconnery@tectijuana.com
1960Kenneth BranaghARQkbranagh@tectijuana.com


Producto Cartesiano

Alumnos1 x Inscripción2
ControlNombreCarreraEmailSerieControl
1966Salma HayekISCshayek@tectijuana.com3w1A1960
1966Salma HayekISCshayek@tectijuana.com3w1A1969
1969Renée ZellwegerINFrzellweger@tectijuana.com3w1A1960
1969Renée ZellwegerINFrzellweger@tectijuana.com3w1A1969
1946Susan SarandonAdmonssarandon@tectijuana.com3w1A1960
1946Susan SarandonAdmonssarandon@tectijuana.com3w1A1969
1961Meg RyanCONTmryan@tectijuana.com3w1A1960
1961Meg RyanCONTmryan@tectijuana.com3w1A1969

Aparte de las operaciones de conjuntos, tenemos operaciones propias de las bases de datos, éstas son:

Selección (SELECT): El operador selección se aplica a una relación sola y se obtiene al eliminar algunos de los tuplos. Técnicamente una selección es un subconjunto de la relación.

Como ejemplo vemos que las relaciones Inscripción2 e Inscripción3 se obtienen, cada una de ellas, como resultado de una selección aplicada a Inscripción1.

Proyección (PROJECT): Una proyección tambié se obtiene a partir de una relación, en este caso quitando algunos campos (atributos o columnas).

Proj(Alumnos2: Control, Nombre)
ControlNombre
1959Sean Penn
1930Sean Connery
1960Kenneth Branagh
1964Nicolas Cage

Combinación (JOIN) La combinación de dos relaciones se obtiene mediante una selección y una proyección a partir del producto cartesiano de las dos tablas, que tengan algún atributo en común; quitando los tuplos (renglones) donde el atributo común no sea igual y eliminando atributos duplicados.

Join(Alumnos1,Inscripción2 | Alumnos1.Control = Inscripción2.Control)
ControlNombreCarreraEmailSerie
1969Renée ZellwegerINFrzellweger@tectijuana.com3w1A


Vemos que en la tabla aparece solamente Renée Zellweger porque es el único tuplo con número de control igual.


Join(Alumnos2,Inscripción1 | Alumnos2.Control = Inscripción1.Control
ControlNombreCarreraEmailSerie
1959Sean PennISCspenn@tectijuana.com1w1A
1960Kenneth BranaghARQkbranagh@tectijuana.com3w1A
1960Kenneth BranaghARQkbranagh@tectijuana.com1w1A
1964Nicolas CageISCncage@tectijuana.com7w1A
Referencias: 
Traducción realizada por José Alberto Magana Hernandez de: http://en.wikipedia.org/wiki/Relational_algebraContacto: alberto-magana@hotmail.com Skype Me™!  
Información de Mat. Luis Alberto Lomelí Beherendt http://albertolomeli.com/Contacto: albertolomeli@hotmail.com
Presentacion de Carlos Castillo - UPF


Tema Anterior: 2.6 Diagramas de Hasse
Regresar al TEMARIO: Matematicas Computacion



Mis sitios nuevos:
Emprendedores
Politica de Privacidad