MDADOS-03 Algebra Relacional v20121008
-
Upload
marcelo-lucas-da-silva -
Category
Documents
-
view
44 -
download
0
Transcript of MDADOS-03 Algebra Relacional v20121008
![Page 1: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/1.jpg)
ÁLGEBRA RELACIONAL BÁSICA
Curso: Modelagem de DadosProf. Marcelo Lucas
25/06/2012
![Page 2: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/2.jpg)
Á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 v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/3.jpg)
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 v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/4.jpg)
ELMASRI, R.; NAVATHE, S.B. (2011). Capítulo sobre Modelo de Dados Relacional
![Page 5: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/5.jpg)
ELMASRI, R.; NAVATHE, S.B. (2011). Capítulo sobre Algebra Relacional
![Page 6: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/6.jpg)
Relações e Tuplas
Definições do Modelo Relacional
![Page 7: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/7.jpg)
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 v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/8.jpg)
Esquema
� É o conjunto: {(A1,D1) ... (An,Dn)}, onde� Ai (i=1...n) Nomes DISTINTOS dos Atributos
� Di (i=1...n) Domínios dos Atributos (não precisam ser distintos)
� (Ai, Di); i=1,...,n; Atributos
Ex. Esquema:
CPF (char) Nome (char) Telefone (char) UF (c) Salario (#)
![Page 9: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/9.jpg)
Relação
É um Conjunto de Tuplas distintas, respeitando um Esquema de Relação
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 v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/10.jpg)
Relações x Conjuntos
� Numa Relação todos os Elementos devem respeitar o Esquema da Relação (Homogeneidade de Elementos)
� Num Conjunto é possível Elementos de diversos Tipos. Não há uma definição de esquema (permite Heterogeneidade de Elementos)
![Page 11: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/11.jpg)
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 12: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/12.jpg)
Relação x Tabela
� Uma Relação pode ser visualizada como uma estrutura de Tabela.
� Em outra palavras, uma Tabela é uma representação visual de uma Relação.
![Page 13: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/13.jpg)
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 14: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/14.jpg)
Atributos Espaciais em uma Relação
Definições do Modelo Relacional
![Page 15: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/15.jpg)
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 16: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/16.jpg)
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 17: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/17.jpg)
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 18: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/18.jpg)
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 19: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/19.jpg)
Definições
Álgebra Relacional
![Page 20: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/20.jpg)
Á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 21: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/21.jpg)
Á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 22: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/22.jpg)
Letras Gregas
![Page 23: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/23.jpg)
Operações Monádicas Primitivas
![Page 24: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/24.jpg)
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 25: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/25.jpg)
Seleção
� Representação gráfica�Obtenção de um subconjunto horizontal de uma relação R
tuplas que
satisfazem
uma condição
![Page 26: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/26.jpg)
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 27: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/27.jpg)
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 28: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/28.jpg)
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 29: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/29.jpg)
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 30: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/30.jpg)
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 31: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/31.jpg)
Projeção
� Representação gráfica�Obtenção de um subconjunto vertical de uma relação R
colunas selecionadas
![Page 32: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/32.jpg)
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 33: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/33.jpg)
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 34: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/34.jpg)
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 35: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/35.jpg)
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 36: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/36.jpg)
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 37: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/37.jpg)
Exercícios
� Listar todas as funcionárias (sexo feminino).
� Listar todos os funcionários da administração com seus salários.
![Page 38: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/38.jpg)
Operações Diádicas Primitivas
![Page 39: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/39.jpg)
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 40: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/40.jpg)
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 41: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/41.jpg)
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 42: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/42.jpg)
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 43: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/43.jpg)
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 44: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/44.jpg)
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 45: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/45.jpg)
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 46: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/46.jpg)
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 47: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/47.jpg)
Exercícios
� Listar todos os funcionários da administração com seus salários (revisitado – produto cartesiano).
![Page 48: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/48.jpg)
Operações Diádicas Adicionais
![Page 49: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/49.jpg)
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 50: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/50.jpg)
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 51: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/51.jpg)
Exercício
� Expresse a junção entre as relações R e S através de funções primitivas apenas.
![Page 52: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/52.jpg)
Junção
R ⋈⋈⋈⋈<condição de junção> S =
σσσσ<condição> (R X S)
![Page 53: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/53.jpg)
Exercícios
� Listar todos os funcionários da administração com seus salários (revisitado – junção).
![Page 54: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/54.jpg)
� 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 55: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/55.jpg)
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 56: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/56.jpg)
Exercício
� Expresse a interseção entre as relações R e S através de funções primitivas apenas.
![Page 57: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/57.jpg)
R ∩∩∩∩ S =
R - ( R - S)
Intersecção
![Page 58: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/58.jpg)
� 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
Z÷
A Y
A Z
B Y
B Z
B W
C Y
C Z
D Z
E W
![Page 59: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/59.jpg)
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 60: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/60.jpg)
Divisão
Cód. Pizzaria
10 DiLidia
40 Pizza Hut
Resultado
CardapioPizzaria ÷ Pedido
![Page 61: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/61.jpg)
Exercício (Dificuldade Alta)
� Expresse a divisão entre as relações R e S através de funções primitivas apenas.
![Page 62: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/62.jpg)
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 63: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/63.jpg)
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 64: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/64.jpg)
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 65: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/65.jpg)
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 66: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/66.jpg)
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 67: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/67.jpg)
Exercício 3 – Relações:
![Page 68: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/68.jpg)
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 69: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/69.jpg)
Á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 70: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/70.jpg)
Operações Estendidas
![Page 71: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/71.jpg)
Á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 72: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/72.jpg)
Considerações Adicionais
![Page 73: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/73.jpg)
Álgebra Relacional
� Outras características:� Linguagem procedural.
� Várias formas de obter o mesmo resultado porém com custos de processamento diferentes.
![Page 74: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/74.jpg)
Á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 75: MDADOS-03 Algebra Relacional v20121008](https://reader034.fdocumentos.tips/reader034/viewer/2022042520/55cf9907550346d0339b1f49/html5/thumbnails/75.jpg)
Á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)