Buscar

Aula_09

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
MATEMÁTICA DISCRETA – AULA 9
PROFESSORA HELGA BODSTEIN, D.Sc. 
Aula 9
Operações Relacionais
*
*
Conteúdo
Operação relacional de produto cartesiano
Operação relacional de união
 Operação relacional de diferença 
Operação relacional de junção
*
*
Aula 9 – Operações Relacionais
Conceitos
Um sistema de bases de dados relacionais contém um ou mais objetos chamados tabelas (Relações). 
Os dados ou informações são armazenados nessas tabelas. 
*
*
Aula 9 - Operações Relacionais
Entidades e Atributos 
Toda a informação de um banco de dados relacional é armazenada em Tabelas, que na linguagem do modelo relacional, também são chamadas de Entidades. 
Por exemplo, pode existir uma Tabela "Clientes", onde seriam armazenadas informações sobre os diversos clientes. 
*
*
Aula 9 - Operações Relacionais
Entidades e Atributos 
Sobre cada um dos clientes podem ser armazenadas diversas informações tais como:
Nome, RG, CPF, Rua, Bairro, Telefone, CEP, Data de Nascimento etc
Essas diversas características de cada Cliente são os "Atributos" da entidade Cliente, também chamados de campos da tabela Cliente. 
*
*
Aula 9 - Operações Relacionais
Entidades e Atributos 
"O Conjunto de todos os Atributos de um cliente e os valores dos atributos é o que forma o Registro do Cliente". 
Com isso temos uma Tabela que é constituída por um conjunto de Registros (uma linha completa com informações sobre o cliente) e cada Registro formado por um conjunto de atributos (Nome, Endereço, etc). 
*
*
Aula 9 - Operações Relacionais
Entidades e Atributos 
Resumindo:
Entidade ou Tabela: Um conjunto de registros. 
Campos ou Atributos: Características individuais da tabela.
*
*
Aula 9 - Operações Relacionais
Chave Primária 
"Ao Definirmos um campo como sendo uma Chave Primária, estamos informando que os valores neste campo precisam ser únicos". 
	Por exemplo, se definimos um campo "Número da Identidade", da tabela Clientes, como sendo um campo do tipo Chave Primária, não podem ser cadastrados dois clientes com o mesmo valor no campo "Número da Identidade”
*
*
Aula 9 - Operações Relacionais
Chave Primária 
Definição: identifica de maneira única cada Registro de uma Tabela, isto é, de posse do valor da Chave Primária somente localizaremos um registro com aquele valor no campo Chave Primária. 
Chave Estrangeira 
Atributo, ou conjunto de atributos, de uma relação que é chave primária numa outra relação.
*
*
Aula 9 - Operações Relacionais
Operações – Continuação
Produto Cartesiano
Produz uma relação com todas as colunas das relações envolvidas e a combinação de todas as linhas de uma relação com todas as linhas da outra relação.
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
Exemplo: Produto cartesiano entre peça e fornecedor
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
Exemplo: Produto cartesiano entre peça e fornecedor
Peça X Fornecedor
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
A tabela resultante de um Produto Cartesiano terá como resultado:
Número de colunas – soma do número de colunas das tabelas de origem.
	- Peça – 4 colunas
	- Fornecedor – 3 colunas
		Peça x Fornecedor – 7 colunas
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
		Peça x Fornecedor – 7 colunas
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
A tabela resultante de um Produto Cartesiano terá como resultado:
Número de tuplas – produto do número de tuplas das tabelas de origem.
	- Peça – 3 tuplas
	- Fornecedor – 2 tuplas
		Peça x Fornecedor – 6 tuplas
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
		Peça x Fornecedor – 6 tuplas
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
	Utilidade Prática: Permite estabelecer a ligação e a navegação entre as relações.
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
Exemplo: Obter os nomes das peças e dos fornecedores localizados na mesma cidade.
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
1º. Passo – Obtenção de uma tabela temporária resultado do produto cartesiano:
Produto Cartesiano: Temp1  Peça  Fornecedor
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
2º. Passo – Seleção das tuplas onde:
peça.cidade = fornecedor.cidade:
Temp2  peça.cidade = fornecedor.cidade (Temp1) 
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
2º. Passo – Seleção das tuplas onde:
peça.cidade=fornecedor.cidade:
Temp2  peça.cidade = fornecedor.cidade (Temp1) 
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
3º. Passo – Projeção das colunas nome da peça e nome do fornecedor:
Resultado  peça.nome, fornecedor.nome(Temp2 ) 
*
*
Aula 9 - Operações Relacionais
Produto Cartesiano
3º. Passo – Projeção das colunas nome da peça e nome do fornecedor:
Resultado  peça.nome, fornecedor.nome(Temp2 ) 
*
*
Aula 9 - Operações Relacionais
União de Relações
Geração de uma nova relação através da reunião das tuplas de duas relações. 
Símbolo: 
	Para a União, as relações têm que ser compatíveis de união (mesmo número de colunas, mesmo domínio). 
*
*
Aula 9 - Operações Relacionais
União de Relações
Exemplo
*
*
Aula 9 - Operações Relacionais
União de Relações
Ex: Obter os códigos das peças azuis ou que são fornecidas pelo fornecedor S2.
*
*
Aula 9 - Operações Relacionais
Ex: Obter os códigos das peças azuis ou que são fornecidas pelo fornecedor S2.
1º - Códigos das peças azuis: 
Peças azuis: peça = azul (PEÇA) 
*
*
Aula 9 - Operações Relacionais
Ex: Obter os códigos das peças azuis ou que são fornecidas pelo fornecedor S2.
1º - Códigos das peças azuis 
Códigos das Peças azuis: código (peça = azul (PEÇA))
Temp1← código (peça = azul (PEÇA))
*
*
Aula 9 - Operações Relacionais
Ex: Obter os códigos das peças azuis ou que são fornecidas pelo fornecedor S2.
2º - Códigos da peças fornecidas pelo fornecedor S2
Fornecedor S2: COD_FORN = S2 (FORNECIMENTO)
*
*
Aula 9 - Operações Relacionais
Ex: Obter os códigos das peças azuis ou que são fornecidas pelo fornecedor S2.
2º - Códigos da peças fornecidas pelo fornecedor S2
Códigos das peças do Fornecedor S2: 
COD_PECA (COD_FORN = S2 (FORNECIMENTO))
Temp2 ← COD_PEÇA (COD_FORN = S2 (FORNECIMENTO))
*
*
Aula 9 - Operações Relacionais
*
*
Aula 9 - Operações Relacionais
Diferença de Relações
Geração de uma nova relação contendo as tuplas que estão em uma relação mas não estão na outra. 
Para a diferença, as relações também têm que ser compatíveis de união, ou seja, mesmo número de colunas, mesmo domínio.
*
*
Aula 9 - Operações Relacionais
Diferença de Relações
Exemplo:
*
*
Aula 9 - Operações Relacionais
Diferença de Relações
Exemplo: Obter as cidades onde existam peças mas não existam fornecedores.
 
*
*
Aula 9 - Operações Relacionais
Exemplo: Obter as cidades onde existam peças mas não existam fornecedores.
1º - cidades onde existam peças: cidade(Peça) 
*
*
Aula 9 - Operações Relacionais
Exemplo: Obter as cidades onde existam peças mas não existam fornecedores.
2º - cidades onde existam fornecedores:
 cidade(Fornecedor) 
*
*
Aula 9 - Operações Relacionais
Cidades onde existam peças mas não existam fornecedores.
cidade(Peça) - cidade(Fornecedor) 
			 - 		 = 
*
*
Aula 9 - Operações Relacionais
Interseção de Relações
Geração de uma nova relação contendo apenas as tuplas que pertençam às duas relações simultaneamente. 
Para a Interseção, as relações também têm que ser compatíveis de união.
*
*
Aula 9 - Operações Relacionais
Interseção de Relações
Exemplo
*
*
Aula 9 - Operações Relacionais
Interseção de Relações
Exemplo: Obter as cidades onde existam peças e fornecedores.
cidade(Peca)  cidade(Fornecedor) 
		  =
*
*
Aula 9 - Operações Relacionais
Junção de Relações
Implementa a composição dos operadores de produto cartesiano e de seleção.
 Símbolo:
	Abreviação para σp ( R X S)
*
*
Aula 9 - Operações Relacionais
Junção de Relações
Exemplo:
*
*
Aula 9 - Operações Relacionais
Junção de Relações
Exemplo: Obter os nomes de todas as peças que tenham sido fornecidas por algum fornecedor.
*
*
Aula 9 - Operações Relacionais
- Precisaremos trabalhar com as entidades PEÇA e FORNECIMENTO, pois precisamos dos dados de código de fornecedor, código de peça e nome da peça.
*
*
Aula 9 - Operações Relacionais
*
*
Aula 9 - Operações Relacionais
*
*
Aula 9 - Operações Relacionais
Usamos, então, a JUNÇÃO, que seleciona apenas as tuplas de interesse de um produto cartesiano.
1º Passo – Selecionar as tuplas de interesse no produto cartesiano:
	Somente interessam as tuplas onde os códigos das peças são iguais: 
peça.codigo = fornecimento.cod_peça (Peça  Fornecimento)) 
*
*
Aula 9 - Operações Relacionais
*
*
Aula 9 - Operações Relacionais
*
*
Aula 9 - Operações Relacionais
E destas queremos apenas seus nomes:
peça.nome (peça.codigo = fornecimento.cod_peça(PeçaFornecimento)) 
*
*
Aula 9 - Operações Relacionais
Podemos simplificar usando a junção para substituir as etapas de seleção de um produto cartesiano:
Assim temos:
peça.codigo = fornecimento.cod_peça (Peça  Fornecimento)) 
=
 (PEÇA FORNECIMENTO) 
 CODIGO = COD_PEÇA
*
*
Aula 9 - Operações Relacionais
*
*
Aula 9 - Operações Relacionais
Então:
peça.nome peça.codigo = fornecimento.cod_peça(PeçaFornecimento))
=
 peça.nome (PEÇA FORNECIMENTO) 
 CODIGO = COD_PEÇA
 RESULTADO:
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais