Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Alumno: Michel Jared Castro Bravo // Bloque: FC – SMVINF03A1T // Universidad San Ignacio de Loyola
Desde el surgimiento de los primeros computadores hasta los sistemas informáticos modernos se han
empleado fundamentos matemáticos en el modelamiento, diseño y desarrollo de los mismos. Un ejemplo claro
es la utilización de grafos para distintos tipos de estructuras de datos (arboles B, B+, B*, etc) o el procesamiento
de circuitos lógicos (secuenciales y no secuenciales) fundamentado en el álgebra Booleana. Al igual que este
último, existen casos en los que es necesario el empleo (o la creación) de un sistema de operaciones distinto al
álgebra convencional para brindar un soporte teórico a la solución de problemas en la vida real. Este es el caso
del Álgebra Relacional, en el cual se fundamentan los códigos de consulta en SQL/DML de la mayoría de bases
de datos relacionales, sin contar el empleo del cálculo relacional para las otras.
En este trabajo se explicará el uso del álgebra relacional en el lenguaje de Manipulación de bases de
datos relacionales, tomando en cuenta, previamente, las definiciones pertinentes.
Según C.J. Date, una base de datos es un conjunto de datos persistentes utilizado por los
sistemas de aplicación de una determinada empresa1, tomando por “datos persistentes” aquellos
que, una vez ingresados al sistema, solo pueden removerse por una solicitud explícita a la BD
(perduran en el sistema y no son efímeros). De manera panorámica, se puede afirmar que las BD son
sistemas de almacenamiento (o colección) de datos. Sin embargo, cabe resaltar la existencia de un
sistema previo a éstos: el Sistema de Archivos (SA), los cuales surgieron a raíz de la necesidad de
almacenamiento de información para su correspondiente reutilización2.
Tanto el SA como las BD tienen por objetivo la persistencia de datos. Sin embargo, en el SA se
presentaban diversos problemas con respecto a la consistencia de los datos: redundancia, alto costo
para la propagación de cambios, aislamiento de datos, etc. Las bases de datos surgieron por la
necesidad de solucionar las debilidades de los sistemas de archivos. Para esto, con el objetivo de
mantener la integridad de los datos, los Sistemas de Gestión de Bases de Datos (SGBD) deben
cumplir cuatro propiedades fundamentales:
1
Date, C.J. (2001) Introducción a los sistemas de Bases de datos (p.10). Pearson: Mexico.
2
USIL (). Conceptos básicos de Bases de datos. Extraído de: Link no disponible.
Los SGBD comerciales más comunes suelen emplear BD basadas en el modelo de datos
relacional, el cual consiste en que los datos son visualizados en tablas y solamente en tablas
(llamadas formalmente “relaciones”).
El almacenamiento de datos en las BDR está basado en la teoría de conjuntos, tomando a cada
tabla como un conjunto y cada registro (fila o tupla) como un elemento perteneciente a los mismos.
Para crear, manipular (introducir datos o modificar vistas) y controlar el acceso a dichas tablas se
emplea un lenguaje estándar denominado Structured Query Language (SQL, “Lenguaje Estructurado
de Consultas”)3, compuesto por 3 lenguajes para cada objetivo mencionado anteriormente:
- Data Definition Language (DDL): Utilizado para crear, eliminar y modificar tablas (incluyendo
las restricciones necesarias). Las tres sentencias básicas son: CREATE, ALTER y DROP.
- Data Manipulation Language (DML): Las sentencias en DML trabajan a nivel de datos y son
utilizadas para insertar, modificar, recuperar y eliminar los mismos. Sus tres sentencias
básicas son: INSERT, UPDATE, DELETE, SELECT.
- Data Control Language (DCL): Se utilizan sentencias DCL para modificar los permisos de
acceso y creación de elementos a un usuario o rol de la base de datos. Las sentencias
principales son: GRANT (otorga permisos), REVOKE (revoca permisos) y DENY (deniega la
herencia de permisos a una entidad de seguridad).
2. Algebra relacional:
3
Silberschatz, A (2002) Fundamentos de Bases de Datos. Mc Graw Hill: España.
4
Costal, D. El modelo relacional y el, Algebra Relacional. UOC. Recuperado de
https://books.google.com.pe/books?id=pEkTzCIYWaAC&printsec=frontcover&hl=es#v=onepage&q&f=false
Operadores del álgebra relacional:
1. Selección: Recibe como valor de entrada una relación (es un operador monario) y permite
restringir las tuplas (filas o registros) para la nueva relación. Se representa con el símbolo
sigma (“σ”). Su sintaxis es la siguiente: σcondición(tabla).
2. Proyección: Al igual que el operador selección, es un operador monario, con la diferencia de
que trabaja a nivel de campos o atributos. Se representa con el símbolo pi (“π”). Sintaxis:
πcampos(tabla).
3. Unión: Reúne los registros de dos tablas con el mismo número y tipo de atributos y los
muestra en una sola tabla. Actúa como la unión de conjuntos. Sintaxis: tabla1 ∪ tabla2.
4. Intersección: Retorna una relación con los registros comunes en 2 tablas distintas. Sintaxis:
tabla1 ∩ tabla2.
5. Diferencia: Retorna una relación con los elementos de una relación A que no pertenecen a la
relación B. Sintaxis: A – B
6. Producto cartesiano: Combina los elementos de 2 tablas distintas y las retorna en una nueva
relación. Sintaxis: A X B.
7. Concatenación natural: Combina información de dos tablas que comparten un atributo en
común5. Sintaxis: A * B.
8. División: Retorna una tabla con los valores de la tabla A cuyo campo X coincide con todos los
valores del campo X de la tabla B. En la práctica (DML) se compone por sentencias anidadas.
Sintaxis: A ÷ B.
5
Gomez, Martinez, Moreda, et. al. Bases de Datos 1. Dpto de lenguajes y sistemas informáticos. Universidad de Alicante.
- INTERSECT operador intersección:
R4 -> 𝜋 (TABLA1 ∩ TABLA2)
Es equivalente a: SELECT * FROM tabla1 INTERSECT SELECT * FROM tabla2
El producto cartesiano combina todos los elementos de la taba1 con todos los
elementos de la tabla2 sin discriminar campo en común. Si se desea que la sentencia actúe
como un JOIN NATURAL, se debe restringir la igualdad de campos: