Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Professores: Geraldo Xexéo Geraldo Zimbrão Conteúdo: Modelo Relacional: Álgebra Relacional Aula 013 2 Relembrando Relação : tabela Domínio conjunto de valores possíveis Tupla : linha número de tuplas: cardinalidade Atributo : coluna número de atributos: grau Chave: atributos que identificam a linha 3 Para que servem bancos de dados? Um banco de dados tem como objetivo guardar dados para que sejam posteriormente consultados Existem várias linguagens de consulta A álgebra relacional é uma linguagem de consulta formal (teórica) 4 Álgebra Relacional Fornece um conjunto de operadores que permitam, a partir de tabelas, obter uma tabela com os dados desejados pelo usuário Operações da Teoria dos Conjuntos União, Interseção, Diferença, Produto Operações Relacionais Seleção, Projeção, Divisão, Junção Programação Atribuição ou Renomear 5 Álgebra Relacional Restrição ou Seleção Projeção Divisão a x a y a z b x c y x z a Junção (Natural) a1 b1 a2 b2 a3 b3 b1 c1 b2 c2 b3 c3 a1 b1 c1 a2 b2 c2 a3 b3 c3 Produto a b c x y a x a y b x b y c x c y União Interseção Diferença 6 Chaves Primárias: NUMF NUMP NUMPR Partes-Fornecedores FORNECEDORES NUMF NOMEF STATUS CIDADE 1 2 3 4 5 Selma João Branco Carlos Aline 20 10 30 20 30 São Paulo Rio de Janeiro Rio de Janeiro São Paulo Belo Horizonte PROJETOS NUMPR NOMEJR CIDADE 1 2 3 4 5 Ordenador Vídeo Teclado Console Disco Rio de Janeiro Porto Alegre Belo Horizonte Belo Horizonte São Paulo 6 Telefone Niterói 7 Fita São Paulo PEDIDOS NUMPRNUMF QUANTIDADE 1 1 2 2 2 200 300 400 500 600 2 100 2 600 NUMP 1 1 3 3 3 3 3 1 4 1 2 3 4 5 2 5003 6 2 3003 7 2 4005 2 3 5003 1 3 4004 2 4 6006 3 4 3006 7 5 1002 2 5 7005 7 5 5006 2 5 2001 7 5 3003 2 5 4004 4 5 1005 4 5 5006 4 PARTES NUMP NOMEP COR CIDADE 1 2 3 4 5 Caixa Parafuso Parafuso Parafuso Arruela Vermelha Verde Azul Vermelha Azul São Paulo Rio de Janeiro Porto Alegre São Paulo Rio de Janeiro 6 Alavanca Vermelha São Paulo PESO 12 17 17 14 12 19 7 União Retorna uma relação consistindo das tuplas aparecendo em quaisquer das relações especificadas 8 União: Notação Notação: A UNION B Notação: A B 9 União: Exemplo FORNECEDORESA UNION FORNECEDORESB FORNECEDORESA NUMF NOMEF STATUS CIDADE 1 2 5 Selma João Aline 20 10 30 São Paulo Rio de Janeiro Belo Horizonte FORNECEDORESB NUMF NOMEF STATUS CIDADE 3 4 5 Branco Carlos Aline 30 20 30 Rio de Janeiro São Paulo Belo Horizonte FORNECEDORES NUMF NOMEF STATUS CIDADE 1 2 3 4 5 Selma João Branco Carlos Aline 20 10 30 20 30 São Paulo Rio de Janeiro Rio de Janeiro São Paulo Belo Horizonte 10 Interseção Retorna uma relação consistindo de todas as tuplas que aparecem em duas relações especificadas 11 Interseção : Notação Notação: A INTERSECTION B Notação: A B 12 Interseção: Exemplo FORNECEDORESA INTERSECT FORNECEDORESB FORNECEDORESA NUMF NOMEF STATUS CIDADE 1 2 5 Selma João Aline 20 10 30 São Paulo Rio de Janeiro Belo Horizonte FORNECEDORESB NUMF NOMEF STATUS CIDADE 3 4 5 Branco Carlos Aline 30 20 30 Rio de Janeiro São Paulo Belo Horizonte FORNECEDORES NUMF NOMEF STATUS CIDADE 5 Aline 30 Belo Horizonte 13 Diferença Retorna uma relação consistindo das tuplas que aparecem na primeira relação especificada e não aparecem na segunda relação 14 Diferença : Notação Notação: A MINUS B Notação: A - B 15 Diferença : Exemplo FORNECEDORESA MINUS FORNECEDORESB FORNECEDORESA NUMF NOMEF STATUS CIDADE 1 2 5 Selma João Aline 20 10 30 São Paulo Rio de Janeiro Belo Horizonte FORNECEDORESB NUMF NOMEF STATUS CIDADE 3 4 5 Branco Carlos Aline 30 20 30 Rio de Janeiro São Paulo Belo Horizonte FORNECEDORES NUMF NOMEF STATUS CIDADE 1 2 Selma João 20 10 São Paulo Rio de Janeiro 16 Produto Retorna uma relação consistindo em todas as possíveis tuplas que podem ser formadas combinando duas tuplas, uma de cada uma das relações especificadas a b c x y a x a y b x b y c x c y 17 Produto : Notação Notação: A TIMES B Notação: A X B 18 Produto : Exemplo PESSOAS TIMES CIDADES PESSOAS NOMEP Selma João Branco Carlos Aline CIDADE NOMEC Rio de Janeiro Porto Alegre Niterói São Paulo PESSOAS X CIDADES NOMEP Aline Aline Aline Aline Branco Branco Branco NOMEC Branco Carlos Carlos Carlos Carlos João João João João Selma Selma Selma Selma Rio de Janeiro Porto Alegre Niterói São Paulo Rio de Janeiro Porto Alegre Niterói São Paulo Rio de Janeiro Porto Alegre Niterói São Paulo Rio de Janeiro Porto Alegre Niterói São Paulo Rio de Janeiro Porto Alegre Niterói São Paulo 19 Seleção (ou Restrição) Retorna uma relação consistindo de um conjunto de tuplas de uma relação que satisfaz uma condição 20 Seleção : Notação Notação: A WHERE X op Y x e y são atributos do mesmo domínio (ou valores) é um operador Notação: 21 Seleção : Exemplo 1 FORNECEDORES WHERE CIDADE="Rio de Janeiro" FORNECEDORES NUMF NOMEF STATUS CIDADE 2 3 João Branco 10 30 Rio de Janeiro Rio de Janeiro FORNECEDORES NUMF NOMEF STATUS CIDADE 1 2 3 4 5 Selma João Branco Carlos Aline 20 10 30 20 30 São Paulo Rio de Janeiro Rio de Janeiro São Paulo Belo Horizonte 22 Seleção : Exemplo 2 PEDIDOS WHERE NUMF=NUMP PEDIDOS NUMPRNUMF QUANTIDADE 1 1 2 2 2 200 300 400 500 600 2 100 2 600 NUMP 1 1 3 3 3 3 3 1 4 1 2 3 4 5 2 5003 6 2 3003 7 2 4005 2 3 5003 1 3 4004 2 4 6006 3 4 3006 7 5 1002 2 5 7005 7 5 5006 2 5 2001 7 5 3003 2 5 4004 4 5 1005 4 5 5006 4 PEDIDOS NUMPRNUMF QUANTIDADE 1 1 200 300 NUMP 1 1 1 4 3 5003 1 5 7005 7 5 1005 4 23 Seleção : Exemplo 3 PEDIDOS WHERE QUANTIDADE>500 PEDIDOS NUMPRNUMF QUANTIDADE 1 1 2 2 2 200 300 400 500 600 2 100 2 600 NUMP 1 1 3 3 3 3 3 1 4 1 2 3 4 5 2 5003 6 2 3003 7 2 4005 2 3 5003 1 3 4004 2 4 6006 3 4 3006 7 5 1002 2 5 7005 7 5 5006 2 5 2001 7 5 3003 2 5 4004 4 5 1005 4 5 5006 4 PEDIDOS NUMPRNUMF QUANTIDADE 2 600 2 600 NUMP 3 3 3 5 4 6006 3 5 7005 7 24 Projeção Retorna uma relação consistindo de um conjunto de tuplas que remanescem em uma relação depois que alguns atributos são eliminados 25 Projeção : Notação Notação: A [X,Y,...,Z] x,y,...,z são atributos da relação Notação: 26 Projeção : Exemplo FORNECEDORES [NOMEF,CIDADE] FORNECEDORES NOMEF CIDADE Selma João Branco Carlos Aline São Paulo Rio de Janeiro Rio de Janeiro São Paulo Belo Horizonte FORNECEDORES NUMF NOMEF STATUS CIDADE 1 2 3 4 5 Selma João Branco Carlos Aline 20 10 30 20 30 São Paulo Rio de Janeiro Rio de Janeiro São Paulo Belo Horizonte 27 Junção (Natural) Retorna uma relação consistindo de todas as possíveis tuplas que são uma combinação de duas duplas, tal que as duas duplas que contribuem para a combinação possuem um valor comum nos atributos comum das duas relações a1 b1 a2 b2 a3 b3 b1 c1 b2 c2 b3 c3 a1 b1 c1 a2 b2 c2 a3 b3 c3 28 Junção (Natural) : Notação A JOIN B 29 Junção (Natural) : Exemplo 1 FORNECEDORES JOIN PEDIDOS FORNECEDORESJOIN PEDIDOS NUMF NUMPR QUANTIDADE 1 1 2 2 2 200 300 400 500 600 2 100 2 600 NUMP 1 1 3 3 3 3 3 1 4 1 2 3 4 5 2 5003 6 2 3003 7 2 4005 2 3 5003 1 3 4004 2 4 6006 3 4 3006 7 5 1002 2 5 7005 7 5 5006 2 5 2001 7 5 3003 2 5 4004 4 5 1005 4 5 5006 4 NOMEF STATUS CIDADE Selma 20 São Paulo João 10 Rio de Janeiro João 10 Rio de Janeiro João 10 Rio de Janeiro João 10 Rio de Janeiro João 10 Rio de Janeiro João 10 Rio de Janeiro João 10 Rio de Janeiro João 10 Rio de Janeiro João 10 Rio de Janeiro Branco 30 Rio de Janeiro Branco 30 Rio de Janeiro Carlos 20 São Paulo Carlos 20 São Paulo Aline 30 Belo Horizonte Aline 30 Belo Horizonte Aline 30 Belo Horizonte Aline 30 Belo Horizonte Aline 30 Belo Horizonte Aline 30 Belo Horizonte Aline 30 Belo Horizonte Aline 30 Belo Horizonte FORNECEDORES NUMF NOMEF STATUS CIDADE 1 2 3 4 5 Selma João Branco Carlos Aline 20 10 30 20 30 São Paulo Rio de Janeiro Rio de Janeiro São Paulo Belo Horizonte NUMF PEDIDOS NUMPR QUANTIDADE 1 1 2 2 2 200 300 400 500 600 2 100 2 600 NUMP 1 1 3 3 3 3 3 1 4 1 2 3 4 5 2 5003 6 2 3003 7 2 4005 2 3 5003 1 3 4004 2 4 6006 3 4 3006 7 5 1002 2 5 7005 7 5 5006 2 5 2001 7 5 3003 2 5 4004 4 5 1005 4 5 5006 4 30 Junção (Natural) : Exemplo 2 FORNECEDORES JOIN PARTES FORNECEDORES NUMF NOMEF STATUS CIDADE 1 2 3 4 5 Selma João Branco Carlos Aline 20 10 30 20 30 São Paulo Rio de Janeiro Rio de Janeiro São Paulo Belo Horizonte PARTES NUMP NOMEP COR CIDADE 1 2 3 4 5 Caixa Parafuso Parafuso Parafuso Arruela Vermelha Verde Azul Vermelha Azul São Paulo Rio de Janeiro Porto Alegre São Paulo Rio de Janeiro 6 Alavanca Vermelha São Paulo PESO 12 17 17 14 12 19 FORNECEDORES JOIN PARTES NUMF NOMEF STATUS CIDADE 1 2 3 4 Selma João Branco Carlos 20 10 30 20 São Paulo Rio de Janeiro Rio de Janeiro São Paulo NUMP NOMEP COR PESO 1 Selma 20 São Paulo 1 Selma 20 São Paulo 2 João 10 Rio de Janeiro 3 Branco 30 Rio de Janeiro 4 Carlos 20 São Paulo 4 Carlos 20 São Paulo 1 Caixa Vermelha 12 4 Parafuso Vermelha 14 6 Alavanca Vermelha 19 2 Parafuso Verde 17 2 Parafuso Verde 17 5 Arruela Azul 12 5 Arruela Azul 12 1 Caixa Vermelha 12 4 Parafuso Vermelha 14 6 Alavanca Vermelha 19 31 Divisão 32 Divisão b e c não possuem todos os valores da segunda relação z não faz diferença em a a x x a y z a z b x c y x z a 33 Divisão : Notação A DIVIDEDBY B A B 34 Divisão : Exemplo PARTES2 NUMP NOMEP COR CIDADE 1 2 3 4 Caixa Parafuso Parafuso Parafuso Vermelha Azul Vermelha Vermelha São Paulo Porto Alegre São Paulo Rio de Janeiro 6 Alavanca Vermelha São Paulo PESO 12 17 14 14 19 1 Caixa Vermelha Rio de Janeiro12 CIDADE NOMEC Rio de Janeiro São Paulo NUMP PARTES2 NOMEP COR 1 4 Caixa Parafuso Vermelha Vermelha PESO 12 14 35 Renomear Troca o nome de atributos Simplifica a notação 36 Renomear: Notação R RENAME A AS ALFA, B AS BETA 37 Renomear: Exemplo PROJETOS RENAME NUMPR AS NUM, NOMEJR AS NOME PROJETOS NUMPR NOMEJR CIDADE 1 2 3 4 5 Ordenador Vídeo Teclado Console Disco Rio de Janeiro Porto Alegre Belo Horizonte Belo Horizonte São Paulo 6 Telefone Niterói 7 Fita São Paulo PROJETOS NUM NOME CIDADE 1 2 3 4 5 Ordenador Vídeo Teclado Console Disco Rio de Janeiro Porto Alegre Belo Horizonte Belo Horizonte São Paulo 6 Telefone Niterói 7 Fita São Paulo
Compartilhar