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]