banco de dados - wordpress.com · 2012. 10. 30. · aula 12 banco de dados adaptado dos slides do...

19
Disciplina: http://docente.ifrn.edu.br/edmilsoncampos/ [email protected] @edmilsonbcn Edmilson Campos, Prof. AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN – CNAT.

Upload: others

Post on 02-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Disciplina:

http://docente.ifrn.edu.br/edmilsoncampos/

[email protected]

@edmilsonbcn

Edmilson Campos, Prof.

AULA 12

Banco de Dados

Adaptado dos slides do Prof. José Antônio, IFRN – CNAT.

Page 2: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Introdução

Edmilson Campos ([email protected])2

Page 3: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])3

Page 4: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

»

»

»

»

»

Edmilson Campos ([email protected])4

Page 5: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Cod_Cli Nome_Cli Sexo_Cli Renda_Cli RG_Cli

1 João Carlos M 5000.00 123456

2 Daniel M 6000.00 145678

3 Helena F 6000.00 564333

4 Roberta F 5000.00 564322

5 Renata F 3000.00 654321

6 Giovanna F 3500.00 564322

Tabela Cliente

Cod_Func Nome_Func Sexo_Func Sal_Func Data_CadFunc

1 Salvador M 7000.00 03/01/1995

2 Antônio M 6000.00 06/05/1998

3 Antonieta F 6500.00 07/08/1998

4 Eduardo M 4000.00 06/08/2000

5 Leny F 3000.00 06/08/2001

Tabela Funcionário

Edmilson Campos ([email protected])5

Page 6: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])6

SELECT 'Funcionário' AS TIPO,

Nome_Func AS NOME,

Sexo_Func AS SEXO,

Sal_Func AS SEXO,

Data_CadFunc AS 'DATA DE CADASTRO',

RG = null

FROM Funcionario

UNION ALL

SELECT 'Cliente',

Nome_Cli,

Sexo_Cli,

Renda_Cli,

Null,

RG_Cli

FROM Cliente

ORDER BY tipo

TIPO NOME SEXO DATA DE CADASTRO

RG

Cliente João Carlos M NULL 123456

Cliente Daniel M NULL 145678

Cliente Helena F NULL 564333

Cliente Roberta F NULL 564322

Cliente Renata F NULL 654321

Cliente Giovanna F NULL 564322

Funcionário Salvador M 03/01/1995 NULL

Funcionário Antônio M 06/05/1998 NULL

Funcionário Antonieta F 07/08/1998 NULL

Funcionário Eduardo M 06/08/2000 NULL

Funcionário Leny F 06/08/2001 NULL

Page 7: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])7

Page 8: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

»

»

Edmilson Campos ([email protected])8

Page 9: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])9

Cod_Pai Nome_Pai Idade_Pai

1 Daniel de Souza Leão Sobrinho 62

2 João Carlos da Silva 38

3 Fernando de Oliveira 36

Cod_Filho Cod_Pai Nome_Filho Sexo_Filho

1 1 Renata de Oliveira Leão F

2 1 Fernando de Oliveira Leão M

3 1 Roberta de Oliveira Leão F

4 1 Jairo de Oliveira Leão M

5 2 Giovanna da Silva F

6 3 Lucas Ribeiro Oliveira M

7 3 Helder Ribeiro Oliveira M

Page 10: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])10

▪»

▪»

SELECT Pai.Nome_Pai AS ‘Nome do Pai’,

Filho.Nome_Filho AS ‘Nome do Filho’,

Filho.Sexo_Filho AS Sexo

FROM Pai INNER JOIN Filho

ON (Pai.Cod_Pai = Filho.Cod_Pai)

SELECT *

FROM Pai INNER JOIN Filho

ON Pai.Cod_Pai = Filho.Cod_Pai

Page 11: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])11

Cod_Emp Nome_Emp Cod_Chefe

1 João Null

2 Matheus 1

3 Lucas 1

4 Pedro 2

5 Thiago 2

6 José 2

7 Tânia 1

8 Joana 3

9 Rosana 3

10 Maria 4

SELECT C.Nome_Emp AS Chefe,

E.Nome_Emp AS Empregado

FROM Empregado C, Empregado E

WHERE C.Cod_Emp = E.Cod_Chefe

ORDER BY C.Nome

Page 12: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

SELECT Pai.Nome_Pai AS ‘Nome do Pai’,

Filho.Nome_Filho AS ‘Nome do Filho’,

Filho.Sexo_Filho AS Sexo

FROM Pai LEFT OUTER JOIN Filho

ON Pai.Cod_Pai = Filho.Cod_Pai

Esse consulta retorna

todos os pais com

filhos ou não

SELECT Pai.Nome_Pai AS ‘Nome do Pai’,

Filho.Nome_Filho AS ‘Nome do Filho’,

Filho.Sexo_Filho AS Sexo

FROM Pai RIGHT OUTER JOIN Filho

ON (Pai.Cod_Pai = Filho.Cod_Pai)

Esse consulta retorna

todos os filhos com

pais registrados ou

não no sistema

Edmilson Campos ([email protected])12

Page 13: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])13

SELECT Pai.Nome_Pai AS ‘Nome do Pai’,

Filho.Nome_Filho AS ‘Nome do Filho’,

Filho.Sexo_Filho AS Sexo

FROM Pai FULL OUTER JOIN Filho

ON (Pai.Cod_Pai = Filho.Cod_Pai)

Page 14: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])14

Select Pedido.Num_Ped,

Material.Nome_Mat

FROM Pedido CROSS JOIN Material

Cod_Mat Nome_Mat

1 Caderno

2 Lápis

3 Borracha

4 Caneta

Num_Ped Data_Ped

1 24/06/2002

2 06/08/2002

Tabela Pedido Tabela Material

Page 15: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])15

SELECT DISTINCT Pai.Nome_Pai AS ‘Nome do Pai’,

Filho.Nome_Filho AS ‘Nome do Filho’,

Notas.Nota_Filho AS ‘Nota do Filho’

FROM Pai INNER JOIN Filho ON (Pai.Cod_Pai = Filho.Cod_Pai)

INNER JOIN Notas ON (Filho.Cod_Filho = Notas.Cod_Filho)

Retorna todos os filhos e seus

respectivos pais e suas notas

Page 16: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])16

SELECT DISTINCT Pai.Nome_Pai AS ‘Nome do Pai’,

Filho.Nome_Filho AS ‘Nome do Filho’,

Notas.Nota_Filho AS ‘Nota do Filho’

FROM Pai INNER JOIN Filho ON (Pai.Cod_Pai = Filho.Cod_Pai)

LEFT JOIN Notas ON (Filho.Cod_Filho = Notas.Cod_Filho)

Retorna todos os filhos e seus

respectivos pais e suas notas,

inclusive os filhos sem notas

Page 17: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])17

SELECT DISTINCT Pai.Nome_Pai AS ‘Nome do Pai’,

Filho.Nome_Filho AS ‘Nome do Filho’,

Notas.Nota_Filho AS ‘Nota do Filho’

FROM Pai LEFT JOIN Filho ON (Pai.Cod_Pai = Filho.Cod_Pai)

LEFT JOIN Notas ON (Filho.Cod_Filho = Notas.Cod_Filho)

Retorna todos os filhos e seus

respectivos pais e suas notas.

Mostra também os pais com filhos e

filhos sem notas e os pais sem filhos.

Page 18: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])18

SELECT DISTINCT Pai.Nome_Pai AS ‘Nome do Pai’,

Filho.Nome_Filho AS ‘Nome do Filho’,

Notas.Nota_Filho AS ‘Nota do Filho’

FROM Pai FULL JOIN Filho ON (Pai.Cod_Pai = Filho.Cod_Pai)

FULL JOIN Notas ON (Filho.Cod_Filho = Notas.Cod_Filho)

Retorna pai com filho e filho

com nota, e filho sem pai e

sem nota.

Page 19: Banco de Dados - WordPress.com · 2012. 10. 30. · AULA 12 Banco de Dados Adaptado dos slides do Prof. José Antônio, IFRN –CNAT. ... 3 Antonieta F 6500.00 07/08/1998 4 Eduardo

Edmilson Campos ([email protected])19