Modelo relacional - 1 Linguagens relacionais m Notaes para
expressar perguntas: q algbrica aplicao de operadores a relaes q
lgica (clculo relacional) frmula que os tuplos da resposta devem
satisfazer equivalentes em poder expressivo. m Limitaes: q
independncia fsica dos dados linguagem s com construes relativas ao
modelo de dados (operaes sobre relaes) que no dependam da
implementao no se pode aceitar programas genricos q optimizao das
perguntas restrio no poder expressivo: sem recurso (incapaz de
computar o fecho transitivo) q relaes finitas complementao
proibida
Slide 2
Modelo relacional - 2 Operaes Bsicas 1 - ReunioR S q o conjunto
dos tuplos que esto em R, em S, ou em ambas R e S da mesma aridade
nomes dos atributos a especificar 2 - DiferenaR S q tuplos de R que
no esto em S R e S da mesma aridade
Slide 3
Modelo relacional - 3 Operaes Bsicas 3 - Produto cartesiano R S
q aridades de R e S so k 1 e k 2 aridade de R S k 1 + k 2 contm
todos os tuplos tais que os primeiros k 1 componentes formam um
tuplo de R e os restantes k 2 componentes formam um tuplo em S
Slide 4
Modelo relacional - 4 Operaes Bsicas 4 - Projeco i 1, i 2,...,
i m (R) q para cada tuplo em R existe um tuplo na projeco com os
componentes (e pela ordem) indicados pelos i j se aridade de R for
k ento os i j 1,..., k e so distintos; aridade da projeco m nmeros
de componentes podem ser substitudos por atributos, se existirem:
1,3 (R) = A,C (R) Projeco escolhe colunas da tabela
Slide 5
Modelo relacional - 5 Operaes Bsicas 5 - Seleco F (R) q contm
os tuplos de R que satisfazem F a frmula F pode envolver operandos
constantes ou nmero de componente ( $i ) operadores aritmticos de
comparao (,,,,, ) operadores lgicos (,, ) ( e, ou, no ) Nmeros de
componentes podem ser substitudos por atributos, se existirem: $2=b
(R) = B=b (R) Seleco escolhe linhas da tabela
Slide 6
Modelo relacional - 6 Operaes Compostas 6 - Interseco R S q
contm os tuplos que pertencem a R e a S simultaneamente R e S da
mesma aridade q R S = R - (R-S)
Slide 7
Modelo relacional - 7 Quociente 7 - Quociente R / S aridade de
R r e de S s, r s, S q contm os (r-s)-tuplos (a 1,..., a r-s ) tais
que, para todos os s- tuplos (a r-s+1,..., a r ) em S, o tuplo (a
1,..., a r ) est em R / = = 73 21 2 3 + 1 = 7
Slide 8
Modelo relacional - 8 Explicao alternativa m Forma de proceder
diviso q reordenar as colunas de forma a que as ltimas correspondam
ao quociente q ordenar a tabela pelas primeiras colunas q cada
subtuplo das primeiras colunas pertence ao resultado se o conjunto
de subtuplos das ltimas colunas que lhe corresponde contiver o
quociente /=
Slide 9
Modelo relacional - 9 Expresso do quociente q T = 1,..., r-s
(R) = universo dos tuplos possveis no resultado q W = (T S) - R=
todas as linhas T combinadas com S mas que no esto em R, i.e., em
que a condio falha q V = 1,..., r-s (W) = tuplos que no interessam
q R / S = T - V= tuplos que interessam reunindo numa s expresso
algbrica R / S= 1,..., r-s (R) - 1,..., r-s 1,..., r-s (R) S -
R
Slide 10
Modelo relacional - 10 Quais as frases verdadeiras? a ( R-S ) S
= R b ( R-S ) S R c ( R-S ) ( R S ) = R d ( R-S ) ( S-R ) = ( R S )
- ( R S ) e ( R/S ) S = R f ( R/S ) S R q Respostas Erradas - a e e
Correctas - b, c, d e f
Slide 11
Modelo relacional - 11 Juno 8 - -Juno R S se a aridade de R for
r e a de S, s a aridade da -juno r+s q contm os tuplos do produto
cartesiano de R por S tais que o componente i est na relao com o
componente r+j (i.e., o correspondente ao j em S). m Expresso da
-juno R S= $i $(r+j) (R S) se for =, a operao designa-se equijuno (
7, 8, 9 ) um tuplo pendente de R pois no aparece na -juno i j R S
2