MDADOS-03 Algebra Relacional v20120926 COPIA

76
ÁLGEBRA RELACIONAL BÁSICA Curso: Modelagem de Dados Prof. Marcelo Lucas 25/06/2012

Transcript of MDADOS-03 Algebra Relacional v20120926 COPIA

Page 1: MDADOS-03 Algebra Relacional v20120926 COPIA

ÁLGEBRA RELACIONAL BÁSICA

Curso: Modelagem de DadosProf. Marcelo Lucas

25/06/2012

Page 2: MDADOS-03 Algebra Relacional v20120926 COPIA

Álgebra Relacional

Tópicos / Agenda

� Definições do Modelo Relacional� Relações e Tuplas

� Atributos e Chaves

� Álgebra Relacional

� Descrição dos Operadores�Operações Monádicas

�Operações Diádicas

Page 3: MDADOS-03 Algebra Relacional v20120926 COPIA

Livro de Referência

� ELMASRI, R.; NAVATHE, S.B. (2011). Sistemas de Banco de Dados. 6ª Ed.

� Capítulo sobre Modelo de Dados Relacional

� Capítulo sobre Álgebra relacional

Page 4: MDADOS-03 Algebra Relacional v20120926 COPIA

ELMASRI, R.; NAVATHE, S.B. (2011). Capítulo sobre Modelo de Dados Relacional

Page 5: MDADOS-03 Algebra Relacional v20120926 COPIA

ELMASRI, R.; NAVATHE, S.B. (2011). Capítulo sobre Algebra Relacional

Page 6: MDADOS-03 Algebra Relacional v20120926 COPIA

Relações e Tuplas

Definições do Modelo Relacional

Page 7: MDADOS-03 Algebra Relacional v20120926 COPIA

Tupla

{(A1,D1,V1) ... (An,Dn,Vn)} é uma Tupla� Ai (i=1...n) Nomes dos Atributos (distintos)

� Di (i=1...n) Domínios dos Atributos

� Vi (i=1...n) Valores para os atributos

{(A1,D1) ... (An,Dn)} são Atributos (distintos)

Ex. Tupla: CPF (char) Nome (char) Telefone (char) UF (c) Salario (#)

333444555-88 Joaquim 21-88997766 RJ 7000

Page 8: MDADOS-03 Algebra Relacional v20120926 COPIA

Tipo de Tupla

{(A1,D1) ... (An,Dn)} definem o Tipo de Tupla� Ai (i=1...n) Nomes dos Atributos

� Di (i=1...n) Domínios dos Atributos

� (Ai, Di); i=1,...,n; Atributos DISTINTOS

Ex. Tipo de Tupla:

CPF (char) Nome (char) Telefone (char) UF (c) Salario (#)

Page 9: MDADOS-03 Algebra Relacional v20120926 COPIA

Relação

É um Conjunto de Tuplas distintas, respeitando um mesmo Tipo de Tupla.

Ex. Relação R =

CPF (char) Nome (char) Telefone (char) UF (c) Salario (#)

333444555-88 Joaquim 21-88997766 RJ 7000

222444555-77 Maria 21-77889900 RJ 7500

111222999-66 José 21-66554433 DF 5000

Page 10: MDADOS-03 Algebra Relacional v20120926 COPIA

Tipo da Relação

�Tipo da Relação é o mesmo que dizer Tipo de Tuplautilizado na Relação.

Ex. Tipo da Relação R:

CPF (char) Nome (char) Telefone (char) UF (c) Salario (#)

Page 11: MDADOS-03 Algebra Relacional v20120926 COPIA

Relações x Conjuntos

� Numa Relação todos os Elementos devem respeitar o Tipo da Relação (Homogeneidade de Elementos)

� Num Conjunto é possível Elementos de diversos Tipos. (permite Heterogeneidade de Elementos)

Page 12: MDADOS-03 Algebra Relacional v20120926 COPIA

Propriedades das Relação

� Cada TUPLA possui um único valor para cada atributo.

� Cada TUPLA é única na RELAÇÃO.

� Não existe ordenação de TUPLAs dentro de uma RELAÇÃO.

� Não existe ordenação de atributos numa TUPLA. Porém a ordenação pode ser importante em algumas formas adotadas para a representação de TUPLAs.

Page 13: MDADOS-03 Algebra Relacional v20120926 COPIA

Relação x Tabela

� Uma Relação pode ser visualizada com uma estrutura de Tabela.

� Em outra palavras, uma Tabela é uma representação visual de uma Relação.

Page 14: MDADOS-03 Algebra Relacional v20120926 COPIA

CPF Nome Telefone UF Salario

333444555-88 Joaquim 21-88997766 RJ 7000

222444555-77 Maria 21-77889900 RJ 7500

777222000-66 John DF 5000

777222000-66 John DF 5000

Relação x Tabela

CPF (char) Nome (char) Telefone (char) UF (c) Salario (#)

333444555-88 Joaquim 21-88997766 RJ 7000

CPF (char) Nome (char) Telefone (char) UF (c) Salario (#)

222444555-77 Maria 21-77889900 RJ 7500

CPF (char) Nome (char) Telefone (char) UF (c) Salario (#)

111222999-66 José 21-66554433 DF 5000

LINHA

COLUNA

TUPLAS RELAÇÃO

TABELA

NULL

CABEÇALHO

DUPLICADAS

TIPO OU CABEÇALHODA RELAÇÃO

CPF (char) Nome (char) Telefone (char) UF (c) Salario (#)

NULL

Page 15: MDADOS-03 Algebra Relacional v20120926 COPIA

Atributos Espaciais em uma Relação

Definições do Modelo Relacional

Page 16: MDADOS-03 Algebra Relacional v20120926 COPIA

Atributos Especiais em uma Relação

� Chave � Pode ser composta de um ou mais Atributos. Uma Chave é um conjunto de Atributos em uma relação. Geralmente o uso do termo Chave isoladamente se refere a uma Chave Primária ou uma Chave Candidata da Relação.

� Chaves Candidatas � Identificadores únicos de uma Tupla.� A chave candidata distingue as Tuplas numa Relação, ou seja, identifica unicamente uma

Tupla na Relação.

� Uma Chave Candidata não possui atributos supérfluos, em outras palavras: possui a quantidade mínima de Atributos necessária para a identificação unívoca.

� Chave Primária (Primary Key) � É uma Chave Candidata escolhida para ser utilizada como o identificador principal da Tupla.

� Chaves Secundárias (Alternate Key) � Demais Chaves Candidatas.

Page 17: MDADOS-03 Algebra Relacional v20120926 COPIA

Atributos Especiais em uma Relação

� Superchave

� Chaves Candidatas com, ou sem, atributos supérfluos.

� Note que a Chave Candidata NÃO aceita atributos supérfluos enquanto a Superchave aceita.

Page 18: MDADOS-03 Algebra Relacional v20120926 COPIA

Atributos Especiais em uma Relação

� Chave Estrangeira (Foreign Key) � Chave de Referência. É o mecanismo utilizado para se implementar Relacionamentos entre Tuplas no modelo relacional.

� A Chave Estrangeira em uma Tupla/Relação é a Chave Primária (ou Candidata) de uma segunda Tupla/Relação a qual se relaciona.

Page 19: MDADOS-03 Algebra Relacional v20120926 COPIA

Atributos e Chaves

� Exemplo de 2 Relações: Pessoa

Departamento

Matricula (PK)cpf

nome_pessoa

cod_departamento (FK)nome_ruanum_enderecocompl_enderecobairrocepcidadeRG

cod_departamento (PK)nome_departamentocod_localidade (FK)

Page 20: MDADOS-03 Algebra Relacional v20120926 COPIA

Definições

Álgebra Relacional

Page 21: MDADOS-03 Algebra Relacional v20120926 COPIA

Álgebra Relacional

� É um conjunto básico de operações sobre relações.

� O resultado de uma operação sobre uma ou mais relações gera uma outra relação

Page 22: MDADOS-03 Algebra Relacional v20120926 COPIA

Álgebra Relacional Básica

� Operações monádicas primitivas� Seleção (σσσσ)

� Projeção (ππππ)

� Renomeação (ρ)

� Operações diádicas primitivas� União (U)

� Diferença (-)

� Produto Cartesiano (XXXX)

� Operações diádicas adicionais� Intersecção (∩)

� Junção (⋈⋈⋈⋈)

� Divisão (÷)

Page 23: MDADOS-03 Algebra Relacional v20120926 COPIA

Letras Gregas

Page 24: MDADOS-03 Algebra Relacional v20120926 COPIA

Operações Monádicas Primitivas

Page 25: MDADOS-03 Algebra Relacional v20120926 COPIA

Seleção

� Seleção (ou Restrição) é a operação usada para selecionar um subconjunto de tuplas de uma relação R que satisfaça uma condiçãode seleção.

� É representada por:

σσσσ<condição> (R) ou σσσσφ (R)

� φ = <condição> :� Onde <condição> compara atributos e literais com o uso dos operadores:� De comparação: =, <>, <, >, <=, >=� Lógicos: and (∧), or (∨), not (¬)

Page 26: MDADOS-03 Algebra Relacional v20120926 COPIA

Seleção

� Representação gráfica�Obtenção de um subconjunto horizontal de uma relação R

tuplas que

satisfazem

uma condição

Page 27: MDADOS-03 Algebra Relacional v20120926 COPIA

BD exemplo

Cód. Nome Sexo Data Admis. Salário Depto.

10 Visconde M 01/02/1983 R$ 1230,00 3

20 Pedrinho M 29/07/1990 R$ 867,00 3

30 Dona Benta F 30/11/1992 R$ 2560,00 1

40 Emília F 22/02/1998 R$ 1170,00 2

50 Rabicó M 08/09/2000 R$ 2300,00 1

CódDepto. Nome Depto.

1 Administração

2 Contabilidade

3 Informática

Funcionário

Departamento

Page 28: MDADOS-03 Algebra Relacional v20120926 COPIA

Seleção

� Exemplo 1� Selecionar todos os funcionários do sexo feminino

σσσσSexo = ‘F’ (Funcionário)

Cód. Nome Sexo Data Admis. Salário Depto.

30 Dona Benta F 30/11/1992 R$ 2560,00 1

40 Emília F 22/02/1998 R$ 1170,00 2

Page 29: MDADOS-03 Algebra Relacional v20120926 COPIA

Seleção

� Exemplo 2� Selecionar todos os funcionários do sexo masculino que ganham mais de R$ 1000,00

σσσσSexo = ‘M’ ∧∧∧∧ Salário > 1000 (Funcionário)

Cód. Nome Sexo Data Admis. Salário Depto.

10 Visconde M 01/02/1983 R$ 1230,00 3

50 Rabicó M 08/09/2000 R$ 2300,00 1

Page 30: MDADOS-03 Algebra Relacional v20120926 COPIA

Atribuição

� Criação de uma nova Relação a partir do resultado de uma operação

S σσσσ<condição> (R)

� : Operador de atribuição

� S : Nova relação criada.

� O resultado da operação σσσσ<condição> (R) é atribuído à nova Relação S

Page 31: MDADOS-03 Algebra Relacional v20120926 COPIA

Projeção

� É a operação usada para selecionar determinadas colunas de uma relação R.

� Como o resultado será também uma relação, quaisquer eventuais tuplas em duplicidade são eliminadas. (Isto deve ser observado para qualquer operação).

� É representada como:

ππππ<lista de atributos> (R)

Page 32: MDADOS-03 Algebra Relacional v20120926 COPIA

Projeção

� Representação gráfica�Obtenção de um subconjunto vertical de uma relação R

colunas selecionadas

Page 33: MDADOS-03 Algebra Relacional v20120926 COPIA

Projeção

� Exemplo� Listar o nome, o sexo e o salário de todos os funcionários

ππππNome, Sexo, Salário (Funcionário)

Nome Sexo Salário

Visconde M R$ 1230,00

Pedrinho M R$ 867,00

Dona Benta F R$ 2560,00

Emília F R$ 1170,00

Rabicó M R$ 2300,00

Page 34: MDADOS-03 Algebra Relacional v20120926 COPIA

Seleção e Projeção

� As operações podem ser utilizadas em conjunto

� Exemplo� Selecionar o nome e o salário de todos os funcionários que ganham mais de R$ 2000,00

ππππNome, Salário (σσσσSalário > 2000 (Funcionário))

Nome Salário

Dona Benta R$ 2560,00

Rabicó R$ 2300,00

Page 35: MDADOS-03 Algebra Relacional v20120926 COPIA

Renomeação

� Objetivo� Renomear o nome de uma Relação

� Renomear os nomes de atributos

� Sintaxes:

ρ S (b1, b2, b3,... bn) (ππππa1, a2,... an (R))

ρ b1, b2, b3,... bn (ππππa1, a2,... an (R))

ρ S (R)

Page 36: MDADOS-03 Algebra Relacional v20120926 COPIA

Renomeação

� Formas equivalente de renomear a RELAÇÃO:

ρ S (b1, b2, b3,... bn) (ππππa1, a2,... an (R))

S ρ b1, b2, b3,... bn (ππππa1, a2,... an (R))

ρ S (R)

S R

Page 37: MDADOS-03 Algebra Relacional v20120926 COPIA

Renomear

� Exemplo� Listar o nome, o sexo e o salário de todos os funcionários, substituindo o nome das colunas para Alcunha, S e Vencimento.

S ρ Alcunha, S, Vencimento (ππππNome, Sexo, Salário (Funcionário))

Alcunha S Vencimento

Visconde M R$ 1230,00

Pedrinho M R$ 867,00

Dona Benta F R$ 2560,00

Emília F R$ 1170,00

Rabicó M R$ 2300,00

Page 38: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercícios

� Listar todas as funcionárias (sexo feminino).

� Listar todos os funcionários da administração com seus salários.

Page 39: MDADOS-03 Algebra Relacional v20120926 COPIA

Operações Diádicas Primitivas

Page 40: MDADOS-03 Algebra Relacional v20120926 COPIA

União

� R ∪∪∪∪ S

� A união de duas relações R e S, com os mesmos tipos, é o conjunto de todas as tuplas pertencentes à relação R ou à relação S ou a ambas.

� Representação gráfica

Page 41: MDADOS-03 Algebra Relacional v20120926 COPIA

BD exemplo

Cód. Nome Sexo Data Admis. Salário Depto.

10 Visconde M 01/02/1983 R$ 1230,00 3

20 Pedrinho M 29/07/1990 R$ 867,00 3

30 Dona Benta F 30/11/1992 R$ 2560,00 1

40 Emília F 22/02/1998 R$ 1170,00 2

50 Rabicó M 08/09/2000 R$ 2300,00 1

Funcionário

Aluno

Cód. Nome Sexo

1 Visconde M

2 Dona Benta F

3 Rabicó M

4 Cuca F

Page 42: MDADOS-03 Algebra Relacional v20120926 COPIA

União

� Exemplo�Obter os nomes e o sexo de todos os funcionários e alunos

Nome Sexo

Visconde M

Pedrinho M

Dona Benta F

Emília F

Rabicó M

Cuca F

ππππNome, Sexo (Funcionário)

∪∪∪∪

ππππNome, Sexo (Aluno)

Resultado

Page 43: MDADOS-03 Algebra Relacional v20120926 COPIA

Diferença

� R - S� A diferença de duas relações R e S, dos mesmos tipos, é o conjunto de todas as tuplas pertencentes à relação R e não pertencentes à relação S.

� Representação gráfica

Page 44: MDADOS-03 Algebra Relacional v20120926 COPIA

Diferença

� Exemplo�Obter os nomes e o sexo de todos os funcionários que não são alunos

S ππππNome, Sexo (Funcionário) – ππππNome, Sexo (Aluno)

Nome Sexo

Pedrinho M

Emília F

Page 45: MDADOS-03 Algebra Relacional v20120926 COPIA

Produto Cartesiano

� R ×××× S

�O produto cartesiano de duas relações R e S, quaisquer, é o uma relação T cujas tuplas são a combinação das tuplas das relações R e S, tomando-se uma tupla de R e concatenando-a com cada tupla de S.

� Representação gráfica

A

B

C

Y

Zx

A Y

A Z

B Y

B Z

C Y

C Z

Page 46: MDADOS-03 Algebra Relacional v20120926 COPIA

Produto Cartesiano

� Exemplo� Obter, para cada funcionário, uma lista de todos os departamentos.

Nome Sexo Data Adm. Nome Depto.

Vinconde M 01/02/1983 Administração

Visconde M 01/02/1983 Contabilidade

Visconde M 01/02/1983 Informática

(continua...)

ππππNome, Sexo, Data Admis (Funcionário) X ππππNome Depto (Departamento)

OU

ππππNome, Sexo, Data Admis, Nome Depto (Funcionário X Departamento)

Page 47: MDADOS-03 Algebra Relacional v20120926 COPIA

Produto Cartesiano

Nome Sexo Data Adm. Nome Depto.

Pedrinho M 29/07/1990 Administração

Pedrinho M 29/07/1990 Contabilidade

Pedrinho M 29/07/1990 Informática

Dona Benta F 30/11/1992 Administração

Dona Benta F 30/11/1992 Contabilidade

Dona Benta F 30/11/1992 Informática

Emília F 22/02/1998 Administração

Emília F 22/02/1998 Contabilidade

Emília F 22/02/1998 Informática

Rabicó M 08/09/2000 Administração

Rabicó M 08/09/2000 Contabilidade

Rabicó M 08/09/2000 Informática

Page 48: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercícios

� Listar todos os funcionários da administração com seus salários (revisitado – produto cartesiano).

Page 49: MDADOS-03 Algebra Relacional v20120926 COPIA

Operações Diádicas Adicionais

Page 50: MDADOS-03 Algebra Relacional v20120926 COPIA

Junção

� É utilizada para combinar tuplas relacionadas de duas relações em uma única tupla

É representada como:

R ⋈⋈⋈⋈<condição de junção> S

Ou, simplesmente (Junção Natural):

R ⋈ ⋈ ⋈ ⋈ S

Page 51: MDADOS-03 Algebra Relacional v20120926 COPIA

Junção

� Exemplo

� Listar todos os funcionários e o nome do departamento em que cada um deles trabalha

Funcionário ⋈⋈⋈⋈Depto. = CódDepto. Departamento

Nome Sexo Data Admis. Depto. CódDepto. Nome Depto.

Visconde M 01/02/1983 3 3 Informática

Pedrinho M 29/07/1990 3 3 Informática

Dona Benta F 30/11/1992 1 1 Administração

Emília F 22/02/1998 2 2 Contabilidade

Rabicó M 08/09/2000 1 1 Administração

Page 52: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercício

� Expresse a junção entre as relações R e S através de funções primitivas apenas.

Page 53: MDADOS-03 Algebra Relacional v20120926 COPIA

Junção

R ⋈⋈⋈⋈<condição de junção> S =

σσσσ<condição> (R X S)

Page 54: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercícios

� Listar todos os funcionários da administração com seus salários (revisitado – junção).

Page 55: MDADOS-03 Algebra Relacional v20120926 COPIA

� R ∩∩∩∩ S

� A intersecção de duas relações R e S, dos mesmos tipos, é o conjunto de todas as tuplas pertencentes à relação R e à relação S.

� Representação gráfica

Intersecção

Page 56: MDADOS-03 Algebra Relacional v20120926 COPIA

Intersecção

� Exemplo� Obter o nome e o sexo de

todos os funcionários que são alunos

ππππNome (Funcionário)

∩∩∩∩

ππππNome (Aluno)

Nome Sexo

Visconde M

Dona Benta F

Rabicó M

Page 57: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercício

� Expresse a interseção entre as relações R e S através de funções primitivas apenas.

Page 58: MDADOS-03 Algebra Relacional v20120926 COPIA

R ∩∩∩∩ S =

R - ( R - S)

Intersecção

Page 59: MDADOS-03 Algebra Relacional v20120926 COPIA

� R ÷ S

� A divisão da relação R pela relação S, sendo S uma projeção de R, é o conjunto de tuplas formadas pelos atributos de R que não estão em S, desde que existam em R todas as suas combinações com as tuplas de S.

� Representação gráfica:

Divisão

A

B

C

Y

A Y

A Z

B Y

B Z

B W

C Y

C Z

D Z

E W

Page 60: MDADOS-03 Algebra Relacional v20120926 COPIA

BD exemplo

Cód. Pizzaria Pizza Tamanho

10 DiLidia Margerita G

10 DiLidia Margerita M

10 DiLidia Calabresa G

10 DiLidia Calabresa M

10 DiLidia Portuguesa G

10 DiLidia Portuguesa M

20 MisterPizza Peperoni G

20 MisterPizza Peperoni M

30 Dominos Margerita M

30 Dominos Calabresa G

40 Pizza Hut Margerita M

40 Pizza Hut Calabresa M

CardapioPizzaria

Pedido

Pizza Tamanho

Margerita M

Calabresa M

Page 61: MDADOS-03 Algebra Relacional v20120926 COPIA

Divisão

Cód. Pizzaria

10 DiLidia

40 Pizza Hut

Resultado

CardapioPizzaria ÷ Pedido

Page 62: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercício (Dificuldade Alta)

� Expresse a divisão entre as relações R e S através de funções primitivas apenas.

Page 63: MDADOS-03 Algebra Relacional v20120926 COPIA

R ÷ S =

ππππ a(R)-a(S) R – ππππa(R)-a(S)(

(ππππa(R)-a(S) R x S) – R

)

Obs.:

a(R)-a(S) – atributos de R que não são atributos de S

Divisão

Page 64: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercício 1

a) Quais os nomes dos empregados que ganham um salário menor que “2.000,00”.

b) Quais os nomes dos departamentos que ganham salário até “1.500,00”.c) Quais os nomes dos empregados que trabalham no departamento “D3”.d) Quais os nomes de empregado que trabalham no departamento

“Contabilidade”.e) Quais são os salários do departamento “Contabilidade”.f) Quais os nomes dos departamentos que não possuem empregados.

Funcionários

E # Nome D # Salário

E1 José D1 1.000,00E2 Maria D1 2.000,00E3 João D2 1.500,00E4 Sílvia D3 1.500,00E5 João D1 1.500,00

Departamentos

D# NomeDepto

D1 ContabilidadeD2 AdministraçãoD3 InformáticaD4 RH

Page 65: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercício 2

ATENDIMENTOCD_PAC DIA_ATEND DIAG

5 09/04/1996 Lombalgia crônica. Ativ. com esforço - coziinheira. limitação de mobilização. Fez tratº. 2 09/04/1996 RX Acentuada degeneração com osteofitos laterais Diminuição de espaços artic. L4-L52 07/05/1996 Terminou fisioterapia. Melhora Subjativa. Manter mais 1 série.4 25/06/1996 Terminou 20ª sessão de fisioterapia. S/ queixas. Cont. exerc. dom. DO1 26/06/1997 Dor lombar há 3 dias após esforço em má postura. Dor em ombroE. com

10 03/07/1997 Sesamoidite pé E há 04 dias com acentuado edema MF hallux e dificuldade para apoio3 08/07/1997 Melhora subjetiva- manter CUL rever 1 sem. se nec fisioterapia6 03/04/1997 Ombro doloroso a D. com queda do mesmo . Má postura para ativ. domésticas.Dor em face7 10/07/1997 Epicondilite cotovelo Dir. com 01 mes evolução.Ativ. sedentária limitação de PPS e Extensão2 10/07/1997 Tendinite dos extensores de 2º e 3º pododactilos do pé E. fez tratº. com AINE por o3

PACIENTECD_PAC NM_PAC DT_NASC CONV_PAC

1 Maureen Annelise Molinari 19/08/1980 012 David Lessa Chaves 02/02/1979 013 Marlene C. Florêncio 02/01/1949 034 Rita de Fátima S. Costa 07/10/1955 045 Solange A. Andrade 10/08/1969 056 Valéria do Rocio Pinheiro 29/11/1974 117 Sara Carmelina O.Viana 25/01/1973 108 José Lucchesi 06/12/1916 109 Arielton da Silva Pinto 20/05/1965 05

10 Maria Aparecida Azeredo 27/08/1939 01

CONVENIOCOD_CONV DESC_CONVENIO

01 Unimed - código 1134702 FUNBEP - código 7141-203 BAMERINDUS04 GRALHA – AZUL05 CASSI - código – 21.447-706 FUNCEF07 TELEPAR - código 0033508 PETROBRAS09 BANCO CENTRAL10 Particular11 AMBEP

Page 66: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercício 2 (perguntas)

a) Qual é o nome convenio da paciente “Rita de Fátima S. Costa”?

b) Quais pacientes pertences ao convenio “Unimed –código 11347” ?

c) Quais os nomes dos pacientes que tiveram atendimento no dia “09/04/1996” ?

d) Quais os nomes dos convênios não têm pacientes?

Page 67: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercício 2 (perguntas)

e) Qual comando gerou o seguinte resultado?NM_PAC DESC_CONVENIO DIAG

Filomena Ivanski Unimed - código 11347 Lombalgia cronica com sensação ...Sonia Maria Caetano Paraíso Mastek Unimed - código 11347 Luxação congênita de patelar ...João Mastek Neto Unimed - código 11347 Parestesia de Nervo Ciático Popliteo ...Angela Maria de Lima Casa Grande Unimed - código 11347 Dores difusas em ambos os joelhos s...Ricardo Pinheiro Pinto CASSI - código - 21.447-7 Lombalgia em transição de col. TL. com ...Mirian Lais Ferreira da Costa Hauari CASSI - código - 21.447-7 Processo alérgico em IFD de ivdedo mão ...Erdema Fatima Carrara Lafratta CASSI - código - 21.447-7 Portadora de 4º dedo mão Esq. em gatilho ...Erdema Fatima Carrara Lafratta CASSI - código - 21.447-7 Epicondilite de cotovelo D. com de evol...Moaré de Miranda e Silva CASSI - código - 21.447-7 Há 2 sem. entorse de joelho D. em futebol...

Page 68: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercício 3 – Relações:

Page 69: MDADOS-03 Algebra Relacional v20120926 COPIA

Exercício 3 (perguntas)

� 1. Obter o nome completo de todos os funcionários;

� 2. Identificar todos os funcionários do sexo masculino;

� 3. Obter o nome completo e a data de admissão de todos os funcionários do sexo feminino;

� 4. Obter o nome completo, a data de admissão e o salário de todos os funcionários;

� 5. Descobrir o nome completo, a data de admissão e o salário de todos os funcionários do sexo masculino.

� 6. Todos os funcionários do departamento ‘D1’.

� 7. O nome e a matrícula de todos os funcionários do departamento ‘D1’.

� 8. A matrícula e o nome do respectivo departamento de todos os funcionários.

� 9. O nome dos funcionários que ganham mais de $500.

� 10. O ramal do funcionário ‘ANA SILVEIRA’.

� 11. Os nomes de todos os funcionários com cargo de ‘MECANICO’.

� 12. Os nomes de todos os funcionários que trabalham no mesmo departamento que ‘JOSE NOGUEIRA’.

� 13. Os nomes dos departamentos que possuem tanto funcionários como funcionárias(possuem funcionários de ambos os sexos).

Page 70: MDADOS-03 Algebra Relacional v20120926 COPIA

ÁLGEBRA RELACIONAL ESTENDIDA ECÁLCULO RELACIONAL

(TÓPICOS EXTRAS, CASO O ALUNO TENHA INTERESSE EM SE APROFUNDAR - EXTRA)

Curso: Modelagem de DadosProf. Marcelo Lucas

25/06/2012

Page 71: MDADOS-03 Algebra Relacional v20120926 COPIA

Operações Estendidas

Page 72: MDADOS-03 Algebra Relacional v20120926 COPIA

Álgebra Relacional Estendida

� Operações estendidas

� Joins

� Left Outer Join (⟕⟕⟕⟕)

� Right Outer Join (⟖⟖⟖⟖)

� Full Outer Join (⟗⟗⟗⟗)

� Anti Join (▷▷▷▷)� Semi Join (⋉⋉⋉⋉) (⋊⋊⋊⋊)

� Operações estendidas primitivas

� Agregador (G) (SUM, AVG, COUNT, ...)

� Extensão (EXTEND)

Page 73: MDADOS-03 Algebra Relacional v20120926 COPIA

Considerações Adicionais

Page 74: MDADOS-03 Algebra Relacional v20120926 COPIA

Álgebra Relacional

� Outras características:� Linguagem procedural.

� Várias formas de obter o mesmo resultado porém com custos de processamento diferentes.

Page 75: MDADOS-03 Algebra Relacional v20120926 COPIA

Álgebra Relacional X Cálculo Relacional

� A Álgebra Relacional e o Cálculo Relacional são potencialmente equivalentes.

� Entretanto o cálculo relacional é:� Não Procedural� Lógica de primeira ordem� Ex: R = { x | x < 10 , x S}

� Cálculo relacional� Cálculo Relacional de Tuplas� Cálculo Relacional de Domínios

AE 3

Page 76: MDADOS-03 Algebra Relacional v20120926 COPIA

Álgebra Relacional e SQL

� SQL combina Álgebra e Cálculo Relacional.� SQL é considerada uma linguagem não procedural(mesma característica do Cálculo Relacional).

� O “otimizador” do gerenciador de banco de dados determina a sequência e combinação de operações de álgebra relacional mais eficiente. � (a ordem e precedência dos operadores relacionais utilizados no comando SQL pode ser ignorada pelo otimizados)