·
Cursos Gerais ·
Banco de Dados
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
14
Normalização de Banco de Dados-Primeira Segunda e Terceira Forma Normal
Banco de Dados
UFABC
1
Script SQL DDL e DML Criacao e Insercao na Tabela EmpMess
Banco de Dados
UFABC
1
Comandos SQL DROP TABLE para Medico Paciente e Consulta
Banco de Dados
UFABC
1
Script SQL Criacao de Tabelas Medico Paciente Consulta
Banco de Dados
UFABC
1
SQL-Oracle-Tipos-de-Dados-Variaveis-e-Constantes
Banco de Dados
ÁREA1 WYDEN
1
Introdução ao PLSQL: Seção de Declaração
Banco de Dados
ÁREA1 WYDEN
1
Estrutura de Bloco PLSQL - Declaração Execução e Exceção
Banco de Dados
ÁREA1 WYDEN
7
Modelo Entidade-Relacionamento: Estrutura de Dados e Atributos
Banco de Dados
UFSM
99
Estatística Aplicada: Introdução e História
Banco de Dados
UMG
36
I_PITBDadosI pdf
Banco de Dados
UNICSUL
Texto de pré-visualização
Banco de Dados Professora Elisângela Botelho Gracias AULA 4 Sumário ÁLGEBRA RELACIONAL 3 OPERAÇÃO SELEÇÃO 4 OPERAÇÃO PROJEÇÃO 5 SEQUÊNCIA DE OPERAÇÕES 6 OPERAÇÃO PRODUTO CARTESIANO 7 OPERAÇÃO JUNÇÃO 8 OPERAÇÕES DA TEORIA DE CONJUNTOS 10 REFERÊNCIAS 13 AULA 4 Banco de Dados 3 AULA 4 Banco de Dados ÁLGEBRA RELACIONAL A álgebra relacional é um conjunto básico de operações para o modelo rela cional Essas operações permitem que um usuário especifique as solicitações de recuperação básicas como expressões da álgebra relacional Ela é muito impor tante pois oferece um alicerce formal para as operações do modelo relacional e também é usada como base para a implementação e otimização de consultas A álgebra relacional é fechada ou seja o resultado de uma ou mais operações relacionais é uma nova relação O resultado de uma operação pode ser utilizado como dado de entrada de outra Você entenderá isso melhor nos exemplos que utilizaremos a seguir As operações da álgebra relacional podem ser divididas em dois grupos um grupo que consiste em operações desenvolvidas especificamente para banco de dados relacionais as quais incluem Seleção Projeção e Junção dentre outras outro grupo são as operações da teoria de conjuntos da matemática União Interseção Diferença e Produto Cartesiano Exemplo utilizaremos o seguinte banco de dados já visto na Aula 3 para expli car e exemplificar algumas operações da álgebra relacional Modelo Relacional Departamento CodDepto NomeDepto Funcionario CodFunc NomeFunc Salario CodDepto Coddepto é chave estrangeira que referencia o atributo Coddepto da tabela Departamento 4 AULA 4 Banco de Dados Projeto CodProj NomeProj Duracao FuncProj CodFunc CodProj HorasTrab CodFunc é chave estrangeira que referencia o atributo CodFunc da tabela Funcionario CodProj é chave estrangeira que referencia o atributo CodProj da tabela Projeto A Figura 1 mostra as tabelas Departamento Funcionario Projeto e FuncProj exemplificadas com dados Atenção Utilizaremos essas tabelas com dados para mostrar o resultado gerado pelas operações da Álgebra Relacional Figura 1 Tabelas Departamento Funcionario Projeto e FuncProj exemplificadas com dados Fonte Elaborada pela autora OPERAÇÃO SELEÇÃO A operação Seleção é utilizada para selecionar um subconjunto de tuplas linhas em uma relação que satisfaça uma condição de seleção Essa operação também pode ser considerada como uma partição horizontal da relação 5 AULA 4 Banco de Dados A operação Seleção é denotada por σcondição da seleção Nome da Relação Exemplo 1 selecione todos os dados dos funcionários que ganham mais que 1600 σSalario 1600 Funcionario Nesse exemplo 1 serão retornados todos os atributos da relação Funcionario mas somente as linhas que obedecem à condição do salário ser maior que 1600 como você pode observar a seguir A relação resultante da operação Seleção tem os mesmos atributos da rela ção especificada A operação Seleção é comutativa ou seja σcond1σcond2R σcond2σcond1R OPERAÇÃO PROJEÇÃO A operação Projeção seleciona certas colunas da tabela e descarta as ou tras Essa operação também pode ser considerada como uma partição vertical da relação A forma geral da operação Projeção é πlista de atributos Nome da Relação 6 AULA 4 Banco de Dados Exemplo 2 selecione somente o código e o nome de todos os funcionários πCodFunc NomeFunc Funcionario Nesse exemplo 2 serão retornados somente os atributos CodFunc e Nome Func de todos os funcionários da relação Funcionario como você pode observar no resultado a seguir A relação resultante da operação Projeção tem somente os atributos especi ficados em lista de atributos na mesma ordem que aparecem na lista A operação Projeção remove implicitamente qualquer tupla duplicada então o número de tuplas em uma relação resultante da operação Projeção é sempre menor ou igual ao número de tuplas da relação original Se a lista dos atributos inclui uma chave da relação a relação resultante tem o mesmo número de tuplas que o original A comutatividade não é mantida na operação Projeção SEQUÊNCIA DE OPERAÇÕES As operações podem ser aplicadas de forma aninhada usando uma única expressão da álgebra relacional Exemplificaremos a seguir as operações de proje ção e seleção em uma única expressão da álgebra relacional Exemplo 3 selecione o código e o nome dos funcionários mas somente para aqueles funcionários que ganham mais de 1600 πCodFunc NomeFunc σSalario1600 Funcionario Observe que nesse exemplo 3 as duas operações Seleção e Projeção foram utilizadas ou seja primeiro selecionase as linhas de Funcionario de acordo com a condição e depois fazse a projeção das colunas CodFunc e NomeFunc 7 AULA 4 Banco de Dados O mesmo exemplo 3 pode ser feito por meio da criação de relações resultantes intermediárias dando um nome para cada relação intermediária ou seja Temp1 σSalario1600 Funcionario Result πCodFunc NomeFunc Temp1 O resultado da relação gerada Temp1 você já viu no exemplo 1 e o da relação Result você pode observar a seguir OPERAÇÃO PRODUTO CARTESIANO O produto cartesiano denotado por X combina tuplas de duas relações R e S resultando em uma relação que tem uma tupla para cada combinação de tuplas uma de R e outra de S QA1 A2 AnB1 B2 Bm RA1 A2 An X SB1 B2 Bm Exemplo 4 considere as relações Funcionario e Departamento da Figura 1 para fazermos o produto cartesiano e observe o resultado a seguir 8 AULA 4 Banco de Dados Considerações sobre o resultado do produto cartesiano de Funcionario com Departamento ele combina cada linha de funcionário com cada linha de departamento ele não respeita o relacionamento entre Funcionario e Departamento pois sua operação combina cada linha tupla de Funcionario com cada linha de Departamento gerando um total de 20 linhas 5 funcionários X 4 departa mentos como não foi realizada outra operação seleção ou projeção além do produto cartesiano o resultado trouxe todas as colunas e todas as linhas OPERAÇÃO JUNÇÃO A operação Junção denotada por X é utilizada para combinar tuplas de duas relações por meio de um ou mais atributos comuns que se relacionam às duas relações Atenção Esta operação é muito importante para qualquer banco de dados relacio nal pois permite processar relacionamentos entre relações A forma geral da operação Junção com duas relações RA1 A2 An e SB1 B2 Bm é R X condição de junção S Exemplo 5 considere as relações Funcionario e Departamento Figura 1 para fazermos a junção entre elas que é escrita da seguinte maneira Funcionario XCodDepto CodDepto Departamento O resultado da Junção desse exemplo 5 está ilustrado a seguir 9 AULA 4 Banco de Dados Considerações sobre o resultado da junção de Funcionario com Departamento a junção respeita o relacionamento entre Funcionario e Departamento pois sua operação combina cada linha tupla de Funcionario com a única linha do Departamento a que ele realmente pertence não foram utilizadas as operações Seleção e Projeção então o resultado ante rior retornou todos os atributos das duas tabelas e todas as linhas combinadas pela junção Exemplo 6 selecione o nome de cada funcionário e o nome do departamento a que cada um pertence Temp1 Funcionario XCodDepto CodDepto Departamento Result πNomeFunc NomeDepto Temp1 Nesse exemplo 6 foram utilizadas as operações Junção e Projeção O resultado da relação gerada Temp1 você já viu no exemplo 5 e o da relação Result você pode observar a seguir Exemplo 7 selecione o nome de cada funcionário e o nome do departamento de cada um mas somente para os funcionários que ganham mais de 1600 Temp1 Funcionario XCodDepto CodDepto Departamento Temp2 σSalario1600 Temp1 Result πNomeFunc NomeDepto Temp2 Nesse exemplo 7 foram utilizadas as operações Junção Seleção e Projeção Observe o resultado Result a seguir 10 AULA 4 Banco de Dados Outra forma de fazer o exemplo 7 é realizar primeiro a Seleção Observe que não perdemos nenhuma informação retornando o mesmo resultado anterior Temp1 σSalario1600 Funcionario Temp2 Temp1 XCodDepto CodDepto Departamento Result πNomeFunc NomeDepto Temp2 Exemplo 8 selecione o nome dos projetos em que a funcionária Maria Castro trabalhou Quais tabelas você acha que devemos utilizar nesse exemplo 8 considerando o modelo relacional do banco de dados da Figura 1 Temp1 FuncProj XCodProj CodProj Projeto Temp2 Funcionario XCodFunc CodFunc Temp1 Temp3 σNomeFunc Maria Castro Temp2 Result πNomeProjTemp3 Outra forma de fazer o exemplo 8 é realizar primeiro a Seleção Observe que não perdemos nenhuma informação retornando o mesmo resultado anterior Temp1 σNomeFunc Maria Castro Funcionario Temp2 FuncProj XCodFunc CodFunc Temp1 Temp3 Projeto XCodProj CodProj Temp2 Result πNomeProjTemp3 OPERAÇÕES DA TEORIA DE CONJUNTOS Para realizarmos as operações União Interseção e Diferença na álgebra rela cional as duas relações envolvidas devem possuir o mesmo tipo de tuplas ou seja elas devem possuir uma condição chamada compatibilidade de união Consideremos as relações R e S da Figura 2 para explicar e exemplificar as ope rações União Interseção e Diferença 11 AULA 4 Banco de Dados Figura 2 Relações R e S que são compatíveis para união A operação União denotada por R S tem como resultado uma relação que inclui todas as tuplas que estão em R ou em S ou em ambas as relações Tuplas duplicadas são eliminadas Observe o resultado da união de R S a seguir A operação Interseção denotada por R S tem como resultado uma relação que inclui todas as tuplas que estão nas duas relações R e S conforme você pode observar no resultado a seguir A operação Diferença denotada por R S tem como resultado uma relação que inclui todas as tuplas que estão em R mas não estão em S conforme você pode observar no resultado a seguir 12 AULA 4 Banco de Dados As operações União e Interseção são comutativas enquanto a Diferença não é comutativa Atenção Não deixe de assistir à videoaula Operações da Álgebra Relacional Seleção Projeção e Junção com a professora Elisângela Botelho Gracias na qual há uma explicação sobre algumas operações da Álgebra Relacional 13 AULA 4 Banco de Dados REFERÊNCIAS ELMASRI R NAVATHE S Sistemas de banco de dados 7 ed São Paulo Pearson 2018 HEUSER A C Projeto de banco de dados 6 ed Porto Alegre Bookman 2009
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
14
Normalização de Banco de Dados-Primeira Segunda e Terceira Forma Normal
Banco de Dados
UFABC
1
Script SQL DDL e DML Criacao e Insercao na Tabela EmpMess
Banco de Dados
UFABC
1
Comandos SQL DROP TABLE para Medico Paciente e Consulta
Banco de Dados
UFABC
1
Script SQL Criacao de Tabelas Medico Paciente Consulta
Banco de Dados
UFABC
1
SQL-Oracle-Tipos-de-Dados-Variaveis-e-Constantes
Banco de Dados
ÁREA1 WYDEN
1
Introdução ao PLSQL: Seção de Declaração
Banco de Dados
ÁREA1 WYDEN
1
Estrutura de Bloco PLSQL - Declaração Execução e Exceção
Banco de Dados
ÁREA1 WYDEN
7
Modelo Entidade-Relacionamento: Estrutura de Dados e Atributos
Banco de Dados
UFSM
99
Estatística Aplicada: Introdução e História
Banco de Dados
UMG
36
I_PITBDadosI pdf
Banco de Dados
UNICSUL
Texto de pré-visualização
Banco de Dados Professora Elisângela Botelho Gracias AULA 4 Sumário ÁLGEBRA RELACIONAL 3 OPERAÇÃO SELEÇÃO 4 OPERAÇÃO PROJEÇÃO 5 SEQUÊNCIA DE OPERAÇÕES 6 OPERAÇÃO PRODUTO CARTESIANO 7 OPERAÇÃO JUNÇÃO 8 OPERAÇÕES DA TEORIA DE CONJUNTOS 10 REFERÊNCIAS 13 AULA 4 Banco de Dados 3 AULA 4 Banco de Dados ÁLGEBRA RELACIONAL A álgebra relacional é um conjunto básico de operações para o modelo rela cional Essas operações permitem que um usuário especifique as solicitações de recuperação básicas como expressões da álgebra relacional Ela é muito impor tante pois oferece um alicerce formal para as operações do modelo relacional e também é usada como base para a implementação e otimização de consultas A álgebra relacional é fechada ou seja o resultado de uma ou mais operações relacionais é uma nova relação O resultado de uma operação pode ser utilizado como dado de entrada de outra Você entenderá isso melhor nos exemplos que utilizaremos a seguir As operações da álgebra relacional podem ser divididas em dois grupos um grupo que consiste em operações desenvolvidas especificamente para banco de dados relacionais as quais incluem Seleção Projeção e Junção dentre outras outro grupo são as operações da teoria de conjuntos da matemática União Interseção Diferença e Produto Cartesiano Exemplo utilizaremos o seguinte banco de dados já visto na Aula 3 para expli car e exemplificar algumas operações da álgebra relacional Modelo Relacional Departamento CodDepto NomeDepto Funcionario CodFunc NomeFunc Salario CodDepto Coddepto é chave estrangeira que referencia o atributo Coddepto da tabela Departamento 4 AULA 4 Banco de Dados Projeto CodProj NomeProj Duracao FuncProj CodFunc CodProj HorasTrab CodFunc é chave estrangeira que referencia o atributo CodFunc da tabela Funcionario CodProj é chave estrangeira que referencia o atributo CodProj da tabela Projeto A Figura 1 mostra as tabelas Departamento Funcionario Projeto e FuncProj exemplificadas com dados Atenção Utilizaremos essas tabelas com dados para mostrar o resultado gerado pelas operações da Álgebra Relacional Figura 1 Tabelas Departamento Funcionario Projeto e FuncProj exemplificadas com dados Fonte Elaborada pela autora OPERAÇÃO SELEÇÃO A operação Seleção é utilizada para selecionar um subconjunto de tuplas linhas em uma relação que satisfaça uma condição de seleção Essa operação também pode ser considerada como uma partição horizontal da relação 5 AULA 4 Banco de Dados A operação Seleção é denotada por σcondição da seleção Nome da Relação Exemplo 1 selecione todos os dados dos funcionários que ganham mais que 1600 σSalario 1600 Funcionario Nesse exemplo 1 serão retornados todos os atributos da relação Funcionario mas somente as linhas que obedecem à condição do salário ser maior que 1600 como você pode observar a seguir A relação resultante da operação Seleção tem os mesmos atributos da rela ção especificada A operação Seleção é comutativa ou seja σcond1σcond2R σcond2σcond1R OPERAÇÃO PROJEÇÃO A operação Projeção seleciona certas colunas da tabela e descarta as ou tras Essa operação também pode ser considerada como uma partição vertical da relação A forma geral da operação Projeção é πlista de atributos Nome da Relação 6 AULA 4 Banco de Dados Exemplo 2 selecione somente o código e o nome de todos os funcionários πCodFunc NomeFunc Funcionario Nesse exemplo 2 serão retornados somente os atributos CodFunc e Nome Func de todos os funcionários da relação Funcionario como você pode observar no resultado a seguir A relação resultante da operação Projeção tem somente os atributos especi ficados em lista de atributos na mesma ordem que aparecem na lista A operação Projeção remove implicitamente qualquer tupla duplicada então o número de tuplas em uma relação resultante da operação Projeção é sempre menor ou igual ao número de tuplas da relação original Se a lista dos atributos inclui uma chave da relação a relação resultante tem o mesmo número de tuplas que o original A comutatividade não é mantida na operação Projeção SEQUÊNCIA DE OPERAÇÕES As operações podem ser aplicadas de forma aninhada usando uma única expressão da álgebra relacional Exemplificaremos a seguir as operações de proje ção e seleção em uma única expressão da álgebra relacional Exemplo 3 selecione o código e o nome dos funcionários mas somente para aqueles funcionários que ganham mais de 1600 πCodFunc NomeFunc σSalario1600 Funcionario Observe que nesse exemplo 3 as duas operações Seleção e Projeção foram utilizadas ou seja primeiro selecionase as linhas de Funcionario de acordo com a condição e depois fazse a projeção das colunas CodFunc e NomeFunc 7 AULA 4 Banco de Dados O mesmo exemplo 3 pode ser feito por meio da criação de relações resultantes intermediárias dando um nome para cada relação intermediária ou seja Temp1 σSalario1600 Funcionario Result πCodFunc NomeFunc Temp1 O resultado da relação gerada Temp1 você já viu no exemplo 1 e o da relação Result você pode observar a seguir OPERAÇÃO PRODUTO CARTESIANO O produto cartesiano denotado por X combina tuplas de duas relações R e S resultando em uma relação que tem uma tupla para cada combinação de tuplas uma de R e outra de S QA1 A2 AnB1 B2 Bm RA1 A2 An X SB1 B2 Bm Exemplo 4 considere as relações Funcionario e Departamento da Figura 1 para fazermos o produto cartesiano e observe o resultado a seguir 8 AULA 4 Banco de Dados Considerações sobre o resultado do produto cartesiano de Funcionario com Departamento ele combina cada linha de funcionário com cada linha de departamento ele não respeita o relacionamento entre Funcionario e Departamento pois sua operação combina cada linha tupla de Funcionario com cada linha de Departamento gerando um total de 20 linhas 5 funcionários X 4 departa mentos como não foi realizada outra operação seleção ou projeção além do produto cartesiano o resultado trouxe todas as colunas e todas as linhas OPERAÇÃO JUNÇÃO A operação Junção denotada por X é utilizada para combinar tuplas de duas relações por meio de um ou mais atributos comuns que se relacionam às duas relações Atenção Esta operação é muito importante para qualquer banco de dados relacio nal pois permite processar relacionamentos entre relações A forma geral da operação Junção com duas relações RA1 A2 An e SB1 B2 Bm é R X condição de junção S Exemplo 5 considere as relações Funcionario e Departamento Figura 1 para fazermos a junção entre elas que é escrita da seguinte maneira Funcionario XCodDepto CodDepto Departamento O resultado da Junção desse exemplo 5 está ilustrado a seguir 9 AULA 4 Banco de Dados Considerações sobre o resultado da junção de Funcionario com Departamento a junção respeita o relacionamento entre Funcionario e Departamento pois sua operação combina cada linha tupla de Funcionario com a única linha do Departamento a que ele realmente pertence não foram utilizadas as operações Seleção e Projeção então o resultado ante rior retornou todos os atributos das duas tabelas e todas as linhas combinadas pela junção Exemplo 6 selecione o nome de cada funcionário e o nome do departamento a que cada um pertence Temp1 Funcionario XCodDepto CodDepto Departamento Result πNomeFunc NomeDepto Temp1 Nesse exemplo 6 foram utilizadas as operações Junção e Projeção O resultado da relação gerada Temp1 você já viu no exemplo 5 e o da relação Result você pode observar a seguir Exemplo 7 selecione o nome de cada funcionário e o nome do departamento de cada um mas somente para os funcionários que ganham mais de 1600 Temp1 Funcionario XCodDepto CodDepto Departamento Temp2 σSalario1600 Temp1 Result πNomeFunc NomeDepto Temp2 Nesse exemplo 7 foram utilizadas as operações Junção Seleção e Projeção Observe o resultado Result a seguir 10 AULA 4 Banco de Dados Outra forma de fazer o exemplo 7 é realizar primeiro a Seleção Observe que não perdemos nenhuma informação retornando o mesmo resultado anterior Temp1 σSalario1600 Funcionario Temp2 Temp1 XCodDepto CodDepto Departamento Result πNomeFunc NomeDepto Temp2 Exemplo 8 selecione o nome dos projetos em que a funcionária Maria Castro trabalhou Quais tabelas você acha que devemos utilizar nesse exemplo 8 considerando o modelo relacional do banco de dados da Figura 1 Temp1 FuncProj XCodProj CodProj Projeto Temp2 Funcionario XCodFunc CodFunc Temp1 Temp3 σNomeFunc Maria Castro Temp2 Result πNomeProjTemp3 Outra forma de fazer o exemplo 8 é realizar primeiro a Seleção Observe que não perdemos nenhuma informação retornando o mesmo resultado anterior Temp1 σNomeFunc Maria Castro Funcionario Temp2 FuncProj XCodFunc CodFunc Temp1 Temp3 Projeto XCodProj CodProj Temp2 Result πNomeProjTemp3 OPERAÇÕES DA TEORIA DE CONJUNTOS Para realizarmos as operações União Interseção e Diferença na álgebra rela cional as duas relações envolvidas devem possuir o mesmo tipo de tuplas ou seja elas devem possuir uma condição chamada compatibilidade de união Consideremos as relações R e S da Figura 2 para explicar e exemplificar as ope rações União Interseção e Diferença 11 AULA 4 Banco de Dados Figura 2 Relações R e S que são compatíveis para união A operação União denotada por R S tem como resultado uma relação que inclui todas as tuplas que estão em R ou em S ou em ambas as relações Tuplas duplicadas são eliminadas Observe o resultado da união de R S a seguir A operação Interseção denotada por R S tem como resultado uma relação que inclui todas as tuplas que estão nas duas relações R e S conforme você pode observar no resultado a seguir A operação Diferença denotada por R S tem como resultado uma relação que inclui todas as tuplas que estão em R mas não estão em S conforme você pode observar no resultado a seguir 12 AULA 4 Banco de Dados As operações União e Interseção são comutativas enquanto a Diferença não é comutativa Atenção Não deixe de assistir à videoaula Operações da Álgebra Relacional Seleção Projeção e Junção com a professora Elisângela Botelho Gracias na qual há uma explicação sobre algumas operações da Álgebra Relacional 13 AULA 4 Banco de Dados REFERÊNCIAS ELMASRI R NAVATHE S Sistemas de banco de dados 7 ed São Paulo Pearson 2018 HEUSER A C Projeto de banco de dados 6 ed Porto Alegre Bookman 2009