Modelo Relacional PDF
Modelo Relacional PDF
Modelo Relacional PDF
- Independencia física: Los usuarios no tienen que modificar sus programas por
cambios físicos de los datos
- Independencia lógica: es decir, añadir, borrar, modificar objetos en la base de datos
no tiene que afectar a los programas/usuarios que hagan uso de vistas de las BD.
- Flexibilidad: en el sentido de que al usuario debe presentársele los datos como el
desea.
- Uniformidad: Las estructuras lógicas de los datos tienen un aspecto uniforme, lo que
facilita la concepción y manipulación de BD para los usuarios.
- Sencillez: es un modelo mucho más sencillo y fácil de manejar.
GENERALIDADES
Sean D1 , D2 ,..., Dn conjuntos. Llamaremos producto cartesiano D1 xD2 x... xDn al
conjunto de tuplas d1 , d 2 ,..., d n tal que d1 D1 , d 2 D2 ,..., d n Dn . Es decir:
i 1
CONCEPTO DE RELACION
n
Una relación R es un conjunto de producto cartesiano D
i 1
i
n
R Di
i 1
Pag. 1
El cardinal de de la relación R es el número de tuplas que tiene y toma el
nombre de extensión de R y se escribe Ext(R) = m.
El producto mn que nos da el número total de valores que toma la
relación se llama Tamaño de R y se escribe con Tam(R) = mn.
Una base de datos es un conjunto de relaciones.
Ejemplo
La entidad Alumno puede ser descrita en términos de los atributos Código,
Apellido, Nombre, Sexo, Teléfono.
Los dominios Di son conjuntos de valores posibles que toman los atributos de
una entidad. A los atributos también se le llama Campos.
Para el caso que describimos, tenemos los dominios.
DCódigo , DApellido , DNombre , DSexo y DTeléfono
Pag. 2
3.2 ÁLGEBRA RELACIONAL: Dinámica del modelo relacional
Vamos a definir dos conceptos que serán útiles para la definición de las operaciones
del álgebra relacional: dependencia relacional y relaciones compatibles:
Pag. 3
Relacionales: Permutación, Selección, Proyección, Combinación, Composición,
División, Producto natural.
Especiales: Renombramiento, Asignación, Alias.
Adicionales: Agrupación, Cierre transitivo.
Con valores nulos: Combinación externa, Combinación posible.
De manipulación: Inserción, Eliminación, Modificación.
Operaciones conjuntistas.
A. Unión (Union).- Sean las relaciones R y S compatibles. Se llama unión
de R y S a la relación:
R S t / t R t S
Es decir para que una tupla esté en la unión, es suficiente que esté en una
de las relaciones R ó S. La unión lo forman las tuplas de ambas relaciones.
R S ( R S ) \ ( S R)
Es decir para que una tupla esté en la suma, debe estar en una de las
diferencias R\S ó S\R. Equivalentemente, debe estar en la reunión , pero
no en la intersección.
Pag. 4
Ejemplo:
Sean las tablas:
Alumno1
Código Apellido Nombre Sexo
02-23267 LOZA CHAMBILLA Yanet Roxana .F.
02-23273 SALAZAR VENTURA Romina Laura .F.
02-23298 CHOQUE CONDORI Evert Willier .T.
02-23302 QUISPE CONDORI Juan Pablo .T.
02-23304 LAQUI NINAJA Virginia del Milagro .F.
Alumno2
Código Apellido Nombre Sexo
00-19193 CHURA LOZA Eloy .T.
02-23267 LOZA CHAMBILLA Yanet Roxana .F.
02-23270 CALATAYUD GUTIERREZ Yovana Ruth .F.
02-23273 SALAZAR VENTURA Romina Laura .F.
Entonces tenemos:
Alumno1 Alumno2
Pag. 5
Alumno1 Alumno2
Código Apellido Nombre Sexo
02-23267 LOZA CHAMBILLA Yanet Roxana .F.
02-23273 SALAZAR VENTURA Romina Laura .F.
Alumno1 \ Alumno2
Código Apellido Nombre Sexo
02-23298 CHOQUE CONDORI Evert Willier .T.
02-23302 QUISPE CONDORI Juan Pablo .T.
02-23304 LAQUI NINAJA Virginia del Milagro .F.
Alumno2 \ Alumno1
Código Apellido Nombre Sexo
00-19193 CHURA LOZA Eloy .T.
02-23270 CALATAYUD GUTIERREZ Yovana Ruth .F.
Alumno1 Alumno2
Código Apellido Nombre Sexo
02-23298 CHOQUE CONDORI Evert Willier .T.
02-23302 QUISPE CONDORI Juan Pablo .T.
02-23304 LAQUI NINAJA Virginia del Milagro .F.
00-19193 CHURA LOZA Eloy .T.
02-23270 CALATAYUD GUTIERREZ Yovana Ruth .F.
Es decir las tuplas del producto cartesiano la forman la fusión de las tuplas
de R y S, es decir t , s A A* . La Tabla relación tiene r+s columnas y
Ext(RxS) = rs.
Ejemplo:
Sean las tablas
Pag. 6
CURSO
Serie Curso Horas
BD01 Visual dBase 7 5
BD02 Visual FOXPRO 6 5
BD03 CLIPPER 5.3 6
ALUMNO
Código Apellido Nombre Sexo Edad
00-19193 CHURA LOZA Eloy .T. 19
02-23267 LOZA CHAMBILLA Yanet Roxana .F. 17
02-23270 CALATAYUD GUTIERREZ Yovana Ruth .F. 17
02-23273 SALAZAR VENTURA Romina Laura .F. 17
02-23298 CHOQUE CONDORI Evert Willier .T. 18
02-23302 QUISPE CONDORI Juan Pablo .T. 18
02-23304 LAQUI NINAJA Virginia del Milagro .F. 17
ALUMNO x CURSO
Código Apellido Nombre Sexo Edad Serie Curso Horas
00-19193 CHURA LOZA Eloy .T. 19 BD01 Visual dBase 7 5
00-19193 CHURA LOZA Eloy .T. 19 BD02 Visual FOXPRO 6 5
00-19193 CHURA LOZA Eloy .T. 19 BD03 CLIPPER 5.3 6
02-23267 LOZA CHAMBILLA Yanet Roxana .F. 17 BD01 Visual dBase 7 5
02-23267 LOZA CHAMBILLA Yanet Roxana .F. 17 BD02 Visual FOXPRO 6 5
02-23267 LOZA CHAMBILLA Yanet Roxana .F. 17 BD03 CLIPPER 5.3 6
02-23270 CALATAYUD GUTIERREZ Yovana Ruth .F. 17 BD01 Visual dBase 7 5
02-23270 CALATAYUD GUTIERREZ Yovana Ruth .F. 17 BD02 Visual FOXPRO 6 5
02-23270 CALATAYUD GUTIERREZ Yovana Ruth .F. 17 BD03 CLIPPER 5.3 6
02-23273 SALAZAR VENTURA Romina Laura .F. 17 BD01 Visual dBase 7 5
02-23273 SALAZAR VENTURA Romina Laura .F. 17 BD02 Visual FOXPRO 6 5
02-23273 SALAZAR VENTURA Romina Laura .F. 17 BD03 CLIPPER 5.3 6
02-23298 CHOQUE CONDORI Evert Willier .T. 18 BD01 Visual dBase 7 5
02-23298 CHOQUE CONDORI Evert Willier .T. 18 BD02 Visual FOXPRO 6 5
02-23298 CHOQUE CONDORI Evert Willier .T. 18 BD03 CLIPPER 5.3 6
02-23302 QUISPE CONDORI Juan Pablo .T. 18 BD01 Visual dBase 7 5
02-23302 QUISPE CONDORI Juan Pablo .T. 18 BD02 Visual FOXPRO 6 5
Pag. 7
02-23302 QUISPE CONDORI Juan Pablo .T. 18 BD03 CLIPPER 5.3 6
02-23304 LAQUI NINAJA Virginia del Milagro .F. 17 BD01 Visual dBase 7 5
02-23304 LAQUI NINAJA Virginia del Milagro .F. 17 BD02 Visual FOXPRO 6 5
02-23304 LAQUI NINAJA Virginia del Milagro .F. 17 BD03 CLIPPER 5.3 6
Operaciones Relacionales.
A. Permutación(Permutation).- Es una operación unaria que actúa sobre
una relación R, permutando el orden de los atributos:
Sea una relación R( A1 , A2 ,..., An ) .
Una permutación de R es una relación P( R) R( Ai1 , Ai 2 ,..., Ai n ) R(i1 , i2 ,..., in )
Ejemplo:
Sea la relación Alumno(Código, apellido, Nombre, Sexo, Edad)
Alumno
Código Apellido Nombre Sexo Edad
EC001 COVARRUVIAS PINTO Edgardo .T. 30
KT004 TEMOCHE VERGARA Karina .F. 24
DV008 VILLAFUERTE GAMBOA Diana .F. 22
JC010 CACERES NIEVES Jenny .F. 21
JQ012 QUISPE MALDONADO Juver Hugo .T. 25
JB014 BARAZORDA HINOJOSA Jesús .T. 28
SG015 GARCIA CHIPA Silvia Eugenia .F. 19
VP017 PALOMINO MONTALVO Verónica .F. 18
MT019 TINTAYA AYVAR Marcos .T. 31
KP022 PAZ CHIRINOS Karla Maria .F. 20
Pag. 8
Apellido Nombre Código Edad Sexo
COVARRUVIAS PINTO Edgardo EC001 30 .T.
TEMOCHE VERGARA Karina KT004 24 .F.
VILLAFUERTE GAMBOA Diana DV008 22 .F.
CACERES NIEVES Jenny JC010 21 .F.
QUISPE MALDONADO Juver Hugo JQ012 25 .T.
BARAZORDA HINOJOSA Jesús JB014 28 .T.
GARCIA CHIPA Silvia Eugenia SG015 19 .F.
PALOMINO MONTALVO Verónica VP017 18 .F.
TINTAYA AYVAR Marcos MT019 31 .T.
PAZ CHIRINOS Karla Maria KP022 20 .F.
Sea una relación R( A1 , A2 ,..., An ) y un predicado P(t) con tR. Una selección
de R es un subconjunto:
P ( t ) ( R)
Ejemplos:
Sea la relación
Alumno
Fecha de
Código Apellido Nombre Sexo Estatura Peso Especialidad
nacimiento
EC001 COVARRUVIAS PINTO Edgardo .T. 06/02/73 170 72 PROG
KT004 TEMOCHE VERGARA Karina .F. 20/08/79 172 58 OFIM
DV008 VILLAFUERTE GAMBOA Diana .F. 30/11/81 168 55 OFIM
JC010 CACERES NIEVES Jenny .F. 23/11/82 165 57 ANSI
Pag. 9
JQ012 QUISPE MALDONADO Juver Hugo .T. 28/03/78 167 63 PROG
JB014 BARAZORDA HINOJOSA Jesús .T. 18/06/75 185 82 ANSI
SG015 GARCIA CHIPA Silvia Eugenia .F. 31/05/84 178 58 PROG
VP017 PALOMINO MONTALVO Verónica .F. 28/08/85 163 56 OFIM
MT019 TINTAYA AYVAR Marcos .T. 08/12/72 160 65 ANSI
KP022 PAZ CHIRINOS Karla Maria .F. 28/11/83 167 58 PROG
Pag. 10
Hallar a los alumnos que estudian para programadores menores de 25 años.
Fecha de
Código Apellido Nombre Sexo Estatura Peso Especialidad
nacimiento
SG015 GARCIA CHIPA Silvia Eugenia .F. 31/05/84 178 58 PROG
KP022 PAZ CHIRINOS Karla Maria .F. 28/11/83 167 58 PROG
Hallar los varones que estudian para analistas o mujeres que pesan más de 57
kilos.
Pag. 11
Código, Nombre, Sexo Alumno
Pag. 12
D. Combinación (Join).- Une dos relaciones R y S y crea una nueva relación
en base a una condición que cumplen dos atributos a k R y a l S que
cumplen una condición (generalmente de igualdad).
Nota: Para que exista la operación de Junta es necesario, como puede verse
que las dos relaciones tengan dos atributos con valores comunes y el
resultado es A A* para cada tupla.
Ejemplo:
Sea las relaciones Alumno y Acta, que tienen en común el atributo Código.
Alumno
Pag. 13
Acta
KT004 18 16 16
JC010 14 15 13
SG015 08 09 07
VP017 11 10 10
MT019 13 14 12
LR020 09 08 06
Ejemplo
Tenemos las tablas Alumno y Acta. Vamos a hallar Alumno Acta
Pag. 14
Alumno Acta
Curso
Curso Profesor
C++ Luis RAMIREZ VEGA
Power Builder 7 Johana SANTAMARIA RUIZ
SQL Server 7 Miguel DIAZ VIBAR
Pag. 15
Entonces obtenemos la división de Matrícula entre Curso.
Matrícula Curso
Código Apellido Nombre
EC001 COVARRUVIAS PINTO Edgardo
DV008 VILLAFUERTE GAMBOA Diana
Nota: Como puede verse esta operación es muy útil para simplificar
consultas. En nuestro ejemplo permite encontrar los alumnos que llevan los 3
cursos de la relación Curso.
Ejemplo:
Vamos a encontrar los nombres de los alumnos que estudian y la ciudad en
que viven:
ALUMNO
Código Apellido Nombre Dirección Ciudad
900100 ARIAS COPAJA Gerardo Manuel Lima 234 Moquegua
900411 TORRES CASABLANCA Jesenia María 28 de julio 256 Tacna
900480 ENCALADA ARANDA Patricio Ayacucho 234 Ilo
911060 SUAREZ MARTINEZ Norberto Ugarte 451 Puno
Pag. 16
ESTUDIA
Código Apellido Nombre Dirección
900200 SANCHEZ FUENTES Roberto Carlos UNI
900411 TORRES CASABLANCA Jesenia María UNJBG
900413 ESCALANTE VIVANCO Heldy Patricia UNAS
911060 SUAREZ MARTINEZ Norverto UTA
La operación Producto natural halla primero todas las tuplas del producto
cartesiano ALUMNO x ESTUDIA.
Y obtenemos:
Apellido, Nombre Alumno / x / Estudia
Apellido Nombre
TORRES CASABLANCA Jesenia María
SUAREZ MARTINEZ Norverto
Pag. 17