Álgebra Relacional

Transcrição

Álgebra Relacional
Unidade I
UNIDADE I - AMBIENTE DE BANCO DE DADOS
1. Introdução
2. Conceitos
3. Gerenciador de Banco de Dados (SGBD)
3.1. Arquitetura ANSI/SPARC
32 R
3.2.
Regras bá
básicas
i
3.3. Usuários
3 4 Linguagem de Banco de Dados
3.4.
4. Modelo Hierárquico, Rede e Relacional
5. Modelagem
g
de Dados
6. Diagrama E-R
7. Transformações entre modelos
8N
8.Normalização
li
ã d
de d
dados
d
9. Álgebra Relacional
Unidade I
Banco de Dados I
ÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONAL
Conjunto de operações que usam uma ou mais relações
(tabelas) como entrada e produzem uma nova relação (tabela)
como resultado
Linguagem formal procedural representada por um conjunto de
operadores que permitem expressar qualquer operação de
manipulação de dados em um BD relacional
- Operações Fundamentais:
primárias ou unárias ((operam
p
p
sobre uma única relação)
ç )
seleção ( σ ), projeção ( π )
operações binárias (operam sobre um par de relações)
união ( ∪ ), intersecção ( ∩ ), diferença ( - ), produto
cartesiano
t i
( x )), junção
j
ã ( (x)
( ))
Unidade I
Banco de Dados I
ÁLGEBRA RELACIONAL
UNIÃO:( U ) é o conjunto de todas as tuplas que estão em uma ou
outra relação; aplicada a duas tabelas compatíveis, resulta numa nova
relação que consiste de todas as tuplas das duas tabelas consideradas
sem repetição
RELAÇÃO r3
C1
C2
C3
A
A
A
B
B
B
C
C
C
RELAÇÃO r1
RELAÇÃO r2
C1
C2
C3
C1
C2
C3
A
A
A
C
C
C
B
B
B
A
D
G
A
D
G
C
C
C
C
C
B
C
C
B
Unidade I
r1 U r2
Banco de Dados I
ÁLGEBRA RELACIONAL
Aluno = { Nome, Idade , Curso }
<Zeca, 25, Sistemas.>
<Zico,, 18,, Letras.>
<Juca, 21, Adm>
<Tuca, 18, Sistemas.>
Professor = { Nome, Idade , Depto. }
<Ari, 30,
Sistemas.>
<Eva,
Eva, 27,
Letras.>
Letras.
<Zeca, 25,
Sistemas.>
União:
Aluno ∪ Professor = { Nome,
Nome Idade , Curso }
<Zeca, 25, Sistemas.>
<Zico, 18, Letras.>
<Juca 21,
<Juca,
21 Adm >
<Tuca, 18, Sistemas.>
<Ari,
30, Sistemas.>
<Eva,
Eva, 27, Letras.
Letras.>
Unidade I
Observação:
C
Convenciona-se
i
usar
os nomes dos
atributos da relação
da esquerda, quando
não especificado.
Banco de Dados I
ÁLGEBRA RELACIONAL
U
INTERSEÇÃO: (
) é o conjunto de todas as tuplas que estão
simultaneamente em ambas as relações; aplicada a duas tabelas
compatíveis resulta numa nova relação que consiste de todas as tuplas
que são
ã comuns à
às d
duas ttabelas
b l consideradas
id
d
RELAÇÃO r1
RELAÇÃO r2
RELAÇÃO r3
C1
C2
C3
C1
C2
C3
C1
C2
C3
A
A
A
C
C
C
C
C
C
B
B
B
A
D
G
C
C
C
C
C
B
U
Unidade I
r1
r2
Banco de Dados I
ÁLGEBRA RELACIONAL
Aluno = { Nome, Idade , Curso }
<Zeca 25,
<Zeca,
25 Sistemas.>
Sistemas >
<Zico, 18, Letras.>
<Juca, 21, Adm >
<Tuca,
Tuca, 18, Sistemas.
Sistemas.>
Professor = { Nome, Idade , Depto. }
<Ari
<Ari,
30
30,
Sistemas >
Sistemas.>
<Eva, 27,
Letras.>
<Zeca, 25,
Sistemas.>
Intersecção:
Aluno ∩ Professor = { Nome,
Nome Idade , Curso }
{ <Zeca, 25, Sistemas.> }
Unidade I
Banco de Dados I
ÁLGEBRA RELACIONAL
DIFERENÇA : ( - ) é o conjunto de todas as tuplas que estão em
apenas uma relação; aplicada a duas tabelas compatíveis resulta numa
nova relação que consiste de todas as tuplas que aparecem numa
t b l e não
tabela
ã aparecem na outra
t
RELAÇÃO r1
RELAÇÃO r2
RELAÇÃO r3
C1
C2
C3
C1
C2
C3
C1
C2
C3
A
A
A
C
C
C
A
A
A
B
B
B
A
D
G
B
B
B
C
C
C
C
C
B
-
Unidade I
r1
r2
Banco de Dados I
ÁLGEBRA RELACIONAL
Aluno = { Nome, Idade , Curso }
<Zeca, 25, Sistemas.>
<Zico,, 18,, Letras.>
<Juca, 21, Adm >
<Tuca, 18, Sistemas.>
Professor = { Nome, Idade , Depto. }
<Ari,
30,
Sistemas.>
<Eva,
Eva, 27,
Letras.>
Letras.
<Zeca, 25,
Sistemas.>
Diferença:
Aluno − Professor = { Nome, Idade , Curso }
{ <Zico, 18, Letras.>
<Juca 21,
<Juca,
21 Adm >
<Tuca, 18, Sistemas.> }
Professor − Aluno = { Nome,
Nome Idade , Depto.
Depto }
{ <Ari, 30, Sistemas.>
<Eva, 27, Letras.> }
Unidade I
Banco de Dados I
ÁLGEBRA RELACIONAL
PRODUTO CARTESIANO: ( X ) O produto cartesiano de duas
relações R e S tem como resultado uma relação que tem como atributos a
concatenação dos atributos da relação R e da relação S, e tem como
tuplas todas as combinações possíveis de valores de R com valores de S
S.
-permite combinar informações de duas relações quaisquer
-atributos
t ib t de
d mesmo nome d
de relações
l õ dif
diferentes
t d
devem ser referenciados
f
i d por
relação.atributo
Sintaxe: <relação1 > X <relação2 >
P ro d u to
E sca lar
a
b
c
Unidade I
x
y
a
a
b
b
c
c
x
y
x
y
x
y
Banco de Dados I
ÁLGEBRA RELACIONAL
Produto cartesiano de devedor e depositante
p
Devedor X Depositante
DEVEDOR
nome num_emprestimo
num emprestimo valor
CARLOS
P-201
2000
LUIS
X-301
1000
LUIZA
X-302
500
DEPOSITANTE
nome
conta
CARLA
A-422
JULIA
A-304
A
304
LUIS
A-101
LUIZA
A-214
Unidade I
devedor.nome emprestimo valor depositante.nome
CARLOS
P-201
2000 CARLA
CARLOS
P 201
P-201
2000 JULIA
CARLOS
P-201
2000 LUIS
CARLOS
P-201
2000 LUIZA
LUIS
X-301
1000 CARLA
LUIS
X 301
X-301
1000 JULIA
LUIS
X-301
1000 LUIS
LUIS
X-301
1000 LUIZA
LUIZA
X-302
500 CARLA
LUIZA
X-302
500 JULIA
LUIZA
X-302
500 LUIS
LUIZA
X-302
500 LUIZA
conta
A-422
A 304
A-304
A-101
A-214
A-422
A 304
A-304
A-101
A-214
A-422
A-304
A-101
A-214
Banco de Dados I
ÁLGEBRA RELACIONAL
SELEÇÃO : (σ) A seleção atua sobre uma relação r e produz uma subrelação das tuplas de r que satisfazem a <condição> especificada.
A <condição>
<
di ã > sempre é uma operação
ã d
de comparação
ã ( =, > etc.)
t )d
de um atributo
t ib t
da relação com uma constante, variável ou com outro atributo da própria relação
Alunos
Sintaxe: σ <critério de seleção> (<relação>)
Alunos onde Turma = VB
RELAÇÃO r1
C1
C2
C3
1
1
2
1
2
1
2
3
2
σB = 1(r1)
SUB-RELAÇÃO r1
C1
C2
C3
1
1
2
Sigma
Unidade I
Banco de Dados I
ÁLGEBRA RELACIONAL
Exemplo: Seja a relação de alunos:
Aluno = { Nome, Idade , Curso }
<Zeca, 25, Sistemas.>
<Zico,
Zi
18 Letras.>
18,
L
<Juca, 21, Adm >
<Tuca, 18, Sistemas.>
<T
<Teca,
19 Sistemas.>
19,
Si t
>
<Tina, 22, Adm >
Selecione os alunos q
que fazem “Adm”
σCurso = “Adm” (Aluno)
<Juca,
<Tina,
Unidade I
21,
22,
Adm >
Adm >
Banco de Dados I
ÁLGEBRA RELACIONAL
π ) é obtida ppor meio de uma lista objetivo,
j
, onde
PROJEÇÃO:
Ç
(
selecionamos apenas as colunas que desejamos; resulta numa relação
que contém apenas as colunas indicadas na operação.
Obs: As linhas repetidas são removidas
removidas.
Peças
Sintaxe:
π <lista de colunas> (<relação>)
π{A,B} (r1)
RELAÇÃO
RELAÇÃO r1
C1
C2
C3
C1
C2
1
1
1
1
1
1
2
3
1
2
3
2
1
3
2
etar código, nome, fabricante, estoque da tabela peças
LÊ-SE:
PROJEÇÃO
Ç
DAS COLUNAS A,, B DA RELAÇÃO
Ç
R1
Unidade I
Banco de Dados I
ÁLGEBRA RELACIONAL
Aluno = { Nome, Idade , Curso }
<Zeca, 25, Sistemas.>
<Zico, 18, Letras.>
<Juca, 21, Adm >
<Tuca, 18, Sistemas.>
<Teca, 19, Sistemas.>
<Tina,
Ti
22 Adm
22,
Ad >
Obtenha o nome e a idade dos alunos
Exemplo: Seja a relação de alunos:
π{Nome, Idade} (Aluno)
o que resulta na relação: {Nome, Idade}, contendo as seguintes
tuplas:
<Zeca, 25>
<Zico, 18>
<Juca 21>
<Juca,
<Tuca, 18>
<Teca, 19>
<Tina 22>
<Tina,
Unidade I
Banco de Dados I
ÁLGEBRA RELACIONAL
JUNÇÃO : ( (x) ) esta operação sobre duas tabelas resulta numa
relação que contém as linhas concatenadas das duas tabelas que
satisfazem a comparação entre as colunas indicadas.
Junção
Sintaxe:
<tabela1> (X) <critério> <tabela2>
a1
a2
a3
b1
b1
b2
b1 c1
b2 c2
b3 c3
a1
a2
a3
RELAÇÃO r1
b1 b1 c1
b1 b1 c1
b2 b2 c2
RELAÇÃO r2
SUB-RELAÇÃO
B
D
E
A
B
C
D
E
1
1
1
1
1
1
1
1
A
B
C
D
1
1
1
1
2
2
1
3
2
3
6
1
1
1
1
5
1
2
5
3
1
1
5
2
2
1
3
6
1
2
3
4
4
3
2
1
2
5
3
6
Unidade I
r1
r2
Banco de Dados I
ÁLGEBRA RELACIONAL
RENOMEAR : ( ρ ) apresenta,
apresenta como resultado a mesma relação de
entrada com outro nome ou, ainda, a mesma relação de entrada com
novo nome e, também com os atributos com novos nomes.
ρ firma (empresa)
cod
A1
A2
B2
B1
EMPRESA
nome
codEmp
XXXX
1111
YYYYY
3333
TTTT
4444
KKKK
1111
FIRMA
cod
A1
A2
B2
B1
nome
XXXX
YYYYY
TTTT
KKKK
codEmp
1111
3333
4444
1111
ρ firma(x, y, z) (empresa)
FIRMA
EMPRESA
cod
A1
A2
B2
B1
Unidade I
nome
XXXX
YYYYY
TTTT
KKKK
codEmp
1111
3333
4444
1111
x
A1
A2
B2
B1
y
XXXX
YYYYY
TTTT
KKKK
z
1111
3333
4444
1111
Banco de Dados I

Documentos relacionados