Escolar Documentos
Profissional Documentos
Cultura Documentos
Relacional
Base de Datos
Monica
Caniupan
mcaniupa@ubiobio.cl
Universidad del Bo-Bo
Marzo 2015
Calculo
Relacional
El calculo
relacional, a diferencia del AR, es un lenguaje declarativo
El CR nos permite expresar las consultas sin decir como obtener las respuestas
Calculo
Relacional de Tuplas (CRT)
Calculo
Relacional de Dominios (CRD)
Calculo
Relacional
Marzo 2015
2 / 32
Calculo
Relacional de Tuplas
Una variable tupla es una variable que adopta como valores las tuplas de una
relacion
de valores a una variable tupla tiene el mismo
Es decir, cualquier asignacion
numero
y tipo de atributos
ALUMNOS:
Ejemplo: Consideremos la relacion
ID
11
ALUMNOS
NOMBRE EDAD
maria
20
Calculo
Relacional
Marzo 2015
3 / 32
Calculo
Relacional de Tuplas
{T | p(T )}
la formula
p(T ) se evalua
como verdadera con T = t
Calculo
Relacional
Marzo 2015
4 / 32
Ejemplo: CRT
ALUMNOS:
Dada la relacion
ID
11
12
13
ALUMNOS
NOMBRE EDAD
pedro
21
luis
22
juan
20
NOMBRE
pedro
luis
Calculo
Relacional
EDAD
21
22
Marzo 2015
5 / 32
Una formula
atomica
es:
R Rel,
x ALUMNOS
R .a op S .b,
x .EDAD = y .EDAD
R .a op c, con c constante,
x .EDAD > 20
c op R .a, con c constante,
20 < x .EDAD
Calculo
Relacional
Marzo 2015
6 / 32
Una formula
se define recursivamente de la siguiente manera:
Toda formula
atomica
p es una formula
lo son:
Si p y q son formulas,
tambien
p,
(p q ),
(p q ),
(p q )
Calculo
Relacional
Marzo 2015
7 / 32
Semantica
de Consultas en CRT
La semantica
de las consultas nos permite saber cual es el conjunto respuesta
para una consulta de la forma {T | p(T )}
La respuesta a una consulta expresada en CRT es el conjunto de todas las tuplas
Cuales
son los posibles valores a asignar?
Calculo
Relacional
Marzo 2015
8 / 32
Semantica
de Consultas en CRT
R
F es la formula
atomica
R Rel y a R se le asigna una tupla de la relacion
R .a op S .b, R .a op c, c op R .a, con c constante y las tuplas
F es una comparacion
Calculo
Relacional
Marzo 2015
9 / 32
Semantica
de Consultas en CRT
F es de la forma:
p y p no es verdadera,
p q y ambas p y q son verdaderas,
p q y al menos una de ellas es verdadera,
p q y q es verdadera siempre que p es verdadera
de tuplas a las variables
F es de la forma R (p(R )) y hay alguna asignacion
Calculo
Relacional
Marzo 2015
10 / 32
IDC
1
2
ID
10
11
12
CUR
NOMBREC
BD1
BD2
ALUMNOS
NOMBRE EDAD
luis
20
pedro
21
antonio
23
ID
10
10
11
INS
IDC NOTA
1
70
2
85
2
80
CIUDAD
concepcion
chillan
concepcion
Calculo
Relacional
Marzo 2015
11 / 32
La respuesta a Q1 es:
NOMBRE
luis
antonio
Calculo
Relacional
EDAD
20
23
Marzo 2015
12 / 32
Q2 : Encontrar el nombre de los alumnos, id del curso y nota obtenida por los
alumnos
IDC
1
2
2
Calculo
Relacional
NOTA
70
85
80
Marzo 2015
13 / 32
Calculo
Relacional
Marzo 2015
14 / 32
Calculo
Relacional
Marzo 2015
15 / 32
Calculo
Relacional
Marzo 2015
16 / 32
Calculo
Relacional
Marzo 2015
17 / 32
Calculo
Relacional de Dominios (CRD)
Una variable de dominio es una variable que toma valores del dominio de algun
atributo
Una consulta en CRD es de la forma:
{hx1 , . . . , xn i | p(x1 , . . . , xn )}
donde:
cada xi es una variable de dominio o una constante y
x1 , . . . , xn
Calculo
Relacional
Marzo 2015
18 / 32
ALUMNOS
NOMBRE EDAD
luis
20
pedro
21
antonio
23
CIUDAD
concepcion
chillan
concepcion
NOMBRE
luis
pedro
antonio
Calculo
Relacional
Marzo 2015
19 / 32
Una formula
CRD se define de manera muy similar a una formula
en CRT, pero
ahora se trabaja con variables de dominio
Rel con n atributos, las variables de tipo dominio X , Y y sea op
Dada una relacion
uno de {<, >, =, 6, >, 6=}
Son formulas
atomicas
en CRD:
hx1 , . . . , xn i Rel con cada xi siendo una variable o una constante
X op Y
X op c o c op X , con c constante
Calculo
Relacional
Marzo 2015
20 / 32
Formulas
en CRD
Una formula
se define recursivamente de la siguiente manera:
Toda formula
atomica
p es una formula
lo son: p, p q, p q, p q
Si p y q son formulas,
tambien
X (p(X )), donde X es una variable de dominio
X (p(X )), donde X es una variable de dominio
Calculo
Relacional
Marzo 2015
21 / 32
IDC
1
2
ID
10
11
12
CUR
NOMBREC
BD1
BD2
ALUMNOS
NOMBRE EDAD
luis
20
pedro
21
antonio
23
ID
10
10
11
INS
IDC NOTA
1
70
2
85
2
80
CIUDAD
concepcion
chillan
concepcion
Calculo
Relacional
Marzo 2015
22 / 32
La respuesta a Q1 es:
NOMBRE
luis
antonio
Calculo
Relacional
EDAD
20
23
Marzo 2015
23 / 32
Q2 : Encontrar el nombre de los alumnos, id del curso y nota obtenida por los
alumnos
IDC
1
2
2
Calculo
Relacional
NOTA
70
85
80
Marzo 2015
24 / 32
Calculo
Relacional
Marzo 2015
25 / 32
Calculo
Relacional
Marzo 2015
26 / 32
Calculo
Relacional
Marzo 2015
27 / 32
Calculo
Relacional
Marzo 2015
28 / 32
Calculo
Relacional
Marzo 2015
29 / 32
Calculo
Relacional
Marzo 2015
30 / 32
Consultas Seguras
Para cualquier conjunto I el conjunto respuesta para Q contiene solo valores que
en Dom(Q , I )
estan
Por cada X (p(X )) en Q si encontramos valores para X que hacen verdadera la
formula,
entonces X contiene solo constantes en Dom(Q , I )
en Dom(Q , I )
Por cada X (p(X )) en Q si asignamos valores para X que no estan
entonces la formula
debe ser verdadera
Calculo
Relacional
Marzo 2015
31 / 32
Consultas Seguras
Toda consulta que puede ser expresada por medio de una consulta segura en CR
ser expresada en AR
puede tambien
Calculo
Relacional
Marzo 2015
32 / 32