Tema Extra. Algebra Relacional
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 Control | Nombre | Carrera | |
| 1966 | Salma Hayek | ISC | shayek@tectijuana.com |
| 1969 | Renée Zellweger | INF | rzellweger@tectijuana.com |
| 1946 | Susan Sarandon | Admon | ssarandon@tectijuana.com |
| 1961 | Meg Ryan | CONT | mryan@tectijuana.com |
- Alumnos2
| Control | Nombre | Carrera | |
| 1959 | Sean Penn | ISC | spenn@tectijuana.com |
| 1930 | Sean Connery | IQ | sconnery@tectijuana.com |
| 1960 | Kenneth Branagh | ARQ | kbranagh@tectijuana.com |
| 1964 | Nicolas Cage | ISC | ncage@tectijuana.com |
- Alumnos3
| Control | Nombre | Carrera | |
| 1966 | Salma Hayek | ISC | shayek@tectijuana.com |
| 1969 | Renée Zellweger | INF | rzellweger@tectijuana.com |
| 1930 | Sean Connery | IQ | sconnery@tectijuana.com |
| 1960 | Kenneth Branagh | ARQ | kbranagh@tectijuana.com |
- Materias
| Serie | Curso | Departamento | Horario | Salón |
| 3w1A | Matemáticas Computación | SC | 8:00–9:00 | 501 |
| 5w1A | Física I | CB | 9:00–10:00 | 502 |
| 7w1A | Ética | CEA | 10:00–11:oo | 501 |
| 1w1A | Matemáticas I | CB | 11:00–12:00 | 502 |
- Inscripción1
| Serie | Control |
| 3w1A | 1960 |
| 3w1A | 1969 |
| 1w1A | 1960 |
| 1w1A | 1959 |
| 5w1A | 1966 |
| 7w1A | 1964 |
- Inscripción2
| Serie | Control |
| 3w1A | 1960 |
| 3w1A | 1969 |
- Inscripción3
| Serie | Control |
| 1w1A | 1960 |
| 1w1A | 1959 |
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
| Control | Nombre | Carrera | |
| 1966 | Salma Hayek | ISC | shayek@tectijuana.com |
| 1969 | Renée Zellweger | INF | rzellweger@tectijuana.com |
| 1946 | Susan Sarandon | Admon | ssarandon@tectijuana.com |
| 1961 | Meg Ryan | CONT | mryan@tectijuana.com |
| 1930 | Sean Connery | IQ | sconnery@tectijuana.com |
| 1960 | Kenneth Branagh | ARQ | kbranagh@tectijuana.com |
- Alumnos2 ∪ Alumnos3
| Control | Nombre | Carrera | |
| 1959 | Sean Penn | ISC | spenn@tectijuana.com |
| 1930 | Sean Connery | IQ | sconnery@tectijuana.com |
| 1960 | Kenneth Branagh | ARQ | kbranagh@tectijuana.com |
| 1964 | Nicolas Cage | ISC | ncage@tectijuana.com |
| 1966 | Salma Hayek | ISC | shayek@tectijuana.com |
| 1969 | Renée Zellweger | INF | rzellweger@tectijuana.com |
- Alumnos1 ∩ Alumnos3
| Control | Nombre | Carrera | |
| 1966 | Salma Hayek | ISC | shayek@tectijuana.com |
| 1969 | Renée Zellweger | INF | rzellweger@tectijuana.com |
- Alumnos2 ∩ Alumnos3
| Control | Nombre | Carrera | |
| 1930 | Sean Connery | IQ | sconnery@tectijuana.com |
| 1960 | Kenneth Branagh | ARQ | kbranagh@tectijuana.com |
Alumnos1 ∩ Alumnos2 = { }, Conjunto Vacío
- Alumnos1 - Alumnos3
| Control | Nombre | Carrera | |
| 1946 | Susan Sarandon | Admon | ssarandon@tectijuana.com |
| 1961 | Meg Ryan | CONT | mryan@tectijuana.com |
- Alumnos2 - Alumnos3
| Control | Nombre | Carrera | |
| 1959 | Sean Penn | ISC | spenn@tectijuana.com |
| 1964 | Nicolas Cage | ISC | ncage@tectijuana.com |
- Alumnos1 Δ Alumnos3
| Control | Nombre | Carrera | |
| 1946 | Susan Sarandon | Admon | ssarandon@tectijuana.com |
| 1961 | Meg Ryan | CONT | mryan@tectijuana.com |
| 1930 | Sean Connery | IQ | sconnery@tectijuana.com |
| 1960 | Kenneth Branagh | ARQ | kbranagh@tectijuana.com |
Producto Cartesiano
- Alumnos1 x Inscripción2
| Control | Nombre | Carrera | Serie | Control | |
| 1966 | Salma Hayek | ISC | shayek@tectijuana.com | 3w1A | 1960 |
| 1966 | Salma Hayek | ISC | shayek@tectijuana.com | 3w1A | 1969 |
| 1969 | Renée Zellweger | INF | rzellweger@tectijuana.com | 3w1A | 1960 |
| 1969 | Renée Zellweger | INF | rzellweger@tectijuana.com | 3w1A | 1969 |
| 1946 | Susan Sarandon | Admon | ssarandon@tectijuana.com | 3w1A | 1960 |
| 1946 | Susan Sarandon | Admon | ssarandon@tectijuana.com | 3w1A | 1969 |
| 1961 | Meg Ryan | CONT | mryan@tectijuana.com | 3w1A | 1960 |
| 1961 | Meg Ryan | CONT | mryan@tectijuana.com | 3w1A | 1969 |
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)
| Control | Nombre |
| 1959 | Sean Penn |
| 1930 | Sean Connery |
| 1960 | Kenneth Branagh |
| 1964 | Nicolas 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)
| Control | Nombre | Carrera | Serie | |
| 1969 | Renée Zellweger | INF | rzellweger@tectijuana.com | 3w1A |
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
| Control | Nombre | Carrera | Serie | |
| 1959 | Sean Penn | ISC | spenn@tectijuana.com | 1w1A |
| 1960 | Kenneth Branagh | ARQ | kbranagh@tectijuana.com | 3w1A |
| 1960 | Kenneth Branagh | ARQ | kbranagh@tectijuana.com | 1w1A |
| 1964 | Nicolas Cage | ISC | ncage@tectijuana.com | 7w1A |
| Referencias: | ||
| Traducción realizada por José Alberto Magana Hernandez de: http://en.wikipedia.org/wiki/Relational_algebra | Contacto: alberto-magana@hotmail.com
| |
| 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 |
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.


