Baixe o app para aproveitar ainda mais
Prévia do material em texto
IMPLEMENTAÇÃO DE BANCO DE DADOS Aula 2- Álgebra Relacional Conteúdo Programático desta aula Conceituar Álgebra Relacional Conhecer as Operações da Álgebra Relacional Utilizar Operadores de Conjunto Escrever expressões utilizando operadores de tabelas Analisar expressões de Álgebra relacional ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Conceitos Envolvidos a) Relação: representada por uma tabela de duas dimensões (linhas e colunas); b) Tupla: corresponde a uma linha da relação; c) Atributo: corresponde às colunas da relação; d) Chave primária: conjunto de atributos que identificam univocamente cada tupla da relação; e) Chave extrangeira: atributo de uma relação que é chave primária de outra relação. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Conceitos Envolvidos ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Manipulação de Dados Duas categorias de linguagens – formais • álgebra relacional e cálculo relacional – comerciais (baseadas nas linguagens formais) • SQL Linguagens formais - Características – orientadas a conjuntos – fechamento • resultados de consultas são relações ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Álgebra Relacional Conjunto de operações sobre modelos relacionais de dados. As principais operações da álgebra relacional são: Seleção Projeção Produto Cartesiano Junção Operações de Conjunto : (União, Intersecção, Diferença) Divisão ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Seleção A operação Seleção é utilizada para selecionar um subconjunto de tuplas de uma relação, sendo que estas tuplas devem satisfazer uma condição de seleção. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Seleção A forma geral de uma operação Seleção é: <condição de seleção> ( <nome da relação> ) Onde: A letra grega é utilizada para representar a operação de seleção; <condição de seleção> é uma expressão booleana aplicada sobre os atributos da relação ; <nome da relação> é o nome da relação sobre a qual será aplicada a operação Seleção. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Seleção Dada a relação dos empregados da empresa selecionar aqueles que trabalham no departamento 10: ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Seleção A expressão que atende ao pedido é: id_Depto = 10 (Empregado) ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Seleção Dada a relação dos empregados da empresa selecionar aqueles que trabalham no departamento 10 e que ganhem salario > 1500. : ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Seleção A expressão que atende ao pedido é: id_Depto = 10 E Salario > 1500 (Empregado) ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Projeção A operação Projeção seleciona um conjunto determinado de colunas de uma relação. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Projeção A forma geral de uma operação Projeção é: <lista de atributos> (<nome da relação>) Onde: A letra grega é utilizada para representar a operação de seleção <lista de atributos> representa a lista de atributos que o usuário deseja selecionar e <nome da relação> representa a relação sobre a qual a operação projeção será aplicada. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Projeção Dada a relação de empregados da empresa, projetar as colunas ID, NOME E SALARIO: ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Projeção A expressão que atende ao pedido é: Id, Nome, Salario (Empregado) ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Sequencialidade de Operações A Projeção e a Seleção podem ser combinadas, de forma que apenas algumas linhas e algumas colunas retornem na operação. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Sequencialidade de Operações A forma geral da operação Projeção : <lista de atributos> (<condição de seleção> (<nome da relação>)) Onde representa a operação de projeção <lista de atributos> representa a lista de atributos que o usuário deseja selecionar representa a operação de seleção <condição de seleção> é a condição que a linha deve atender para ser selecionada e <nome da relação> é o nome da relação sobre a qual será aplicada a operação de Seleção e Projeção ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Sequencialidade de Operações Dada a relação de empregados da empresa, projetar as colunas ID, NOME E SALARIO PARA OS EMPREGADOS DO DEPARTAMENTO 10: ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Sequencialidade de Operações A expressão que atende ao pedido é: Id,Nome, Salario ( Id_Depto = 10 (Empregado)) Realizada em Dois Passos ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Sequencialidade de Operações A expressão que atende ao pedido é: Id,Nome, Salario ( Id_Depto = 10 (Empregado)) Passos 1 - Seleção ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Sequencialidade de Operações A expressão que atende ao pedido é: Id,Nome, Salario ( Id_Depto = 10 (Empregado)) Passos 2 - Projeção ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Sequencialidade de Operações Sempre na ordem Seleção -> Projeção? Id_Depto = 10 ( Id,Nome, Salario (Empregado)) ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Sequencialidade de Operações Id_Depto = 10 ( Id,Nome, Salario (Empregado)) Projeção não tem todas as colunas utilizadas na seleção ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Produto Cartesiano O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Produto Cartesiano A forma geral do Produto Cartesiano é: A X B Onde: X representa a operação de produto cartesiano A e B representam as relações sobre as quais a operação será aplicada. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Produto Cartesiano - Exemplo Departamento X Região A operação ira justapor as colunas e combinar todas as linhas. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Produto Cartesiano ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Junção Atua de forma similar á operação produto cartesiano, porém, a tabela resultante conterá apenas as combinações das tuplas que se relacionam de acordo com uma determinada condição de junção. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Junção A forma geral de uma operação Seleção é: R ⋈ <condição de junção> S Onde: ⋈ representa a operação de junção; <condição de junção> é uma expressão relacional, normalmente utilizando o operador =, que determina qual coluna da tabela R deve ser comparada com qual coluna da tabela S ( normalmente PK e FK); R e S representam as relações sobre as quais a operação será aplicada. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Junção - Exemplo Departamento ⋈ Id_Regiao = Id Região ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Junção - Exemplo Departamento ⋈ Id_Regiao = Id Região A operação ira justapor as colunas e combinar as linhas que se relacionam. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Junção Exemplo ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Operações de Conjunto Operações União Interseção Diferença Redundância de Tuplas Compatibilidade quanto a união ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Redundancia de Tupla ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Compatibilidade quanto a União ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS União O resultado desta operação entre duas relações consiste no conjunto de todas as linhas das duas relações . ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS União A forma geral da União é: A U B Onde: U representa a operação de União A e B representam as relaçõessobre as quais a operação será aplicada. A operação de União é Comutativa -> A U B = B U A ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS União - Exemplo Empregado U Acionista ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS União - Exemplo Empregado U Acionista ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Interseção O resultado desta operação entre duas relações consiste no conjunto de todas as linhas que existem em comum nas duas relações . ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Interseção A forma geral da Interseção é: A ∩ B Onde: ∩ representa a operação de Interseção A e B representam as relações sobre as quais a operação será aplicada. A operação de Interseção é Comutativa -> A ∩ B = B ∩ A ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Interseção - Exemplo Empregado ∩ Acionista ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Interseção - Exemplo Empregado ∩ Acionista ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Diferença O resultado desta operação entre duas relações consiste no conjunto de todas as linhas que existem em uma tabela e não existe na outra . ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Diferença A forma geral da Diferença é: A - B Onde: - representa a operação de Interseção A e B representam as relações sobre as quais a operação será aplicada. A Diferença não é Comutativa -> A - B <> B - A ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Diferença - Exemplo Empregado – Acionista ou Acionista – Empregado ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Diferença - Exemplo – Empregado – Acionista ou Acionista – Empregado ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Operações de Conjunto em consultas - 1 – T1 = Id,Nome ( Id_Depto = 10 (Empregado)) ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Operações de Conjunto em consultas - 1 – T1 = Id,Nome ( Id_Depto = 10 (Empregado)) ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Operações de Conjunto em consultas - 2 – T2 = Id,Nome ( Salario >= 1500 (Empregado)) ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Operações de Conjunto em consultas - 2 – T2 = Id,Nome ( Salario >= 1500 (Empregado)) ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Operações de Conjunto em consultas - 3 – T1 U T2 ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Divisão É uma operação adicional que produz como resultado a projeção de todos os elementos da primeira relação que se relacionam com todos os elementos da segunda relação. É utilizada para consultas do tipo todos os eleitores que participaram de todas as votações, os sócios que pagaram todas as mensalidades e outras do mesmo tipo. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Divisão A forma geral da Diferença é: A / B Onde: / representa a operação de Interseção A e B representam as relações sobre as quais a operação será aplicada. ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Divisão - Exemplo ID dos Funcionários que Trabalham em todos os Projetos ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Divisão - Exemplo ID dos Funcionários que Trabalham em todos os Projetos ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Divisão – Exemplo – Passo 1 – T1 = Id_Proj (Projeto) ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Divisão – Exemplo – Passo 2 – Funcionario_Projeto / T1 ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS Próxima Aula Apresentar a Linguagem SQL Instalar e Configurar um SGBD. Criar Tabelas. Manipular Dados ÁLGEBRA RELACIONAL IMPLEMENTAÇÃO DE BANCO DE DADOS
Compartilhar