Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Relaciones
Definicin 1.1 Sea y dos conjuntos. Una relacin binaria de
d
en es un
subconjunto de
.
En otras palabras, si es una relacin binaria entre y , es un conjunto de pares
ordenados , , donde
y
. Simblicamente
, /
!
Observaciones.
1. Cuando ,
con mediante
2. Casi siempre se tratar con relaciones entre los elementos de dos conjuntos. De
esta manera, la palabra binaria se omitir de aqu en adelante.
3. Si es un subconjunto de
, diremos que es una relacin sobre el conjunto .
Ejemplo 1.1 Sean
0,1
1,2,3,4 y
mediante
100
200
180
200
100
120
200
150
160
190
150
200
220
250
150
de la
Definiendo la relacin
sobre el conjunto de ciudades
, , , ,
siguiente manera:
si y slo si el costo de ir de a es menor o igual a 180
dlares. Determine .
Solucin.
La relacin es el subconjunto de
formado por todas las ciudades 9 , :, en
donde el costo del viaje de a es menor o igual a 180 dlares. Por tanto,
,
para algn
para algn
1,2,3,4
0,1,2,3
Relacin Identidad
Una relacin sobre un conjunto se conoce como relacin de identidad, si
, /
y es denotado por 78 .
Relacin Inversa
Sea %
. La inversa de , denotada por # , es la relacin de a que
consta de aquellos pares ordenados obtenidos al intercambiar los elementos de
los pares ordenados de i.e.,
#
, / ,
2,3
3,4,5 y
divide a
$
"
/0
/0
2,3,4,5
6,8,10
de
en
dada por
Solucin.
.
, pero 2 B 3.
, y , que estn en
.
Observaciones.
1. Si existen ,
tales que ,
,y ,
, pero B , indica que
no es antisimtrica.
2. La simetra y la antisimtrica
antisimtrica no son el negativo del otro. Por ejemplo, en
1,2,3 definamos las relaciones,
1,3 , 3,1 , 2,3 , ;
1,1 , 2,2
As, no es simtrica ni antisimtrica, y ; es tanto simtrica como antisimtrica
Interseccin
Unin
Diferencia
Complemento
<;
=;
/ ,
/ ,
/ ,
/
3
>
> ;
L, M, N , y
Por tanto,
1,2
1,6
2,4
2,4
3,4
3,4
3,6
3,8
,
,
,
,
,
,
,
,
,
Teorema. La relacin
para todo I % J.
1, L
1, N
2, M
2, N
3, M
3, N
3, N
3, L
, I
J, se define
defin
Por tanto,
1, L , 1, N , 2, M , 2, N , 3, M , 3, N , 3, L
2, L
6, N
4, M
4, N
4, M
4, N
6, N
8, L
sobre un conjunto
1,
0,
si
si
1,2,3,4 y
,
,
>
1,2,3,4,5 . Determine S , si
Solucin.
Los elementos del conjunto A se representan como filas y los del conjunto B como
columnas. As,
1
1
1
\
0
1
1
2
3
4
2 3 4 5
0 0 1 0
0 1 0 0
]
0 0 0 1
0 0 1 0
Observacin.
Sean
y
relaciones en un conjunto representadas
epresentadas por las matrices S
y S T U V respectivamente. Entonces
1.
2.
S
S
S
S
0= T
0< T
ES
!S
0
0
T
T
U
U
1 0
^1 1
0 0
V, donde
V, donde
1
0_
1
E
!
.
.
0
^0
1
0= T
ES
0
0< T
!S
0
1E0
^1 E 0
0E1
1!0
^1 ! 0
0!1
0E1 1E0
1 E 0 0 E 1_
0E0 1E1
0!1
1!0
0!0
1!0
0 ! 1_
1!1
1 0
0 1_
0 1
=
1 1
^1 1
1 0
0 0
^0 0
0 0
<
1
1_
1
0
0_
1
3. Supongamos que ,
y K tienen R, I y a elementos respectivamente.
respectivamente Sean
%
y
%
K representadas por las matrices S 0 U V y
S T U V respectivamente, entonces la composicin de las relaciones
y
,
se representa por
S 0 T S 0 b S T U V,
donde
9 !
:E9 !
: E E 9 P ! P :
Ejemplo 1.11 Halla la matriz que representa a la relacin
que representan a
y
S
Solucin. La matriz de
1 0
^1 1
0 0
S
1
0_
0
bS
0
0
^0
1
1 0
0 1_
0 1
1 1 1
^0 1 1__,
0 0 0
/e
dada por
f mod 2
Por tanto,
e
e
W0X
d/ e, 0
0
W1X
d/e f 0 mod 2
d/[[e|2
4 2,0,2,4, h
h , 4,
, W1X
e
e
e
d/ e, 1
d/e f 1 mod 2
d/[ e 1 |2
h , 3, 1,1,3,5, h
Solucin.
(a) Sean
1,2 , A
2,3,4 y A
4,5,6 . La coleccin
, ,
no es
una particin de A, puesto que
y
no son disjuntos.
2,3,6 , A
(b) Sean
1, A
4 yA
5 . Es claro ver que B j,
Ck 1,2,3. Adems,
<
<
<
j,
<
<
<
j,
y
=r
Por tanto
, , ,
es una particin de .
(c) Sean
2,4,6 y A
1,3,5 . La coleccin
,
no es una particin de
, pues que
=
no es igual a .
Nota:: Como las funciones hashing adecuadas deben distribuir uniformemente los
registros (llaves) sobre los elementos
elementos del conjunto de direcciones, I se elige de
manera adecuada. Casi siempre I es escogido como un nmero primo mayor que el
nmero mximo de registros en el archivo.
Datos
10 11 12 13 14 15 16
Dado que I
17,, entonces q e
714 mod17
q 775
q 906
q 509
q 2032
775 mod17
906 mod17
509 mod17
2032 mod17
q 136
136 mod17
631 mod17
26 mod17
373 mod17
16
10
5
16
9
8
4
0
1028 mod17
q 1028
0
2
9
42 mod17
4 mod17
q 42
q 4
q 714
q 631
q 26
q 373
Datos
714
509
631
136
906
42
orden
11
10
10
11
12
13
14
15
16
Datos
26
775
2032
1028
373
orden
12
Crditos
CIS15
Introduccin a la Informtica
CIS17
Anlisis Matemtico II
CIS19
Linux
CIS51
Conectividad en red
10
Crditos
No
Crditos
CIS15
Introduccin a la Informtica
CIS15
Introduccin a la Informtica
CIS17
Anlisis Matemtico II
CIS17
Anlisis Matemtico II
CIS19
Linux
CIS19
Linux
CIS51
Conectividad en red
CIS51
Conectividad en red
CIS53
Matemtica Discreta
CIS15
CIS17
Introduccin
a la Informtica
Anlisis Matemtico II
CIS19
Crditos
No
Crditos
CIS15
CIS17
Introduccin
a la Informtica
Anlisis Matemtico II
Linux
CIS51
Conectividad en red
CIS51
Conectividad en red
CIS52
Matemtica Discreta
CIS52
Matemtica Discreta
CIS15
CIS17
Introduccin
a la Informtica
Anlisis Matemtico II
Crditos
No
Crditos
CIS15
CIS17
Introduccin
a la Informtica
Anlisis Matemtico II
CIS19
Linux
CIS19
Linux
CIS51
Conectividad en red
CIS51
Conectividad en red
CIS52
Matemtica Discreta
CIS52
Matemtica Discreta
4. Seleccin. Se aplica a una sola relacin y crea otra relacin. Las tuplas (filas) de
la relacin resultante son un subconjunto de las tuplas de la relacin original.
Esta operacin utiliza algunos criterios para seleccionar algunas de las tuplas de
la relacin original.
nal. El nmero de atributos (columnas) en esta operacin
permanece igual.
Ejemplo. Seleccionar slo los cursos de 5 crditos
11
No
Crditos
CIS15
CIS17
Introduccin
a la Informtica
Anlisis Matemtico II
CIS19
Linux
CIS51
Conectividad en red
CIS52
Matemtica Discreta
No
Crditos
CIS15
CIS17
Introduccin
a la Informtica
Anlisis Matemtico II
CIS51
Conectividad en red
5. Proyeccin. Se aplica a una sola relacin y crea otra relacin. Los atributos
(columnas) en la relacin resultante son un subconjunto de los atributos de la
relacin original. La operacin de proyeccin crea una relacin en la cual cada
tupla tiene menos atributos. El
El nmero de tuplas (filas) en esta operacin sigue
siendo el mismo.
No
Crditos
CIS15
CIS17
Introduccin
a la Informtica
Anlisis Matemtico II
CIS19
Crditos
No
CIS15
CIS17
Linux
CIS19
CIS51
Conectividad en red
CIS51
CIS52
Matemtica Discreta
CIS52
Operaciones binarias
6. Juntura. Toma dos relaciones y las combina con base en atributos comunes.
Esta operacin es muy compleja y tiene muchas variantes. En las
la tablas
mostradas aparece un ejemplo muy simple en el cual la relacin de CURSOS se
combina con la relacin de IMPARTIDOS POR para crear una relacin que
muestra toda la informacin sobre los cursos, incluyendo los nombres de los
profesores que los imparten. En este caso, el atributo comn es el nmero de
curso (N0)
CURSOS
IMPARTIDOS POR
No
Crditos
CIS15
CIS17
Introduccin
a la Informtica
Anlisis Matemtico II
CIS19
No
Profesor
CIS15
Gonzales
CIS17
Campos
Linux
CIS19
Salas
Conectividad en red
CIS51
Contreras
CIS51
Matemtica Discreta
CIS52
Onofre
CIS52
JOIN
No
Crditos
Profesor
CIS15
CIS17
Introduccin
a la Informtica
Anlisis Matemtico II
Gonzales
Campos
CIS19
Linux
Salas
CIS51
Conectividad en red
Contreras
CIS52
Matemtica Discreta
Onofre
12
7. Unin. Toma dos relaciones y crea una nueva relacin. Sin embargo, hay una
restriccin en las dos relaciones; stas deben tener los mismos atributos. La
operacin de unin, segn se define en la teora de conjuntos, crea una nueva
relacin en la cual cada tupla est ya sea en la primera relacin, en la segunda o
en ambos
LISTA DE TURNOS DE CIS15
IS15
Codigo
Nombre
Apellido
John
Breman
Codigo
Nombre
Apellido
11340J
George
Caballero
11340J
John
Breman
11243K
Any
Carranza
11243K
George
Caballero
11346B
Ivn
Fernndez
11346B
Any
Carranza
11248L
11248L
Ivn
Fernndez
11245K
Ricardo
Prez
Nombre
11245K
Ricardo
11340J
John
11243K
George
Apellido
Prez
Breman
Caballero
8. Interseccin. Toma dos relaciones y crea una nueva relacin. Al igual que la
operacin unin, las dos relaciones deben tener los mismos atributos. La
operacin de interseccin, segn se define en la teora de conjuntos, crea una
nueva relacin en la cual cada tupla es un miembro de ambas relaciones.
La operacin interseccin a las relaciones 3-arias: LISTA DE TURNOS DE CIS15 y
LISTA DE TURNOS
NOS DE CIS52,
CIS52 obtiene la siguiente tabla
Codigo
Nombre
Apellido
11340J
John
Breman
11243K
George
Caballero
9. Diferencia. Se aplica a dos relaciones con los mismos atributos. Las tuplas en la
relacin resultante son aquellas que estn en la primera relacin pero no en la
segunda.
Aplicando la operacin diferencia a las relaciones 3-arias:
3
LISTA DE TURNOS DE
CIS15 y LISTA DE TURNOS DE CIS52,
CIS52 obtenemos
Codigo
Nombre
Apellido
11346B
Any
Carranza
11248L
Ivn
Fernndez
SQL
El Lenguaje de Consultas Estructurado (SQL)) es el lenguaje estandarizado por el
Instituto Nacional Norteamericano (ANSI) y la Organizacin Internacional para la
Estandarizacin (ISO) para usar en las bases de datos relacionales. Es un lenguaje
declarativo (no de procedimientos), lo cual significa que los usuarios declaran lo
que quieren sin tener que escribir un procedimiento paso a paso. El lenguaje SQL
13
Instrucciones.
Las instrucciones siguientes est relacionados con las operaciones que definimos
anteriormente al igual que los ejemplo mostrados.
1. Insert
Ejemplo
values (. . . , . . . , . . .)
2. Delete
Ejemplo:
where criterios
where No=CIS19
3. Update
Ejemplo:
update NOMBRE--RELACIN
update CURSOS
set atributo1=valor1,
1=valor1, atributo1=valor1, . . . .
where criterios
set crdito = 6
where No=CIS51
4. Select
Ejemplo:
select *
from NOMBRE-RELACIN
RELACIN
where criterios
select *
from CURSOS
where crditos=5
5. Project
Ejemplo:
6. Join
select Lista - Atributos
from RELACIN 1, RELACIN 2
where criterios
select No . crditos
from CURSOS
Ejemplo:
select No.Nombre del curso. Crditos. Profesor
from CURSOS . IMPARTIDOS POR
where CURSOS. No = IMPARTIDOS POR. No;
14
7. Union
select *
from RELACIN 1
union
select *
from RELACIN 2
8. Intersection
select *
from RELACIN 1
intersection
select *
from RELACIN 2
9. Difference
select *
from RELACIN 1
minus
select *
from RELACIN 2
Ejemplo:
select *
from LISTA DE TURNOS DE CIS15
union
select *
from LISTA DE TURNOS DE CIS52
Ejemplo:
select *
from LISTA DE TURNOS DE CIS15
intersection
select *
from LISTA DE TURNOS DE CIS52
Ejemplo:
select *
from LISTA DE TURNOS DE CIS15
minus
select *
from LISTA DE TURNOS DE CIS52
IS52
15