Administração de Banco de Dados - Operações sobre Tabelas 19/10

15
Administração de Bancos de Dados Aula 6 Operações sobre Tabelas Vínculos entre tabelas e Álgebra Relacional Prof. Belarmino

Transcript of Administração de Banco de Dados - Operações sobre Tabelas 19/10

Page 1: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Administração de Bancos de Dados

Aula 6 Operações sobre Tabelas

Vínculos entre tabelas e Álgebra Relacional

Prof. Belarmino

Page 2: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Vínculos entre Tabelas

• A restrição de participação determina que a existência de uma entidade depende de sua participação em um tipo de relacionamento com outra entidade - um VINCULO entre elas.• Na participação Total qualquer ocorrência da Entidade só existe se há uma ocorrência correspondente em outra entidade • Na participação Parcial as ocorrências da Entidade requerem uma correspondência com alguma ocorrência da outra - mas não de modo total.

Page 3: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Vínculos entre Tabelas

• De um modo geral o vinculo entre tabelas não é facilmente representado no D-ER - outros diagramas fornecem uma apresentação melhor. Veja o diagrama proposto mostrando o relacionamento entre as entidades FUNCIONARIO e DEPARTAMENTO.

A ligação entre entidades no diagrama acima poderia ser mais completa ? Notação similar é usada no MS-Access. Você pode mencionar problemas com ela ?

Page 4: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Vínculos entre Tabelas

• Na notação IDEF1X os vínculos são explicitamente identificados como chaves primarias e estrangeiras, sendo apontados no próprio desenho.• As entidades são representadas com seus atributos na mesma figura.• Os relacionamentos se tornam apenas retas finalizadas por pequenas ‘bolinhas’

Alguns softwares como o ERWIN por exemplo usam uma outra notação.

Page 5: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Vínculos entre Tabelas

• Como treinamento passe o diagrama acima para o formato IDEF1X

Page 6: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Operações entre Tabelas

• No modelo de banco de dados relacional podemos extrair dados usando operações matemáticas pré-definidas sendo 4 operações de conjunto e operações relacionais.

• CONJUNTO: UNIÃO, DIFERENÇA, INTERSECÇÂO E PRODUTO CARTESIANO• RELACIONAIS: PROJEÇÂO, SELEÇÂO, DIVISÂO e JUNÇÂO ( ou JOIN )

Page 7: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Operações de Conjunto: UNIÃO

• A operação UNIÂO combina todas as linhas de duas tabelas de modo que a tabela formada tenha todas as linhas de A e de B sem repetição.• No exemplo acima os cadastros de produtos de 2 lojas do deposito de construção são reunidas para formar o cadastro geral da emprêsa.

Page 8: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Operações de Conjunto: INTERSECÇÂO

• A operação INTERSECÇÂO combina apenas as linhas que aparecem em ambas as tabelas formando uma nova tabela (sem repetição).• No exemplo acima queremos saber quais são os produtos que podem ser comprados diretamente em qualquer uma das duas lojas do depósito de construção.

Page 9: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Operações de Conjunto: DIFERENÇA

• A operação DIFERENÇA extrai as linhas que estão apenas em uma das tabelas para formar a tabela resultante;• No exemplo acima queremos saber quais são os produtos que estão disponíveis para compra direta em apenas uma das lojas do depósito de construção.

Page 10: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Operações de Conjunto: PRODUTO CARTESIANO

• A operação PRODUTO CARTESIANO combina as linhas que estão em duas tabelas não similares em uma nova tabela que é uma composição de ambas.• No exemplo acima queremos compor as possibilidades de compra de produtos nas duas lojas do depósito.

Page 11: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Operações Relacionais: PROJEÇÃO

• A operação PROJEÇAO extrai uma ou mais colunas da tabela para compor o resultado.• No exemplo acima queremos saber apenas qual o còdigo e o produto a partir da tabela “A” que contem mais colunas do que precisamos. Isto é bastante util na produçâo de relatórios especificos por exemplo.

Page 12: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Operações Relacionais: DIVISÂO

• A operação DIVISÂO encontra as linhas em que os valores das colunas combinam nas duas tabelas (match) mas retorna apenas as colunas que não existirem na 2ª tabela. • No exemplo acima queremos saber a data do ultimo pedido feito para o produto 22 (cimento) . O “match” acontece na 1ª linha da tabela “A”. Como as colunas Produto e e Codigo EXISTEM na tabela “B” eles NÂO serão mostrados no resultado – que sera apenas o campo Data Pedido.

Page 13: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Operações Relacionais: SELEÇÃO

• A operação SELEÇÃO extrai uma ou mais LINHAS da tabela para compor o resultado.• No exemplo acima queremos saber o código e os produtos fabricados pela BRITAX a partir das informações da tabela A que contem todos os produtos e seus fornecedores.

Page 14: Administração de Banco de Dados - Operações sobre Tabelas 19/10

Operações Relacionais: JUNÇÂO

• A operação JUNÇÂO ( ou JOIN) – considerada a mais poderosa de todas as operações relacionais – combina as linhas das duas tabelas através de uma chave em comum. • No exemplo acima queremos saber o nome do fornecedor e seu local de origem para calcular o frete. A tabela A não nos permite isso – mas a operação de JOIN com a tabela B cria uma resultante que facilita obter a informação desejada

Page 15: Administração de Banco de Dados - Operações sobre Tabelas 19/10

HARDWARE

FIM