• Nenhum resultado encontrado

Algebra Calc Relac LNCC

N/A
N/A
Protected

Academic year: 2021

Share "Algebra Calc Relac LNCC"

Copied!
54
0
0

Texto

(1)

Abordagens

Teóricas

para

a

Especificação

de

Linguagens

de

Consulta Relacionais

Ana Maria de Carvalho Moura

LNCC – DEXL Lab

(2)

AMCM 2

Linguagens Relacionais

Abordagens utilizadas

Linguagens algébricas:

consultas são

expressas a partir de operadores aplicados

às relações

Linguagens baseadas no Cálculo

Relacional

Cálculo Relacional de Tuplas (CRT):

consultas são feitas diretamente sobre as

tuplas que satisfazem às condições

especificadas pelo predicado (lógica de 1

a

ordem - LPO);

Cálculo Relacional de Domínios (CRD):

consultas são feitas diretamente aos elementos

do domínio da relação

(3)

AMCM 3

Álgebra Relacional

Baseada na teoria de conjuntos, onde as operações sobre

conjuntos são utilizadas para manipular relações inteiras.

O resultado dessas operações é uma nova relação.

Adaptação p/ relações: conjuntos finitos e nomeação

Dois grupos de operações:

Operações da Teoria Matemática dos Conjuntos

UNIÃO - INTERSEÇÃO - DIFERENÇA - PRODUTO CARTESIANO

Operações desenvolvidas especificamente para bancos de

dados relacionais

(4)

AMCM 4

Uma instância de banco de dados relacional

EMPREGADO LOCAL_DEPT

Nome CPF Data-Nasc Endereço Sexo Salário Supervisor Dept

Nome Núm Gerente Data-Inicio

Num-Dept Localização

Nome Núm Local Dept

CPF-Emp Num-Proj Horas

CPF-Emp Nome-Dep Sexo Data-Nasc Relacionamento

DEPARTAMENTO PROJETO TRABALHA_EM DEPENDENTE Joao Frank Alicia Jane Ramon Joyce Ahmad James 123456789 333445555 999887777 987654321 666884444 453453453 987987987 888665555 09Jan55 08Dez45 19Jul58 20Jun31 15Set52 31Jul62 29Mar59 10Nov27 333445555 888665555 987654321 888665555 333445555 333445555 987654321 nulo Santos,SP Santos,SP Tatui,SP Lins,SP Marilia,SP Santos,SP Santos,SP Santos,SP M M F F M F M M 30000 40000 25000 43000 38000 25000 25000 55000 5 5 4 4 5 5 4 1 Pesq Adm Sede 5 4 1 333445555 987654321 888665555 22Mai88 01Jan92 19Jun91 1 4 5 5 5 Santos Campinas Lins Bauru Santos 123456789 123456789 666884444 453453453 453453453 333445555 123456789 333445555 333445555 123456789 999887777 123456789 987987987 987654321 123456789 888665555 ProdutoX ProdutoY ProdutoZ Informat. Reorgan. Beneficios 1 2 3 10 20 30 Lins Bauru Santos Campinas Santos Campinas 5 5 5 4 1 4 1 2 3 1 2 2 3 10 20 30 10 10 30 30 20 20 32,5 7,5 40,0 20,0 20,0 10,0 10,0 10,0 10,0 30,0 10,0 35,0 5,0 20,0 15,0 nulo 333445555 333445555 333445555 987654321 123456789 123456789 123456789 Alice Teo Joy Abner Miguel Alice Beth F M F M M F F 05Abr76 25Out73 03Mai48 29Fev32 01Jan78 31Dez78 05Mai57 Filha Filho Esposa Esposo Filho Filha Esposa

(5)

AMCM 5

Operadores básicos

UNIÃO

(R

1

R

2

)

A união de relações R

1

e R

2

é o conjunto de

tuplas que estão em R

1

, R

2

ou em ambas. As

relações devem ser união compatíveis.

DIFERENÇA

(R1 - R2)

A diferença entre 2 relações R

1

e R

2

é o conjunto

de tuplas que estão em R

1

mas que não estejam em

R

2

. R

1

e R

2

devem ser união compatíveis.

(6)

AMCM 6

Exemplos

Lista de novos projetos

Nome Num Local Dept

BD 5 Rio 4 Produto X 1 Lins 5

Nov_proj

U_PR=Projetos Nov_pro j

União :

Nome Núm Local Dept

U_PR

ProdutoX ProdutoY ProdutoZ Informat. Reorgan. Beneficios BD 5 1 2 3 10 20 30 5 5 5 4 1 4

Diferença:

D_PR =Projetos - Nov_Proj

Lins Bauru Santos Campinas Santos Campinas Rio 4

Nome Núm Local Dept

ProdutoY ProdutoZ Informat. Reorgan. Beneficios 2 3 10 20 30 5 5 4 1 4 Bauru Santos Campinas Santos Campinas

D_PR

(7)

AMCM 7

Operadores básicos

PRODUTO CARTESIANO

(PC)

Sejam 2 relações R

1

(a

1

,a

2

,...a

n

) e R

2

(b

1

,b

2

,...b

m

)

de aridade K

n

e K

m

respectivamente.

O PC de R

1

X R

2

é uma relação Q com n+m

atributos, i.e., Q(a

1

,a

2

,...a

n

,b

1

,b

2

,...b

m

),

onde

os K

n

primeiros componentes formam uma tupla de

R

1

e os últimos K

m

componentes formam

uma

tupla de R

2

. Assim, se R

1

tiver r

1

tuplas e R

2

r

2

tuplas, Q terá r

1

*r

2

tuplas.

(8)

AMCM 8

Exemplos

Produto Cartesiano:

DEP_PROJ = Departamento X Nov_Proj

Pesq 5 333445555 22mai88 BD 5 Rio 4 Adm 4 987654321 01Jan92 BD 5 Rio 4 Sede 1 888665555 19Juin91 BD 5 Rio 4 Pesq 5 333445555 22mai88 ProdutoX 1 Lins 5 Adm 4 987654321 01Jan92 ProdutoX 1 Lins 5 Sede 1 888665555 19Juin91 ProdutoX 1 Lins 5

Nome Num Gerente Data Nome Num Local Dept

DEP_PROJ

(9)

AMCM 9

Operadores básicos

PROJEÇÃO

(

)

Operação unária, utilizada para recuperar um subconjuto de atributos. O resultado é

sempre uma relação. Tuplas iguais são eliminadas.

Notação: S=

i1, i2, ... ij

(R)

SELEÇÃO

(

σ

)

Operação unária, serve para se obter um subconjunto de tuplas que atende a uma

certa condição. O resultado é sempre uma relação

Notação: S=

F

(R) onde:

R é uma relação e F é uma fórmula envolvendo:

- operandos: constantes ou nomes de

atributos;

- operadores relacionais:<,=,> ...

- operadores lógicos:

,

,

(10)

AMCM 10

Exemplos

Seleção:

PR =

Dept= 5

(Projetos)

Nome Núm Local Dept

PR

ProdutoX ProdutoY ProdutoZ 1 2 3 5 5 5 Lins Bauru Santos

Projeção

:

PROJ =

Nome,Dept

(Projetos)

Nome Dept ProdutoX ProdutoY ProdutoZ Informat. Reorgan. Beneficios 5 5 5 4 1 4

PROJ

(11)

AMCM 11

Operações derivadas

INTERSEÇÃO (R

1

R

2

)

R

1

 R

2

= R

1

- ( R

1

- R

2

)

DIVISÃO

Sejam R

1

e R

2

2 relações de aridade r1

e r2, onde r1> r2 e r2

0. R

1

R

2

é o

conjunto de (r1 - r2) tuplas tq p/ todas

as tuplas u de R

2

, a tupla tu está

presente em R

1

.

JUNÇAO

(

R

1

R

2

)

=

(R

1

X R

2

)

A junção de

R

1

e R

2

sobre as colunas i e

j, onde

representa a condição de

seleção sobre o PC de R

1

X R

2

. Os

domínios devem ser

compatíveis.

JUNÇÃO NATURAL

Junção, onde existe o mesmo atributo

nas 2 relações

(12)

AMCM 12

Exemplos

Interseção:

I_PR= Projetos

Nov_Proj

Nome Núm Local Dept

ProdutoX 1 Lins 5

I_PR

Divisão :

DTRAB =

CPF-Emp

(

CPF-Emp,Num-proj

(Trabalha)

 

Num

(Projetos))

A divisão pode ser expressa como uma seqüência de operações

básicas:

T=

CPF-Emp

(

Trabalha)

U=

CPF-Emp

(

Num-Proj

(Projetos) X T)-Trabalha) (tuplas u)

V= T-U

Sabendo-se que t contém todas as tuplas de T, i.e. T(t),

então V conterá todas as tuplas tq

tu

T

CPF-Emp

123456789

(13)

AMCM 13

Exemplos – Junção natural

Nome Gerente Data-Inicio Pesq Pesq Pesq Pesq 333445555 333445555 333445555 333445555 22Mai88 22Mai88 22Mai88 22Mai88

DepPro

=

Empregado

(Departamento)

(Dept=5)

Nome CPF Data-Nasc Endereço Sexo Salário Supervisor Dept Joao Frank Ramon Joyce 123456789 333445555 666884444 453453453 09Jan55 08Dez45 15Set52 31Jul62 333445555 888665555 333445555 333445555 Santos,SP Santos,SP Marilia,SP Santos,SP M M M F 30000 40000 38000 25000 5 5 5 5

DepPro

DepPro

(14)

AMCM 14

Funções Agregadas

Algumas consultas comuns em bancos de dados não podem ser

executadas apenas com as operações da álgebra relacional. A

maioria das linguagens de consulta dos SGBDs relacionais inclui

funções matemáticas agregadas

que permitem executar consultas

sobre coleções de valores do banco de dados.

As mais usuais são:

SOMA (SUM)

MÉDIA (Average)

MÁXIMO (Max)

MÍNIMO (Min)

CONTAGEM - COUNT (de tuplas)

(15)

AMCM 15

Exemplos

Calcular a média salarial dos empregados

que trabalham no depto 5:

media_sal

(

depto=5

average

(salario)

(E

mp))

Obter o nº de empregados para cada depto

e a média salarial dentro do depto:

dep,num empreg,media_sal

(

dept

count

(cpf)

,

average

(salario

)

(E

mp))

(16)

AMCM 16

Outras operações da Álgebra

Relacional

Outer Join

Left Outer Join: ]X

Mantém cada tupla na 1

a

relação em R]X S; se

nenhuma tupla é achada em S, então os atributos de

S no resultado são preenchidos com nulos.

(17)

AMCM 17

Empregado

N

0

emp

Nome

End

Chefe

N

0

dep

100

Joao

R.X

200

15

120

Alfredo

R.y

100

10

150

Pedro

R.Z

100

10

200

Ana

R.X

300

15

250

Claudia

R.Z

200

15

300

Danielle

R.K

null

20

Departamento

Nomedep

N

0

dep

chefe

Pessoal

10

100

Inform

15

200

Admin

20

300

(18)

AMCM 18

Left Outer Join

Exemplo:

Empregado (n

0

emp, nome, chefe, n

0

dep)

Depto(nomedep, n

0

dep, chefe)

Listar os nomes dos empregados e nome dos deptos

que eles gerenciam, quando for o caso

Res

nome, nomedep

(Empregado ]X

n0emp=chefe

Departamento)

(19)

AMCM 19

Res

Nome

Nomedep

João

Pessoal

Alfredo

Null

Pedro

Null

Ana

Inform

Claudia

Null

Danielle

Admin

(20)

AMCM 20

Outras operações da Álgebra

Relacional - cont

Right Outer Join (X[)

Mantém cada tupla na 2

a

relação em R X [S;

(21)

AMCM 21

Right Outer Join (X[)

Nome

Nomedep

João

Pessoal

Ana

Inform

Danielle

Admin

Null

Biblioteca

Res

(22)

AMCM 22

Outras operações da Álgebra

Relacional - cont

Full Outer Join (]X[)

Mantém todas as tuplas em ambas

relações quando nenhuma tupla é

encontrada

Res

nome, nomedep

(Empregado ] X [

n0emp=chefe

Departamento)

(23)

AMCM 23

Full

Outer Join (]X[)

Nome

Nomedep

João

Pessoal

Alfredo

null

Pedro

null

Ana

Inform

Claudia

null

Danielle

Admin

Null

Biblioteca

Res

(24)

AMCM 24

Outras operações da Álgebra

Relacional - cont

Outer Union Join

Realiza a união de tuplas de 2 relações

que não são união-compatíveis (UC),

mas parcialmente compatíveis

(25)

AMCM 25

Outer Union Join

Exemplos

Ex 1:

A

B

Res

a

b

d

a

b

c

d

11

12

13

1 2 3 null

14

15

16

4

5 6 null

7 8 9 null

11

12 null 13

14 15 null 16

a

b

c

OUJ

1

2

3

4

5

6

7

8

9

Ex 2:

Aluno ( nome, matr, dep, orientador)

Prof (nome, matr, dep, grau)

(26)

AMCM 26

Finalmente, a Álg. Relac é:

Conjunto de operações

completo

, isto é,

qualquer uma das outras operações pode ser

expressa como uma seqüência de operações

deste conjunto.

As linguagens de consultas baseadas na Álgebra

Relacional são denominadas

procedurais

É necessário especificar a seqüência e a ordem

dos operadores a serem executados

(27)

AMCM 27

Exemplos de consultas

Empregado(cpf,nome,data_nasc,sal,ndep)

Dept(ndep,cpf_gerente,data_inicio)

Trabalha(cpf,nproj,nhoras)

Projeto(nproj,nomepr,nhoras)

Exemplos:

1.

Que empregados são chefes de

departamento com menos de 30 anos?

R



nome

( (

data_nasc >1983

(E

mp

) 

(

cpf_gerente

(

Dep

))

(28)

AMCM 28

Exemplos de consultas (cont)

2.

Empregados que ganham mais do que

R$5.000,00 e que trabalham no projeto “Web

Semântica”

R

nome

(

cpf,nome

(

sal >5000

(E

mp

))  (

cpf

(

Trabalha

)

 (

proj

(

nomepr=“Web Semant”

(

Proj

))))

3.

Que empregados trabalham em todos

os projetos?

(29)

AMCM 29

Exemplos de consultas (cont)

4.

Que empregados trabalham em algum

projeto que o Silva trabalha?

R



nome

(

EMP

cpf

(Trabalha

(

nproj

(Trabalha)

 

cpf

(

nome=“Silva”

(E

mp

)))))

5.

Liste os empregados que trabalham em

mais de 3 projetos

Total_emp(cpf,nºproj)

cpf

count

(

nproj

)

(Trabalha))

(30)

AMCM 30

Exemplos de consultas (cont)

6. Liste os nomes dos empregados que

trabalham em todos os projetos em

que João Silva trabalha.

R

nome

(Emp

 

cpf

(

Trabalha

nproj

(Trabalha

 

cpf

(

nome=“João Silva”

(Emp)))))

7. Liste os nomes dos empregados que não

trabalham no depto 5.

(31)

AMCM 31

ISBL

(Information System Base Language)

Linguagem baseada na Álgebra Relacional

IBM – Inglaterra para utilização PRTV (Peterlee Relational Test

Vehicle)

Álgebra Relacional

ISBL

R U S

R + S

R – S

R – S

R

S

R . S

σ

F

(R)

R : F

π

A1, ... , An

(R)

R % A

1

,

... ,A

n

R

S

R * S

LIST

(impressão valores)

N! (avaliação por nome). Retarda avaliação

(32)

AMCM 32

Consultas em ISBL

ASSOCIADOS

(NOME, ENDER,BALANÇA)

PEDIDOS

(NORD, NOME, ITEM, QUANT)

FORNECEDORES

(NOMEF, ENDF, ITEM, PREÇO)

(1) Liste o nome dos associados com balança negativa

LIST ASSOCIADOS : BALANÇA < 0 % NOME

(2) Liste nome fornecedor, itens e preços de todos

fornecedores que forneçam no minimo 1 item encomendado

por silva

T = N ! FORNECEDORES * N ! PEDIDOS

(33)

AMCM 33

Cálculo Relacional

Também denominado Cálculo de Predicados

baseado na Lógica de 1

a

Ordem (LPO)

LPO: sistema formal p/ definição de teorias a

respeito de um universo de discurso. Definida a

partir de um alfabeto

parênteses

variáveis, constantes, símbolos funcionais,

predicados

conectivos lógicos:

,

,

,

,

quantificadores universal (

), existencial (

)

Uma instância de um BDR é uma interpretação

(34)

AMCM 34

Notação utilizada pela LPO

Termo:

definido recursivamente como constante ou

variável, ou se f é um símbolo funcional de aridade

n, e se t

1

, ..., t

n

são termos, então f(t

1

, ..., t

n

) são

termos.

Fórmula Atômica (fa):

Se p é um predicado, e t

1

,

..., t

n

são termos, então p(t

1

, ..., t

n

) é uma fórmula

atômica

Literal:

é uma fórmula atômica ou a sua negação

Fórmulas bem Formadas (fbf):

definidas

recursivamente, como sendo uma fórmula atômica

ou como a combinação qualquer de fa, através de

conectivos lógicos.

(35)

AMCM 35

Cálculo Relacional de Tuplas

Representação:

{t|

(t)}

t: variável do tipo tupla

:fbf

Letras maiúsculas: relações

minusc: tuplas, variáveis

Os átomos da fórmula  são de 3 tipos:

R(s), onde s é uma tupla de R;

s.i

u.j

, i.e, o i-ésimo elemento da tupla s está

relacionado ao j-ésimo elemento da tupla u;

(36)

AMCM 36

Variável livre/ ligada

Variável ligada: associada a um

quantificador (

,

) - resultado

V/F;

Exs:

(

s) (

):

um valor s tq quando

substituída por todas as ocorrências de s

em

, a fórmula

torna-se

V

;

(

s

) (

): a fórmula

torna-se

V

p/ qq

ocorrência de s em

.

(37)

AMCM 37

Fórmulas bem formadas

Para ser uma fórmula é necessário obedecer às seguintes

regras:

1.

Todo átomo é uma fórmula;

2.

Se

1

e

2

são fórmulas

(

1



2

), (

1



2

) e (



1

) são

fórmulas;

3.

Se

1

é uma fórmula

(

s)(

) é uma fórmula;

4.

Se

1

é uma fórmula

(

s)(

) é uma fórmula;

5.

Parênteses podem ser colocados quando necessário.

Ordem de precedência dos operadores:

1.

1

0

: operadores relacionais;

2.

2

0

:

,

3.

3

0

:

,

,

(38)

AMCM 38

CRT X Álgebra Relacional

Operadores da Álgebra Relacional

podem ser expressos na forma de

CRT

Exercício

Expressar os operadores união,

diferença, prod. cartesiano, projeção e

seleção em termos de CRT

(39)

AMCM 39

Transformando operadores

Alg

CRT

1.

União:

{t|R(t)

S(t)}

2.

Diferença:

{t| R(t)

S(t)}

3.

Seleção:

{t| R(t)

F´}

4.

Projeção:

{u.a

1

...u.a

k

)

| (

t)R(t)

u.a

1

=t.a

i

...

... u.a

k

=t.a

i+k

}

5.

Prod.

Cart:W=RXS

{q.a

1

...q.a

n+k

W(q)|

(

t)R(t

n

)

(

u)S(u

k

)

q.a

1

=t.a

1

...

...

q.a

n

=t.a

n

q.a

n+1

=u.b

1

...

...

q.a

n+k

=u.b

k

}

(40)

AMCM 40

Consultas em CRT

Empregado(cpf,nome,data_nasc,sal,ndep)

Dept(ndep,cpf_gerente,data_inicio)

Trabalha(cpf,nproj,nhoras)

Projeto(nproj,nomepr,nhoras)

Exemplos:

1.

Que empregados são chefes de departamento com

menos de 30 anos?

{e.nome| Emp(e)

e.data_nasc > 1983

(

d) Dept(d)

(41)

AMCM 41

Exemplos

2.

Empregados que ganham mais do que

R$5.000,00 e que trabalham no projeto “Web

Semântica”

{e.nome| Emp(e)

e.sal>5000

(

t) Trabalha(t)

e.cpf=t.cpf

(

p) Projeto(p)

t.nproj=p.nproj

p.nomeproj= “Web Semântica”}

Ou

{e.nome| Emp(e)

e.sal>5000

((

t) (

p)

Trabalha(t)

Projeto(p)

e.cpf=t.cpf

t.nproj=p.nproj

p.nomeproj= “Web

Semântica”)}

(42)

AMCM 42

Exemplos

3.

Que empregados trabalham em algum

projeto em que Silva trabalha?

{e.nome| Emp(e)

((

p) Projeto(p)

(

p1) Projeto(p1)

(

e1) Emp(e1)

e1.nome= “Silva”

(

t) Trabalha(t)

t.cpf=e1.cpf

(

t1) Trabalha(t1)

t.nproj=t1.nproj)

t1.cpf=e.cpf)}

4.

Empregados que não trabalham no projeto

“Portais Semânticos”

{e.nome| (Emp(e)

(

t) Trabalha(t)

t.cpf=e.cpf

(

(

p)

(Projeto(p)

p.nome= “Portais Semânticos”

(43)

AMCM 43

Transformações de quantificadores

É possível transformar fbf que utilizam quantificadores

existenciais em expressões equivalentes:

(

x) (P(x))



(

x)

(P(x))

(

x) (P(x))



(

x)

(P(x))

(

x) (P(x)

Q(x))

(

x) ((

P(x))

(

Q(x)))

(

x) (P(x)

Q(x))

(

x) ((

P(x))

(

Q(x)))

(

x) (P(x)

Q(x))

(

x) ((

P(x))

(

Q(x)))

(

x) (P(x)

Q(x))

(

x) ((

P(x))

(

Q(x)))

Além disso, são válidas também as expressões:

(

x) (P(x))

(

x) (P(x))

(

x) (P(x))

(

x) (P(x))

a

b

a

b

(44)

AMCM 44

Divisão

5.

Que empregados trabalham em

todos os projetos?

{e.nome| Emp(e)

((p) Projeto(p)

(t)

(Trabalha(t)

e.cpf=t.cpf

t.nproj=p.nproj))}

6.

Que empregados trabalham em

todos os projetos em que o Silva

trabalha?

(45)

AMCM 45

Re-fraseando a consulta

“Não existe um só projeto em que o

Silva trabalhe e que alguém não

trabalhe”

{e.nome| Emp(e)

(

(

p) (Projeto(p)

(

e1) Emp(e1)

e1.nome=“Silva”

(

t1)

(Trabalha(t1)

e1.cpf=t1.cpf ))

(

(

t)

Trabalha(t)

t.nproj=t1.nproj

(46)

Outras soluções

{e.nome| Emp(e)

((

p) (

(Projeto(p))

((

e1)

Emp(e1)

e1.nome=“Silva”

(

t1) (Trabalha(t1)

e.cpf=t1.cpf ))

((

t) (Trabalha(t)

t.nproj=t1.nproj

e.cpf=t.cpf))))

Decompondo a consulta:

{e.nome| Emp(e)

F´}

F´= ((

p) (

(Projeto(p))

F1))

F1=

((

e1) Emp(e1)

e1.nome=“Silva”

(

t1)

(Trabalha(t1)

e.cpf=t1.cpf ))

F2

F2= ((

t) (Trabalha(t)

t.nproj=t1.nproj

.cpf=t.cpf))

(47)

AMCM 47

Restringindo o CRT a relações finitas

O CRT permite expressões do tipo:

{t| 

(t)}

Hipótese do mundo fechado:

Domínio de uma fórmula - Dom(

):

Conjunto de todos os valores que

aparecem explicitamente em

ou em

uma ou mais relações cujos nomes

aparecem em

(48)

AMCM 48

Expressões seguras (safe)

Uma expressão {t| 

(t)} é segura se

atender às seguintes condições:

1.

Todos os valores que aparecem nas tuplas da

expressão são valores de Dom(

);

2.

Para cada sub-fórmula da forma (

s)(

(s)), a

sub-fórmula é V sse existir uma tupla com valores do

Dom(

) tq

(s) é V;

3.

Para cada sub-fórmula da forma (

s)(

(s)), a

sub-fórmula é V se todos os valores do Dom(

) forem V

para

(s).

Objetivo:

garantir que somente valores do

(49)

AMCM 49

Álgebra Relac. X CRT

O CRT, quando restrito à

expressões seguras, tem

expressividade equivalente

à

Álg. Relacional (completeza

relacional)

(50)

AMCM 50 {u(r)

(

t

1

) … (

t

k

) (R

1

(t

1

)

R

k

(t

k

)

u[1] = t

i1

[j

1

]

… u[r]= t

i1

[j

1

]}

Linguagem QUEL

Linguagem baseada no Cálculo Relacional de Tuplas

Sistema Ingres (Univ. of California, Berkley, inicio dos anos

70, Stonebraker)

S.O Unix, usada como linguagem interativa ou com ling.

hospedeira

Representação:

Range of t

1

is R

1

Range of t

2

is R

2

Range of t

k

is R

k

Retrieve (t

i1

.A

1

,……., t

ir

.A

r)

Where

´

(51)

AMCM 53

Cálculo Relacional de Domínios - CRD

O CRD

atua

sobre variáveis domínio, ao invés

de tuplas

Mesmo formalismo utilizado no CRT

Principais diferenças:

Os componentes das tuplas são variáveis domínio;

Átomos são da forma:

R(x

1

x

2

...x

n

), onde R é uma relação n-ária e os x

i

são

constantes ou variáveis dom;

x

y, onde x, y são constantes ou variáveis dom, e

um op. relacional;

Uso de conectivos (

,

,

) e quantificadores p/

(52)

AMCM 54

Cálculo Relacional de Domínios -

CRD

Representação

{(x

1

x

2

...x

n

) |

(x

1

x

2

...x

n

)}

: fórmula cujas únicas variáveis domínio

livres são as var. x

1

x

2

...x

n

Exercícios

(53)

AMCM 55

Exemplo

1.

Que empregados são chefes de departamento

com menos de 30 anos?

{nome|(

data) (

cpf) (

cpfger) (

sal) (

dep)

(Emp(cpf,nome,data,sal,dep)

data>1983

Dep(ndep,cpfger,data_in)

cpfger:cpf))}

2.

Que empregados ganham mais do que

R$5.000,00 e trabalham no projeto “Web

Semântica”?

{nome|(

sal) (

cpf) (

cpft) (

npr) (

nomep) (

nproj)

(

nhor) (

dep) (Emp(cpf,nome,data,sal,dep)

cpf:cpft

sal>5.000

Trabalha(cpft,nproj,nhor)

(Projeto(npr,nomep,nh)

npr=nproj

nomep=“

Web

(54)

AMCM 56

Query By Example - QBE

Zloof 1977, IBM

Exemplo:

listar os empregados e projetos em que os

empregados do depto 5 estão alocados

nome cpf...dpto

Empregado

Trabalha

cpf numproj horas

5

x

p.

Referências

Documentos relacionados

a) um texto descritivo para um texto narrativo; b) a fala do narrador para a fala do personagem; c) um tempo passado para um tempo presente; d) um tempo presente para um tempo

Objeto da Licitação: O objeto do presente Pregão Presencial é a proposta mais vantajosa para a aquisição de madeiras serrada, conforme solicitação da Secretaria

Obrigado e parabéns por adquirir a ZUMBA MOSQUITO TRAP - CMT20 - - para armadilha colcapsável para captura de mosquitos da ISCA Tecnologias.. Este produto é resultado de anos

Esse é um saber empírico sobre si mesma, e essa questão foi a principal e mais relevante para as mulheres, no retorno à vida sexual, após o parto: sentir-se pronta e sentir que

create table PersonAddress ( personId bigint not null primary key, addressId bigint not null ) create table Address ( addressId bigint not null primary key

• A música popular tradicional no Brasil: a permanência das tradições musicais nas comunidades (funções e sentidos); características dos fatos e da música de tradição oral

Os dados de monitoramento do ar do Distrito Federal somente estão disponíveis em relatórios mensais, para apenas 5 dias (poluentes: PTS, fumaça e duas estações iniciaram

(...) a carência da cor local (tanto brasileira quanto estrangeira, pois o vago da ambiência torna-se cada vez mais incômodo à medida que caminha a narrativa) é um fato