algebra relacional | aula 3

36
Referência: Prof. Fábio Silvestre BANCO DE DADOS Professor: Luciano Vale, MSc. Contato: [email protected]

Upload: fagnermota-barros

Post on 26-Mar-2016

225 views

Category:

Documents


1 download

DESCRIPTION

Professor Luciano

TRANSCRIPT

Page 1: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

BANCO DE DADOS

Professor: Luciano Vale, MSc. Contato: [email protected]

Page 2: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Tabela A x Tabela B

Page 3: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Grupo_A x Grupo_B

Time

Bahia

São Paulo

Palmeiras

Grupo_A

Clube

Atlético-MG

Cruzeiro

Grêmio

Grupo_B

Page 4: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Grupo_A x Grupo_B

Bahia

São Paulo

Palmeiras

Grupo A

Atlético-MG

Cruzeiro

Grêmio

Grupo B

Page 5: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Time

Bahia

São Paulo

Palmeiras

Grupo_A

Clube

Atlético-MG

Cruzeiro

Grêmio

Grupo_B

Time

Bahia

Bahia

Bahia

Clube

Atlético-MG

Cruzeiro

Grêmio

São Paulo

São Paulo

São Paulo

Atlético-MG

Cruzeiro

Grêmio

Palmeiras

Palmeiras

Palmeiras

Atlético-MG

Cruzeiro

Grêmio

Grupo_A X Grupo_B

Page 6: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

¶ Funcionario.Nome, Funcionario.Data_Admissão ( Cargo.Codigo = 'C4' ^ Funcionario.Cod_Cargo = Cargo.Codigo ( FUNCIONARIO X CARGO))

Produto Cartesiano

q

SeleçãoProjeção

Page 7: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Código Valor

C1 350,00

C3 800,00

C7 2500,00

C2 400,00

Nome

Aux. Vendas

Vendedor

Diretor

Vigia

C5 1000,00Gerente

C4 250,00Aux. Cobrança

NumeroData_Admiss

ao

101 10/08/2003

104 02/03/2004

134 23/05/2002

121 10/12/2001

Nome

Luís Sampaio

Carlos Pereira

Jose Alves

Luís Paulo Souza

195 05/01/2002Marta Silveira

139 12/01/2003Ana Luiza Magalhães

Sexo

M

M

M

M

F

F

Cod_Cargo

C3

C4

C5

C3

C1

C4

Cod_Depto

D5

D6

D1

D5

D5

D6

123 29/06/2003

148 01/06/2002

Pedro Sergio Doto

Larissa Silva

115 15/10/2003Roberto Fernandes

22 10/02/2000Sergio Nogueira

M

F

M

M

C7

C4

C3

C2

D3

D6

D5

D4

CARGO FUNCIONARIO

CHAVE ESTRANGEIRA

CHAVE PRIMÁRIA

¶ Funcionario.Nome, Funcionario.Data_Admissão( Cargo.Codigo = 'C4' ^ Funcionario.Cod_Cargo =

Cargo.Codigo ( FUNCIONARIO X CARGO))

q

Data_Admissao

02/03/2004

Nome

Carlos Pereira

12/01/2003Ana Luiza Magalhães

01/06/2002Larissa Silva

Page 8: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

RESULTADO DA

PROJEÇÃO

RESULTADO DA SELEÇÃO

RESULTADO DO

PRODUTO CARTESIANO

Conjunto de dados processados ou que serão processados

Conjunto de dados em processamento ou finalizado

Cargo.Codigo = 'C4' ^ Funcionario.Cod_Cargo = Cargo.Codigoq

¶ Funcionario.Nome,

Funcionario.Data_Admissão

TABELAFUNCIONARIO

TABELACARGO

FUNCIONARIO x CARGO

Page 9: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

RESULTADO DA

PROJEÇÃO

RESULTADO DA SELEÇÃO

RESULTADO DO

PRODUTO CARTESIANO

Conjunto de dados processados ou que serão processados

Conjunto de dados em processamento ou finalizado

Cargo.Codigo = 'C4' ^ Funcionario.Cod_Cargo = Cargo.Codigoq

¶ Funcionario.Nome,

Funcionario.Data_Admissão

TABELAFUNCIONARIO

TABELACARGO

FUNCIONARIO x CARGO

Page 10: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

RESULTADO DA

PROJEÇÃO

RESULTADO DA

SELEÇÃO

RESULTADO DO

PRODUTO

CARTESIANO

Conjunto de dados processados ou

que serão processados

Conjunto de dados em processamento

ou finalizado

Cargo.Codigo = 'C4' ^ Funcionario.Cod_Cargo = Cargo.Codigoq

¶ Funcionario.Nome, Funcionario.Data_Admissão

TABELA

FUNCIONARIO

TABELA

CARGO

FUNCIONARIO x CARGO

Page 11: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

RESULTADO DA

PROJEÇÃO

RESULTADO DA

SELEÇÃO

RESULTADO DO

PRODUTO

CARTESIANO

Conjunto de dados processados ou

que serão processados

Conjunto de dados em processamento

ou finalizado

Cargo.Codigo = 'C4' ^ Funcionario.Cod_Cargo = Cargo.Codigoq

¶ Funcionario.Nome, Funcionario.Data_Admissão

TABELA

FUNCIONARIO

TABELA

CARGO

FUNCIONARIO x CARGO

Page 12: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

p <NOVO NOME> (TABELA)

Page 13: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

¶ Cliente2.Nome, Cliente2.Rua, Cliente2.Cidade ( Cliente2.Rua = Cliente.Rua ^ Cliente2.Cidade = Cliente.Cidade ( Nome = 'Carlos Pereira'(CLIENTE)) x (p CLIENTE2 (CLIENTE))))

Produto Cartesiano

q

SeleçãoProjeção

q

Seleção

Codigo

1

2

3

Nome

Luis Sampaio

Carlos Pereira

Jose Alves

4 Luis Paulo Souza

Rua

Rua A

Rua B

Rua C

Rua B

Cidade

Rio de Janeiro

Niterói

Rio de Janeiro

Niterói

Cliente

Page 14: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

RESULTADO DO PRODUTO

CARTESIANO

RESULTADO DA SELEÇÃO

RESULTADO DA SELEÇÃO

Conjunto de dados processados ou que serão processados

Conjunto de dados em processamento ou finalizado

TABELACLIENTE

TABELARENOMEADA

CLIENTE2

RESULTADO DA PROJEÇÃO

p CLIENTE2(CLIENTE) Nome = 'Carlos Pereira' (CLIENTE)q

CLIENTE2 x ( Nome = 'Carlos Pereira' (CLIENTE))q

Cliente2.Rua = Cliente.Rua ^ Cliente2.Cidade = Cliente.Cidadeq

¶ Cliente2.Nome, Cliente2.Rua, Cliente2.Cidade

Codigo

1

2

3

Nome

Luis Sampaio

Carlos Pereira

Jose Alves

4 Luis Paulo Souza

Rua

Rua A

Rua B

Rua C

Rua B

Cidade

Rio de Janeiro

Niterói

Rio de Janeiro

Niterói

Cliente

Page 15: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

RESULTADO DO PRODUTO

CARTESIANO

RESULTADO DA SELEÇÃO

RESULTADO DA SELEÇÃO

Conjunto de dados processados ou que serão processados

Conjunto de dados em processamento ou finalizado

TABELACLIENTE

TABELARENOMEADA

CLIENTE2

RESULTADO DA PROJEÇÃO

p CLIENTE2(CLIENTE) Nome = 'Carlos Pereira' (CLIENTE)q

CLIENTE2 x ( Nome = 'Carlos Pereira' (CLIENTE))q

Cliente2.Rua = Cliente.Rua ^ Cliente2.Cidade = Cliente.Cidadeq

¶ Cliente2.Nome, Cliente2.Rua, Cliente2.Cidade

Codigo

1

2

3

Nome

Luis Sampaio

Carlos Pereira

Jose Alves

4 Luis Paulo Souza

Rua

Rua A

Rua B

Rua C

Rua B

Cidade

Rio de Janeiro

Niterói

Rio de Janeiro

Niterói

Cliente2

Codigo

2

Nome

Carlos Pereira

Rua

Rua B

Cidade

Niterói

Resultado da Seleção

Page 16: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

RESULTADO DO PRODUTO

CARTESIANO

RESULTADO DA SELEÇÃO

RESULTADO DA SELEÇÃO

Conjunto de dados processados ou que serão processados

Conjunto de dados em processamento ou finalizado

TABELACLIENTE

TABELARENOMEADA

CLIENTE2

RESULTADO DA PROJEÇÃO

p CLIENTE2(CLIENTE) Nome = 'Carlos Pereira' (CLIENTE)q

CLIENTE2 x ( Nome = 'Carlos Pereira' (CLIENTE))q

Cliente2.Rua = Cliente.Rua ^ Cliente2.Cidade = Cliente.Cidadeq

¶ Cliente2.Nome, Cliente2.Rua, Cliente2.Cidade

Codigo

1

2

3

Nome

Luis Sampaio

Carlos Pereira

Jose Alves

4 Luis Paulo Souza

Rua

Rua A

Rua B

Rua C

Rua B

Cidade

Rio de Janeiro

Niterói

Rio de Janeiro

Niterói

Resultado do Produto Cartesiano

Rua

Rua B

Rua B

Rua B

Rua B

Cidade

Niterói

Niterói

Niterói

Niterói

Page 17: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

RESULTADO DO PRODUTO

CARTESIANO

RESULTADO DA SELEÇÃO

RESULTADO DA SELEÇÃO

Conjunto de dados processados ou que serão processados

Conjunto de dados em processamento ou finalizado

TABELACLIENTE

TABELARENOMEADA

CLIENTE2

RESULTADO DA PROJEÇÃO

p CLIENTE2(CLIENTE) Nome = 'Carlos Pereira' (CLIENTE)q

CLIENTE2 x ( Nome = 'Carlos Pereira' (CLIENTE))q

Cliente2.Rua = Cliente.Rua ^ Cliente2.Cidade = Cliente.Cidadeq

¶ Cliente2.Nome, Cliente2.Rua, Cliente2.Cidade

Codigo

2

Nome

Carlos Pereira

4 Luis Paulo Souza

Rua

Rua B

Rua B

Cidade

Niterói

Niterói

Resultado da Seleção

Rua

Rua B

Rua B

Cidade

Niterói

Niterói

Page 18: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

RESULTADO DO PRODUTO

CARTESIANO

RESULTADO DA SELEÇÃO

RESULTADO DA SELEÇÃO

Conjunto de dados processados ou que serão processados

Conjunto de dados em processamento ou finalizado

TABELACLIENTE

TABELARENOMEADA

CLIENTE2

RESULTADO DA PROJEÇÃO

p CLIENTE2(CLIENTE) Nome = 'Carlos Pereira' (CLIENTE)q

CLIENTE2 x ( Nome = 'Carlos Pereira' (CLIENTE))q

Cliente2.Rua = Cliente.Rua ^ Cliente2.Cidade = Cliente.Cidadeq

¶ Cliente2.Nome, Cliente2.Rua, Cliente2.Cidade

Nome

Carlos Pereira

Luis Paulo Souza

Rua

Rua B

Rua B

Resultado da Projeção

Cidade

Niterói

Niterói

Page 19: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Especiais - operadores adicionais, definidos pela álgebra relacional para manipulação de dados. São eles: seleção, projeção, junção, divisão, renomeação e alteração.

Teoria dos conjuntos - operadores usuais da teoria de conjuntos da matemática. São eles: união, intersecção, diferença e produto cartesiano.

Funções matemáticas de agregação - funções matemáticas de agregação para uma coleção de valores de dados. Entre as mais comuns estão a SOMA, MÉDIA, MÁXIMO, MÍNIMO e CONTADOR.

Page 20: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Codigo

1

2

3

Nome

Luis Sampaio

Carlos Pereira

Jose Alves

4 Luis Paulo Souza

Rua

Rua A

Rua B

Rua C

Rua B

Cidade

Rio de Janeiro

Niterói

Rio de Janeiro

Niterói

Cliente

Numero

256589

328941

749621

Saldo

1200,00

845,00

512,00

856200 2650,00

Cod_Agencia

1

3

4

2

Cod_Cliente

1

1

3

2

Conta

Numero

902230

902231

902240

Valor

500,00

1500,00

1200,00

902289 3000,00

Cod_Agencia

1

3

4

2

Cod_Cliente

1

1

2

3

Emprestimo

454501 800,00

468952 6920,00

3

2

4

3

902255

902299

850,00

700,00

902212 400,00

3

1

4

1

3

3

Page 21: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Tabela A U Tabela B

Page 22: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

¶ Cliente.Nome ( Conta.Cod_Agencia = 3 ^ Cliente.Codigo = Conta.Cod_Cliente ( CLIENTE X CONTA ))

Produto Cartesiano

qSeleçãoProjeção

U União

¶ Cliente.Nome ( Emprestimo.Cod_Agencia = 3 ^ Cliente.Codigo = Emprestimo.Cod_Cliente ( CLIENTE X EMPRESTIMO ))

Produto Cartesiano

q

SeleçãoProjeção

Nome

Luis Sampaio

Luis Paulo Souza

U

Resultado da Primeira Projeção

Nome

Luis Sampaio

Resultado da Segunda Projeção

Luis Sampaio

Nome

Luis Sampaio

Luis Paulo Souza

Resultado da União

Page 23: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Tabela A Tabela B

U

Page 24: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

¶ Cliente.Nome ( Conta.Cod_Agencia = 3 ^ Cliente.Codigo = Conta.Cod_Cliente ( CLIENTE X CONTA ))

Produto Cartesiano

qSeleçãoProjeção

U

Interseção

¶ Cliente.Nome ( Emprestimo.Cod_Agencia = 3 ^ Cliente.Codigo = Emprestimo.Cod_Cliente ( CLIENTE X EMPRESTIMO ))

Produto Cartesiano

q

SeleçãoProjeção

Nome

Luis Sampaio

Luis Paulo Souza

U

Resultado da Primeira Projeção

Nome

Luis Sampaio

Resultado da Segunda Projeção

Luis Sampaio

Nome

Luis Sampaio

Resultado da Interseção

Page 25: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Tabela A - Tabela B

Page 26: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

¶ Cliente.Nome ( Conta.Cod_Agencia = 3 ^ Cliente.Codigo = Conta.Cod_Cliente ( CLIENTE X CONTA ))

Produto Cartesiano

q

SeleçãoProjeção

-

Diferença

¶ Cliente.Nome ( Emprestimo.Cod_Agencia = 3 ^ Cliente.Codigo = Emprestimo.Cod_Cliente ( CLIENTE X EMPRESTIMO ))

Produto Cartesiano

q

SeleçãoProjeção

Nome

Luis Sampaio

Luis Paulo Souza

-

Resultado da Primeira Projeção

Nome

Luis Sampaio

Resultado da Segunda Projeção

Luis Sampaio

Nome

Luis Paulo Souza

Resultado da Diferença

Page 27: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Tabela A |X| A.CHAVE1 = B.CHAVE2 TABELA B

Page 28: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Codigo

1

1

1

Nome

Luis Sampaio

Luis Sampaio

Luis Sampaio

2 Carlos Pereira

Rua

Rua A

Rua A

Rua A

Rua B

Cidade

Rio de Janeiro

Rio de Janeiro

Rio de Janeiro

Niterói

Numero

902230

902255

902231

Valor

500,00

850,00

1500,00

902240 1200,00

Cod_Agencia

1

3

3

4

Cod_Cliente

1

1

1

2

902289

902299

3000,00

700,00

902212 400,00

2

1

4

3

3

3

CLIENTE |X| CLIENTE.CODIGO = EMPRESTIMO.COD_CLIENTE EMPRESTIMO

3

3

Jose Alves

Jose Alves

3 Jose Alves

Rua C

Rua C

Rua C

Rio de Janeiro

Rio de Janeiro

Rio de Janeiro

Page 29: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

¶ Cliente.Nome, Cliente.Cidade (CLIENTE |X| CLIENTE.CODIGO = EMPRESTIMO.COD_CLIENTE EMPRESTIMO)

Junção

Projeção

Page 30: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Tabela A |X| TABELA B

Page 31: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

¶ Cliente.Nome, Cliente.Cidade (CLIENTE |X| EMPRESTIMO)

Junção Natural

Projeção

Page 32: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

q¶ Cliente.Nome, Cliente.Cidade ( Cliente.Cidade = 'Niterói' (CLIENTE |X| EMPRESTIMO))

Junção Natural

Projeção Seleção

Nome

Carlos Pereira

Cidade

Niterói

Page 33: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Numero

256589

328941

749621

Saldo

1200,00

845,00

512,00

856200 2650,00

Cod_Agencia

1

3

4

2

Cod_Cliente

1

1

3

2

Conta

454501 800,00

468952 6920,00

3

2

4

3

Codigo

1

2

3

Nome

Rio Branco

Icarai

Leblon

4 Ipanema

Cidade

1

3

4

2

Agencia

Page 34: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

Tabela A TABELA B

-..

Page 35: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

¶ Cliente.Nome, Conta.Cod_Agencia ( CLIENTE |X| CONTA )

Junção Natural

Projeção

-Divisão

¶ Cod_Agencia ( Cidade = 'RIO DE JANEIRO' ( AGÊNCIA ))q

SeleçãoProjeção

.

.

Page 36: Algebra Relacional | Aula 3

Referência: Prof. Fábio Silvestre

-

Divisão

.

.Nome

Luis Sampaio

Luis Sampaio

Jose Alves

Cod_Agencia

1

3

4

Carlos Pereira 2

Luis Paulo Souza

Jose Alves

3

2

Luis Sampaio 4

Cod_Agencia

1

3

4

Nome

Luis Sampaio