0% acharam este documento útil (0 voto)
3 visualizações15 páginas

Álgebra Relacional: Objetivo

O documento aborda a Álgebra Relacional, destacando sua importância na implementação de bancos de dados a partir do modelo lógico. São apresentados conceitos fundamentais como operações de seleção, projeção, junção e agrupamento, além de exemplos práticos de sua aplicação. O objetivo é capacitar o leitor a manipular dados de forma eficiente em sistemas de bancos de dados.

Enviado por

Willian Fonseca
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações15 páginas

Álgebra Relacional: Objetivo

O documento aborda a Álgebra Relacional, destacando sua importância na implementação de bancos de dados a partir do modelo lógico. São apresentados conceitos fundamentais como operações de seleção, projeção, junção e agrupamento, além de exemplos práticos de sua aplicação. O objetivo é capacitar o leitor a manipular dados de forma eficiente em sistemas de bancos de dados.

Enviado por

Willian Fonseca
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Álgebra Relacional

Após passar pelo modelo conceitual e montar o de entidade e relacionamento, chegou


o momento de compreender o processo de implementação em banco de dados por
meio do modelo físico.

Aqui serão apresentados os conceitos iniciais de uma linguagem de script para


desenvolvimento de bancos de dados, baseados no modelo lógico. Esse é um
importante momento, em que serão necessários conhecimentos não só de
implementação, mas também da área de Matemática, principalmente, de domínio e
conjuntos.

Também serão apresentados os primeiros conceitos de implementação, com a


demonstração da criação de bancos de dados simples. O objetivo é apresentar a
importância que a modelagem possui para o desenvolvimento de um banco de dados
mais organizado, rápido e eficiente. Vamos lá?

Objetivo

Ao final desta unidade, você deverá ser capaz de:

• Aprofundar os conhecimentos em operações de seleção e projeção para


desenvolvimento de bancos de dados mais complexos.
• Executar as operações básicas de álgebra relacional para manipulação de
dados.
• Compreender as operações de junção e agrupamento nos sistemas de bancos
de dados.

Conteúdo Programático

Esta unidade está organizada de acordo com os seguintes temas:

• Tema 1 - Operações fundamentais: seleção e projeção


• Tema 2 - Operações oriundas da teoria dos conjuntos
• Tema 3 - Operação de junção; funções de agrupamento

Para implantação de um banco de dados e efetivação de seu modelo físico, é


necessário um intermediário, e esse é o caso do modelo relacional. Ele serve como
uma ponte entre o lógico e o físico em um banco de dados. Para isso, é necessário
compreender os conceitos de álgebra relacional que avaliaremos aqui. Ela é definida
por meio de diversos operadores, que vamos destrinchar, bem como apresentar, seu
funcionamento, a fim de que seja possível a construção de um banco de dados com
qualidade. O vídeo Transformando o modelo entidade relacionamento para o modelo
relacional traz informações sobre álgebra relacional.

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Tema 1
Operações fundamentais: seleção e projeção

Como funcionam as operações matemáticas de seleção


e projeção?

A álgebra relacional é um tipo de linguagem de consulta formal e procedimental. Nela


o usuário alimentará o sistema com instruções, a fim de que ele realize uma sequência
de operações na base de dados. O objetivo é calcular o resultado desejado. Para que
isso aconteça, operadores devem ser definidos para funcionar nas entidades (tabelas).
Com isso, o resultado será alcançado.
A álgebra relacional é subdividida em funções definidas por nove operações, sendo
que cinco são focadas apenas naquela (a saber: união, intersecção, diferença e
produto), quatro na teoria dos conjuntos (seleção, projeção, junção e divisão) e a
última é para ser utilizada nos modelos de dados relacionais (atribuição).

Aqui, vamos enfocar no entendimento acerca da seleção e da projeção. Os outros


operadores serão explicados em um momento posterior.

Seleção

Essa operação tem como objetivo selecionar um subconjunto de registros (conhecidos


como tuplas) que satisfaça uma condição de seleção já determinada anteriormente.
Ela pode ser representada pelo símbolo σ, que significa “relação entre os atributos de
uma determinada entidade”.

Exemplo
Para compreendermos esse operador na prática, vamos ver um exemplo, a partir de
uma entidade fictícia de funcionário, definida da seguinte maneira:

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Idade_fun
Sobrenom cGênero_f
Cpf_func Nome_func e_func unc Gênero_func Salário_func

121111111-11 João Resende 25 M 5.000

991111111-12 Pedro Smith 22 M 4.000

471111131-11 Maria Nzagui 54 F 9.000

251111111-11 Cleide Santos 29 F 8.200

431111444-11 Guilherme Gomes 33 M 8.000

232211111-11 Joana Fonseca 47 F 7.852

Quando utilizamos uma seleção para apresentar as pessoas com salário maior ou
igual a R$ 8.000, será aplicada a seguinte sintaxe:

σ Salário_func>=8000

Como resultado, teremos:

Sobrenome Idade_funcG
Cpf_func Nome_func _func ênero_func Gênero_func Salário_func

471111131-
11 Maria Nzagui 54 F 9.000

251111111-
11 Cleide Santos 29 F 8.200

431111444-
11 Guilherme Gomes 33 M 8.000

Perceba que, nesse exemplo, apenas os funcionários que recebem mais de R$ 8.000
reais são exibidos na tela. Portanto, é isso o que o operador de seleção faz: permitir
que consigamos filtrar do banco de dados a informação que desejarmos.

Exemplo
Outra situação: digamos que seja solicitado apresentar apenas as pessoas com a
idade menor que 40 anos. Nesse caso, a sintaxe ficaria desta forma:

σ Idade_func<40

Como resultado, a tabela ficará da seguinte maneira:

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Sobreno Idade_funcG
Cpf_func Nome_func me_func ênero_func Gênero_func Salário_func

121111111-
11 João Resende 25 M 5.000

991111111-
12 Pedro Smith 22 M 4.000

251111111-
11 Cleide Santos 29 F 8.200

431111444-
11 Guilherme Gomes 33 M 8.000

Portanto, apenas os funcionários com menos de 40 anos serão exibidos.

Agora que compreendemos o operador de seleção, vamos aprender mais sobre a


projeção.

Projeção

Esse operador é usado para selecionar alguns atributos de uma determinada relação,
que é executada em outra, e seu resultado é uma nova com atributos definidos pelo
usuário. A simbologia desse operador é o pi (π), que significa “relação”.

Para compreendermos melhor, vamos utilizar a tabela Funcionário, usada no exemplo


de seleção. Digamos que um usuário queira ver apenas as informações do nome, da
idade e do salário de um funcionário. Para isso, ele aplicará a seguinte sintaxe:

π Nome_func, Idade_func, Salário_func (Funcionário)

Como resultado, a tabela ficará da seguinte maneira:


Nome_func Idade_func Salário_func

João 25 5.000

Pedro 22 4.000

Maria 54 9.000

Cleide 29 8.200

Guilherme 33 8.000

Joana 47 7.852

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Perceba que, nesse exemplo, apenas os atributos nome do funcionário, idade e salário
estão disponibilizados para visualização. Em outra situação, o cliente deseja ver
apenas o CPF do funcionário e seu nome. Assim, ele utilizará a seguinte sintaxe:

π CPF_func, Nome_func (Funcionário)

Como resultado, a tabela ficará da seguinte maneira:


Cpf_func Nome_func

121111111-11 João

991111111-12 Pedro

471111131-11 Maria

251111111-11 Cleide

251111111-11 Cleide

431111444-11 Guilherme

232211111-11 Joana

Nota
Assim, percebe-se que é possível selecionar o atributo desejado, que será filtrado da
forma como o usuário solicitou.

Vimos a importância da Álgebra Relacional e seus operadores, bem como o


funcionamento e exemplos de dois importantes operadores, seleção e projeção. Com
a utilização deles, compreende-se que é possível filtrar dados requeridos pelo usuário
de forma eficiente.

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Tema 2
Operações oriundas da teoria dos conjuntos

Como funcionam as operações baseadas na teoria dos


conjuntos?

Para entender o funcionamento de um banco de dados e as relações entre as


entidades, é necessário adicionar uma pitada de Álgebra Relacional, principalmente no
que diz respeito às operações oriundas da teoria dos conjuntos, que podem ser: união
(que será vista em detalhes no próximo tema), diferença, intersecção e produto.

Intersecção

A intersecção, em uma relação entre entidades em um banco de dados, representará


todos os registros semelhantes em ambas as relações presentes na operação. Ela é
representada graficamente pelo símbolo ∩, e sua sintaxe é:

(Relação 1) ∩ (Relação 2)

Exemplo
Como exemplo, vamos identificar a relação entre gerentes e funcionários de uma loja:

Funcionários
Nome_func Sobrenome_func

Maria Nzagui

Cleide Santos

Guilherme Gomes

João Resende

Pedro Smith

Pedro Miguel
Gerentes
Nome_func Sobrenome_func

Maria Nzagui

Cleide Santos

Janaína José

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Nome_func Sobrenome_func

João Maria

Pedro Sento Sé

Maurício Miquéias

Dessa maneira, a intersecção entre as entidades deve ser feita da seguinte maneira:

RESULTADO ←-- (FUNCIONÁRIOS) ∩ (GERENTES),

resultando em:
Nome_func Sobrenome_func

Maria Nzagui

Cleide Santos

Assim, compreende-se que a operação de intersecção coletará os atributos que são


semelhantes entre as diferentes entidades.

Diferença

Para um bom funcionamento do banco de dados, a diferença é uma operação que


resulta em obter uma relação a partir dos atributos que não estão na outra entidade.
Ela é representada pelo sinal de –, e sua sintaxe é:

(Relação 1) – (Relação 2)

Portanto, utilizando as tabelas de Funcionários e Gerentes, que vimos anteriormente;


porém, aplicando a sintaxe:

(Funcionários) – (Gerentes)

O resultado será:

Nome_func Sobrenome_func

Janaína José

João Maria

Pedro Sento Sé

Maurício Miquéias

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Nome_func Sobrenome_func

Guilherme Gomes

João Resende

Pedro Smith

Pedro Miguel

Assim, percebe-se que os valores exibidos no resultado são diferentes entre as


tabelas Funcionários e Gerentes.

Produto

Essa operação também é conhecida como plano cartesiano e é definida pela


combinação de registros de duas relações em uma questão. A diferença é que existirá
um arranjo entre todos os registros das duas relações. Sua representação é com a
letra x, e sua sintaxe é:

(Relação 1) X (Relação 2)

Desta maneira, utilizando as tabelas de Gerentes, que vimos anteriormente, e projeto:

Gerentes
Nome_func Sobrenome_func

Maria Maria

Cleide Santos

Janaína José

João Maria

Pedro Sento Sé

Maurício Miquéias

Projetos

Cod_proj Obs

1 Construção de estádio.

2 Serviço de TI.

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Cod_proj Obs

3 Projeto de desenvolvimento de foguete.

4 Realocação de recursos.

Aplicando a sintaxe:

(Gerentes) x (Projetos)

Teremos:
Nome_func Sobrenome_func Cod_proj Obs

Construção de
Maria Nzagui 1 estádio.

Realocação de
Maria Nzagui 4 recursos.

Cleide Santos 2 Serviço de TI.

Janaína José 2 Serviço de TI.

Projeto de
desenvolvimento
Janaína José 3 de foguete.

Realocação de
João Maria 4 recursos.

Pedro Sento Sé 2 Serviço de TI.

Realocação de
Maurício Miquéias 4 recursos.

Desse modo, pode-se ver que as informações são unificadas em uma única entidade,
por meio do operador de produto.

Vimos que a Álgebra Relacional é um elemento importante para o entendimento sobre


os bancos de dados, e para a criação deles, esses conceitos serão utilizados em sua
implementação. Isso é de suma importância para entender o funcionamento da
relação entre as entidades e seus atributos em um banco de dados.

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Tema 3
Operação de junção; funções de agrupamento

Como funcionam as funções de agrupamento e


junção?

Até agora vimos diversos operadores de Álgebra Relacional e suas especificações.


Dessa vez, vamos conhecer um que tem a capacidade de combinar os registros de
diferentes entidades, partindo dos atributos que são comuns entre elas. O resultado
conterá os atributos de duas relações que participarão de uma junção.

A operação de junção é representada pelo símbolo |x|, e sua sintaxe é definida da


seguinte maneira:

(Relação 1) |x| (Relação 2)

As operações de junção funcionam com mais de uma condição. Para isso, é


necessário a utilização de operadores lógicos: and oi or. Veremos um exemplo de um
cinema que possui duas entidades: filmes e salas.

Filmes
Filme Tempo_filme Gênero_Filme Sala

E o vento levou 2 horas e 30 minutos. Ação 1

O senhor dos anéis 3 horas e 30 minutos. Fantasia 2

Avatar 03 horas e 45 minutos. Fantasia 3

SALAS
Cod_sala Tipo_sala

1 3D

2 Normal

3 Imax

Agora vamos utilizar o atributo de junção, que será:

FIL_SAL ←---- FILMES |x| SALA=COD_SALA SALAS

Como resultado, a tabela será a seguinte:

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
FIL_SAL
Filme Tempo_filme Gênero_Filme Sala Cod_sala Tipo_sala

2 horas e 30
E o vento levou minutos. Ação 1 1 3D

3 horas e 30
O senhor dos anéis> minutos. Fantasia 2 2 Normal

3 horas e 45
Avatar minutos. Fantasia 3 3 Imax

Agora vamos utilizar o atributo de junção, que será:

FIL_SAL ←---- FILMES |x| SALA=COD_SALA SALAS

Como resultado, a tabela será a seguinte:

FIL_SAL
Filme Tempo_filme Gênero_Filme Sala Cod_sala Tipo_sala

2 horas e 30
E o vento levou minutos. Ação 1 1 3D

3 horas e 30
O senhor dos anéis minutos. Fantasia 2 2 Normal

3 horas e 45
Avatar minutos. Fantasia 3 3 Imax

Além disso, é possível usar o conjunto das operações para trazer apenas os filmes de
Fantasia, por exemplo:

RESULTADO-FINAL ←---- GENERO_FILME>= FANTASIA (FILME, TEMPO_FILME


(FILMES |x| SALA=COD_SALA SALAS))

Resultado:
Filme Tempo_filme Sala

E o vento levou 2 horas e 30 minutos. 1

O senhor dos anéis 3 horas e 30 minutos. 2

Avatar 3 horas e 45 minutos. 3

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Como resultado, a tabela final apresenta o nome do filme, o tempo e a sala em que
será exibido. A operação de junção mostra-se poderosa e abre muitas possibilidades,
pois permite ao operador do banco de dados utilizar atributos de entidades diferentes
em uma mesma e novo grupo.

Outro importante operador que verificaremos agora é o de união (função de


agrupamento), que tem a capacidade de unificar os atributos de entidades diversas.

União (função de agrupamento)

Esse operador tem como objetivo criar uma relação por meio de outras duas , unindo
os atributos de ambas. Dessa maneira, aparecerão o resultado de registros únicos de
uma relação ou de outra. Além disso, as informações duplicadas aparecerão apenas
uma única vez.

Para utilizar esse recurso, é necessário que as entidades de origem tenham a mesma
compatibilidade para a realização da união. Portanto, elas devem ser semelhantes e
gerar o mesmo tipo de resultado. O operador de união é representado pela letra U, e
sua sintaxe é:

(Relação 1) U (Relação 2)

Utilizando as tabelas a seguir:

FUNCIONÁRIOS_SP
Cpf_func Nome_func Sobrenome_func Idade_func Gênero_func Sálario_func

471111131-11 Maria Nzagui 54 F 9.000

251111111-11 Cleide Santos 29 F 8.200

431111444-11 Guilherme Gomes 33 M 8.000

FUNCIONÁRIOS_RJ
Cpf_func Nome_func Sobrenome_func Idade_func Gênero_func Sálario_func

121111111-11 João Resende 25 M 5.000

991111111-12 Pedro Smith 22 M 4.000

Utilizando o comando:

Temos:
Cpf_func Nome_func Sobrenome_func Idade_func Gênero_func Sálario_func

471111131-11 Maria Nzagui 54 F 9.000

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Cpf_func Nome_func Sobrenome_func Idade_func Gênero_func Sálario_func

251111111-11 Cleide Santos 29 F 8.200

431111444-11 Guilherme Gomes 33 M 8.000

121111111-11 João Resende 25 M 5.000

991111111-12 Pedro Smith 22 M 4.000

Hoje conhecemos o funcionamento de dois importantes operadores de Álgebra


Relacional: os operadores de junção e de união. Eles são de extrema importância para
a consulta e organização de informações em um banco de dados. Além disso, vimos
como funciona a Álgebra Relacional e sua importância para os bancos de dados.

Vídeo

Para saber mais, assista ao vídeo publicado na unidade da disciplina no


Ambiente Virtual de Aprendizagem.

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Encerramento

Como funcionam as operações matemáticas de seleção


e projeção?
Elas são fundamentais para a filtragem de dados configurada, de forma que o usuário
consiga consultar as informações desejadas.

Como funcionam as operações baseadas na teoria dos


conjuntos?
São quatro importantes operações que permitem a coleta de dados mediante várias
formas diferentes.

Como funcionam as funções de agrupamento e


junção?
O operador de junção tem a capacidade de agregar um atributo em uma entidade
diferente, enquanto a função de agrupamento tem a habilidade de unificar todas as
informações de todos os atributos entre dois grupos.

Resumo da Unidade

Hoje conhecimentos a Álgebra Relacional e sua importância para o funcionamento


dos bancos de dados, por meio de suas relações, atributos e entidades. Além
disso, conhecemos também os operadores utilizados por ela, pontuando os mais
utilizados. Isso servirá como base para o entendimento da implementação dos
bancos de dados, por meio de linguagem de script.

Referências da Unidade

• ALVES, W. P. Banco de dados. São Paulo: Érica, 2014.E-book. ISBN:


9788536518961.
• HEUSER, C. A. Projeto de banco de dados . 6. ed. Porto Alegre: Bookman,
2011. E-book. ISBN: 9788577804528.
• MACHADO, F. N. R. Projeto e implementação de banco de dados . 3. ed. São
Paulo: Érica, 2014. E-book. ISBN: 9788536518978.

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.
Para aprofundar e aprimorar os seus conhecimentos sobre os assuntos
abordados nessa unidade, não deixe de consultar as referências
bibliográficas básicas e complementares disponíveis no plano de ensino
publicado na página inicial da disciplina.

Todos os materiais didáticos apresentados nesta plataforma são protegidos por direitos autorais de propriedade da Universidade Veiga
de Almeida e do Centro Universitário Jorge Amado. Qualquer uso não autorizado, reprodução ou distribuição (incluindo o upload para
sites) são estritamente proibidos e sujeitos às penalidades legais aplicáveis. Todos os direitos são reservados à UVA & Unijorge.

Você também pode gostar