Está en la página 1de 17

MODELO RELACIONAL

Modelo más usado en la actualidad y se basa en el concepto matemático de relación y


álgebra relacional. Presentado por Edgar Codd, en el artículo “El Modelo Relacional de
Datos para Banco de datos Compartidos”, donde fundamenta las bases del modelo que
ganaría el terreno ocupado por los modelos reticulares y jerárquicos. Propone un
modelo que mantenga la independencia del modelo lógico respecto al almacenamiento
físico. Sus objetivos principales son:

- 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.

3.1 RELACIONES: ESTÁTICA DEL MODELO RELACIONAL

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:

D1 xD2 x... xDn   Di   d1 , d 2 ,..., d n / d i  Di 


n

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

 Los D1 , D2 ,..., Dn se llaman dominios de R que son conjuntos finitos de


valores homogéneos y atómicos (no divisibles)
 n se llama grado de R y se escribe Gra(R) = n.

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.

Alumno = {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

y podemos tener subconjuntos de valores como:

Código = {03-24264, 04-26204, 04-26219}  DCódigo


Apellido = {Cáceres Chamba, Vela Lupaza, Choque Copaja}  D Apellido
Nombre = {Eloy, Hubert, Edgar}  DNombre
Sexo = {M, M, M}  DSexo
Teléfono = {421720, 421629, 423825}  DTeléfono

Alumno = {<03-24264, Cáceres Chamba, Eloy, M, 421720>,


<04-26204, Vela Lupaza, Hubert, M, 421629>,
<04-26219, Choque Copaja, Edgar, M, 423825>}

Hay que observar que el producto cartesiano:


DCódigo x DApellido x DNombre x DSexo x DTeléfono
tendrá 5x5x5 = 125 tuplas
posibles, pero la relación definida sólo tiene 3 tuplas es decir que
Ext(Alumno) = 3. El grado es Gra(Alumno) = 5 y el tamaño Tam(Alumno)
= 3x5 = 15.

Pag. 2
3.2 ÁLGEBRA RELACIONAL: Dinámica del modelo relacional

El aspecto dinámico del modelo relacional esta constituido por un conjunto de


operadores que se aplican a las relaciones para obtener nuevas relaciones
(propiedad de clausura). Sea  una operación aplicada al conjunto de relaciones
Ri  de una esquema relacional  Ri , Vi   entonces:
 R, S  Ri , RS  Ri 

Vamos a definir dos conceptos que serán útiles para la definición de las operaciones
del álgebra relacional: dependencia relacional y relaciones compatibles:

 Sean R y S dos relaciones que comparten un conjunto minimal de columnas


(atributos) se dice que existe una dependencia relacional entre ellas y se
representan por DR(R,S).
Ejemplo:
Alumno(Código, Apellido, Nombre, Sexo, Fecha de nacimiento, Dirección)
Acta(Código, Práctica1, Práctica2, Examen, Trabajo, Promedio)

Las relaciones Alumno y Acta tienen una dependencia relacional que


podemos representarla por: DR(Alumno, Acta) = Código

 Sean R y S dos relaciones con esquema R Ai : Di  y RA* j : D * j  , tal que


Ext ( R )  r y Ext ( S )  s , son compatibles si están definidas sobre el mismo
conjunto de dominios y se cumple:
Ai , A* j / Dom( Ai )  Dom( A* j )
A* j , Ai / Dom( A* j )  Dom( Ai )
o sea que R y S serán semánticamente equivalentes, lo que no significa que los
nombres de los atributos sean necesariamente los mismos y que estén en el mismo
orden, sino que han de estar definidos sobre los mismos dominios. Para reordenar y
dar los mismos nombres a los atributos tenemos las operaciones de permutación y
renombramiento que solucionarán el problema.

Podemos distinguir los tipos de operaciones:


 Conjuntistas: Unión, Intersección, Diferencia, Suma y Producto cartesiano

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.

B. Intersección (Intersection).- Sean las relaciones R y S compatibles. Se


llama intersecció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 intersección, debe estar
necesariamente en las relaciones R y S. La Intersección la forman sólo las
tuplas que son comunes a ambas relaciones.

C. Diferencia (Difference).- Sean las relaciones R y S compatibles. Se llama


diferencia de R y S a la relación:
R \ S  t / t  R  t  S
Es decir para que una tupla pertenezca a la diferencia R \ S debe
pertenecer a la relación R pero no a la relación S.

D. Suma (Sum).- Sean las relaciones R y S compatibles. Se llama suma de


R y S a la relación:
R  S  ( R \ S )  ( S \ R)

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

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.
00-19193 CHURA LOZA Eloy .T.
02-23270 CALATAYUD GUTIERREZ Yovana Ruth .F.

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.

E. Producto cartesiano (Cartesian Product).- Sean las relaciones R y S


con Gra(R) = r y Gra(S) = s. Se llama PRODUCTO CARTESIANO de R
y S a la relación: RxS   t , s  / t  R  t  S

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 )

 Nota: Si R tiene grado n, entonces puede definirse n! permutaciones.

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

Definimos la permutación Alumno(2,3,1,5,4)

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.

Nota: Teóricamente puede definirse 5! = 120 permutaciones

B. Selección (Selection).- Esta operación selecciona tuplas de una relación


que satisfaga un predicado.

Sea una relación R( A1 , A2 ,..., An ) y un predicado P(t) con tR. Una selección
de R es un subconjunto:
  P ( t )  ( R)

Ejemplos:
Sea la relación

Alumno(Código, Apellido, Sexo, Fecha de nacimiento, Estatura, Peso, Especialidad)

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

 Hallar a las mujeres.

La expresión sería:  Sexo  (Alumno)


 Sexo  (Alumno)
Fecha de
Código Apellido Nombre Sexo Estatura Peso Especialidad
nacimiento
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
SG015 GARCIA CHIPA Silvia Eugenia .F. 31/05/84 178 58 PROG
VP017 PALOMINO MONTALVO Verónica .F. 28/08/85 163 56 OFIM
KP022 PAZ CHIRINOS Karla Maria .F. 28/11/83 167 58 PROG

 Hallar a las mujeres de estatura mayor o igual a 170.

La expresión sería:  Sexo Estatura170 ( Alumno)

 Sexo Estatura170 ( Alumno)


Fecha de
Código Apellido Nombre Sexo Estatura Peso Especialidad
nacimiento
KT004 TEMOCHE VERGARA Karina .F. 20/08/79 172 58 OFIM
SG015 GARCIA CHIPA Silvia Eugenia .F. 31/05/84 178 58 PROG

Pag. 10
 Hallar a los alumnos que estudian para programadores menores de 25 años.

La expresión sería:  Especialidad "PROG"YEAR( DATE()) YEAR( Fecha de nacimiento)25 ( Alumno)

 Especialidad "PROG"YEAR( DATE()) YEAR( Fecha de nacimiento)25 ( Alumno)

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.

La expresión sería:  ( Sexo Especialidad "ANSI")(Sexo Peso57) ( Alumno)

 ( Sexo Especialidad "ANSI")(Sexo Peso57) ( Alumno)


Fecha de
Código Apellido Nombre Sexo Estatura Peso Especialidad
nacimiento
KT004 TEMOCHE VERGARA Karina .F. 20/08/79 172 58 OFIM
JB014 BARAZORDA HINOJOSA Jesús .T. 18/06/75 185 82 ANSI
SG015 GARCIA CHIPA Silvia Eugenia .F. 31/05/84 178 58 PROG
MT019 TINTAYA AYVAR Marcos .T. 08/12/72 160 65 ANSI
KP022 PAZ CHIRINOS Karla Maria .F. 28/11/83 167 58 PROG

C. Proyección (Projection).- Esta operación selecciona columnas de una


relación. Sea una relación R( A1 , A2 ,..., An ) . Y sea L  Ai1 , Ai 2 ,..., Ai k  un
subconjunto representado por:
   R 
L

Ejemplo: Sea la relación

Alumno(Código, Apellido, Nombre, Sexo, Fecha de nacimiento, Estatura,


Peso, Especialidad)

Pag. 11
  Código, Nombre, Sexo   Alumno

 Código, Nombre, Sexo   Alumno

Código Nombre Sexo

EC001 Edgardo .T.


KT004 Karina .F.
DV008 Diana .F.
JC010 Jenny .F.
JQ012 Juver Hugo .T.
JB014 Jesús .T.
SG015 Silvia Eugenia .F.
VP017 Verónica .F.
MT019 Marcos .T.
KP022 Karla Maria .F.

  Nombre, Sexo , Fecha de nacimiento   


Sexo   Alumno

 Nombre, Sexo , Fecha de nacimiento    Sexo   Alumno


Fecha de
Nombre Sexo
nacimiento
Karina .F. 20/08/79
Diana .F. 30/11/81
Jenny .F. 23/11/82
Silvia Eugenia .F. 31/05/84
Verónica .F. 28/08/85
Karla Maria .F. 28/11/83

 Seleccionar Código, nombre, Apellido y Estatura para los varones que


estudian para programadores y midan entre 179 y 180.

 Seleccionar Nombre y Sexo de la mujeres que midan más de 170.

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).

Sean R( A1 , A2 ,..., An ) y S ( B1 , B2 ,..., Bm ) tal que R  S   . Sean a k  R y


a l  S , entonces definimos:
JOIN ( R, S ; a k  al )   a1 , a 2 ,..., a k ,..., a n , b1 , b2 ,..., bm  / a k  al , con a k  R  al  S 

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

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. 21
KP022 PAZ CHIRINOS Karla Maria .F. 20

Pag. 13
Acta

Código Práctica Examen Trabajo

KT004 18 16 16
JC010 14 15 13
SG015 08 09 07
VP017 11 10 10
MT019 13 14 12
LR020 09 08 06

 JOIN(Alumno, Acta; Alumno.Código = Acta.Código)


JOIN(Alumno, Acta: Código)

Código Apellido Nombre Sexo Edad Práctica Examen Trabajo

KT004 TEMOCHE VERGARA Karina .F. 24 18 16 16


JC010 CACERES NIEVES Jenny .F. 21 14 15 13
SG015 GARCIA CHIPA Silvia Eugenia .F. 19 08 09 07
VP017 PALOMINO MONTALVO Verónica .F. 18 11 10 10
MT019 TINTAYA AYVAR Marcos .T. 21 13 14 12
 JOIN  Código, Apellido, Nombre ( Alumno),  Examen ,Trabajo ( Acta); Alumno.Código  Acta.Código

Código Apellido Nombre Examen Trabajo

KT004 TEMOCHE VERGARA Karina 16 16


JC010 CACERES NIEVES Jenny 15 13
SG015 GARCIA CHIPA Silvia Eugenia 09 07
VP017 PALOMINO MONTALVO Verónica 10 10
MT019 TINTAYA AYVAR Marcos 14 12

E. Composición (Composition).- Resulta de eliminar las columnas en común


de un JOIN entre dos relaciones.

Ejemplo
Tenemos las tablas Alumno y Acta. Vamos a hallar Alumno  Acta

Pag. 14
Alumno  Acta

Apellido Nombre Sexo Edad Práctica Examen Trabajo

TEMOCHE VERGARA Karina .F. 24 18 16 16


CACERES NIEVES Jenny .F. 21 14 15 13
GARCIA CHIPA Silvia Eugenia .F. 19 08 09 07
PALOMINO MONTALVO Verónica .F. 18 11 10 10
TINTAYA AYVAR Marcos .T. 21 13 14 12

F. División (Division).- La división de dos relaciones R y S es una relación que


está constituida por las tuplas que al completarse con la segunda permiten
obtener la primera. Su formato es:
RS
Ejemplo:
Sea las tablas Matrícula y Curso.
Matrícula
Código Apellido Nombre Curso
EC001 COVARRUVIAS PINTO Edgardo C++
KT004 TEMOCHE VERGARA Karina SQL Server 7
DV008 VILLAFUERTE GAMBOA Diana C++
JC010 CACERES NIEVES Jenny Delphi 4.0
JQ012 QUISPE MALDONADO Juver Hugo Visual Fox Pro 6.0
DV008 VILLAFUERTE GAMBOA Diana Power Builder 7
EC001 COVARRUVIAS PINTO Edgardo Power Builder 7
JB014 BARAZORDA HINOJOSA Jesús Delphi 4.0
DV008 VILLAFUERTE GAMBOA Diana SQL Server 7
SG015 GARCIA CHIPA Silvia Eugenia Visual Basic 6.0
VP017 PALOMINO MONTALVO Verónica Visual dBASE 7
EC001 COVARRUVIAS PINTO Edgardo SQL Server 7

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

Formalmente puede definirse por:



R  S  B ( R) \ B ( SxB (R)) \ R 
donde B  A \ A*

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.

G. Producto Natural (Natural Product)


Sirve para simplificar consultas que se obtienen con productos cartesianos de
hay aplicar donde hay que aplicar proyecciones y selecciones. Formalmente
podemos definirlo por:
R / x / S   A A*  `R. A S . AAR S  RxS 

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.

Luego selecciona los truplas con igual código


Luego quita las columnas duplicadas

Para obtener nuestra búsqueda aplicamos:

 Apellido, Nombre  Alumno / x / Estudia

Y obtenemos:
 Apellido, Nombre  Alumno / x / Estudia
Apellido Nombre
TORRES CASABLANCA Jesenia María
SUAREZ MARTINEZ Norverto

Pag. 17

También podría gustarte