Modelo relacional - 1 Linguagens relacionais m Notações para expressar perguntas: q algébrica –...

25
Modelo relacional - 1 Linguagens relacionais Notações para expressar perguntas: algébrica – aplicação de operadores a relações lógica (cálculo relacional) – fórmula que os tuplos da resposta devem satisfazer equivalentes em poder expressivo. Limitações: independência física dos dados linguagem só com construções relativas ao modelo de dados (operações sobre relações) que não dependam da implementação não se pode aceitar programas genéricos optimização das perguntas restrição no poder expressivo: sem recursão (incapaz de computar o fecho transitivo) relações finitas complementação proibida

Transcript of Modelo relacional - 1 Linguagens relacionais m Notações para expressar perguntas: q algébrica –...

  • Slide 1
  • 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