AULA1
ÁLGEBRA RELACIONAL
1. Características do Modelo
Funcional
-
Os dados são tratados como tabelas
bidimensionais, chamadas relações.
-
Cada relação tem um número
fixo de colunas, chamados atributos, e um número de linhas
(dinâmico, variando com o tempo), chamados tuplas.
-
Existe uma correspondência entre
campos (de arquivos) e atributos (de relações), e entre registros
e tuplas.
-
O número de atributos de uma
relação é chamado grau, e o número de
tuplas é chamado cardinalidade. O exemplo abaixo é
uma relação de grau 4 e de cardinalidade 5.
-
O conjunto dos valores possíveis
para dado atributo é chamado domínio.
-
O nome da relação e os
nomes dos atributos que aparecem nela recebem o nome de esquema da relação.
Exemplo de relação:
Codigo
|
Nome
|
Idade
|
Setor
|
3
|
Saulo |
29
|
4
|
7
|
Cristiano |
31
|
2
|
11
|
Patricia |
25
|
1
|
15
|
Roberto |
35
|
2
|
18
|
Marcelo |
21
|
5
|
Esquema da relação:
FUNCIONARIO(CODIGO, NOME, IDADE, SETOR).
DEPENDENTE (CODIGO, CODIGO_FUNCIONARIO, NOME, IDADE)
CODIGO_FUNCIONARIO REFERENCÍA FUNCIONARIO.
Observações:
-
Não existem duas tuplas idênticas
em uma mesma relação.
-
Não existe uma mesma ordem definida
para as tuplas de uma relação.
2. Definição do
Modelo Funcional
-
conjunto dos valores possíveis
para um dado atributo de uma relação é chamado domínio
deste atributo. Por exemplo, o atributo IDADE da relação
FUNCIONARIOS tem seus valores definidos no domínio das idades de
pessoas, constituído pelos inteiros de 0 até 120 (por exemplo).
-
Uma importante propriedade da alguns
atributos é que eles são chave de relação;
chaves são subconjuntos de atributos de um esquema de relação
em que os valores são únicos dentro da relação,
e assim podem ser usados para identificar univocamente tuplas de uma relação.
-
Por exemplo, na relação
FUNCIONARIOS, o atributo CODIGO é uma chave apropriada para FUNCIONARIOS
(pois a identificação do número dos funcionários
é única).
3. Álgebra Relacional
-
Operadores Unários - têm
apenas um operando (seleção e projeção).
-
Operadores Binários -
têm como operando duas relações e produzem uma relação
como resultado da operação. (União, Diferença,
Produto Cartesiano, Inserção, Junção, Junção
Natural, Semi-junção e Semi-junção Natural).
3.1. Operadores Unários
Projeção - Cria
uma visão da tabela com todas as colunas G, sendo que G = A1,...,An,
não repetidas de R.

Exemplo:

Seleção - Cria
uma visão da tabela R, com todas as linhas que satisfazem as fórmulas
em F, sendo que F pode ser: (R.A = 2), (R.A>a.1), (R.A>a.1 ^ R.A>a2), etc.
Podem-se utilizar operadores de comparação (>=,<=, =,
etc.) e operadores lógicos (^, v, ~, etc...).

Exemplo:

Observação:
A seleção elimina linhas e a projeção elimina
colunas.
3.2. Operadores Binários
União: R precisa ter
o mesmo esquema de S, criando uma visão com as tuplas (linhas) que
estão em R e estão em S e não estão repetidas.
R U S
Exemplo:

Diferença: R precisa
ter o mesmo esquema de S, criando uma visão com tuplas de R que
não estejam em S.
R-S
Exemplo:

Produto Cartesiano: Conjunto
de tuplas resultantes da concatenação de cada tupla de R
com cada tupla de S.
R X S
Exemplo:

Interseção:
Conjunto das tuplas que aparecem em R e em S ao mesmo tempo.

Exemplo:

Junção: Conjunto
das tuplas de RXS que satisfazem a fórumla F. Quando há apenas
o operador "=", são chamadas de equi-junções. Exemplo
(R.A = S.C).

Exemplo:

Junção Natural:
Conjunto das tuplas concatenando as tuplas de R e S, e eliminando as colunas
duplicadas sempre que os valores correspondentes de todos os atributos
em comum de R e S sejam iguais.

Exemplo:

Semi-junção:
Subconjunto das tuplas de R, constituído pelas tuplas que contribuem
para a junção de R com S sob a Fórmula F.

Sendo que:

Exemplo:

Semi-junção Natural:
Subconjunto das tuplas de R, constituídas pelas tuplas que contribuem
para a junção natural de R com S.

Sendo que:

Exemplo:
[voltar]
|