Você está na página 1de 6

lgebra Relacional

Existem dois tipo de tabelas:


Tabelas base/fsicas so aquelas que esto armazenadas num suporte fsico da Base
de Dados
Tabelas Virtuais so aquelas que s existem em resultado da execuo de um
conjunto de comandos de consulta, executados sobre as tabelas base.

Query Designa uma consulta base de dados e consiste na execuo de uma ou mais
operaes sobre as tabelas base
As Queries ou Consultas podem ser executadas sobre as tabelas base ou sobre as
tabelas virtuais que resultam de outras consultas.
A diferena entre uma tabela base e uma tabela virtual basicamente a seguinte: as
tabelas base existem fisicamente como estrutura de dados; as tabelas virtuais
(resultado das queries) existem apenas como um conjunto de comandos que
permitem extrair informao da base de dados.

Operaes sobre tabelas

Restrio:
A RESTRIO uma operao aplicada sobre uma tabela da base de dados
com a finalidade de extrair um subconjunto das suas linhas: precisamente o subconjunto
de linhas que obedeam a uma ou mais condies definidas.
As condies podem envolver um ou mais campos da tabela e so geralmente
definidas utilizando operadores do tipo =, <>, >, <, >=, <=, etc.

Exemplo:
Empregados (id_empregado, nome, sexo, vencimento)
Tabela: Empregados
Id_empregado
1

nome
Santos

sexo
M

Vencimento
400

2
3
4
5
6
7

Silva
Fonseca
Ramos
Ferreira
Lemos
pais

M
F
F
M
F
M

450
630
390
350
420
290

SELECIONAR id_empregado, nome, sexo, vencimento


DA TABELA empregados
ONDE sexo=F
Sql
SELECT id_empregado, nome, sexo, vencimento
FROM empregados
WHERE sexo=F

Consulta: empregados do sexo feminino


Id_empregado nome
sexo Vencimento
3
Fonseca F
630
4
Ramos
F
390
6
Lemos
F
420

Exemplo:
SELECIONAR id_empregado, nome, sexo, vencimento
DA TABELA empregados
ONDE sexo=F E vencimento > 400
Sql
SELECT id_empregado, nome, sexo, vencimento
FROM empregados
WHERE sexo=F and vencimento > 400

Consulta: empregados do sexo feminino com vencimento superior a 400


Id_empregado nome
sexo Vencimento
3
Fonseca F
630
6
Lemos
F
420

Projeco
Uma projeco uma operao que selecciona um subconjunto dos atribuitos ou
colunas de uma tabela.
Empregados (id_empregado, primeiro_nome, ultimo_nome, outros_nomes, sexo,
data_admisso, vencimento)
Tabela Empregados
Id_empregado
1
2
3
4
5
6
7

Primeiro_nome
Carlos
Pedro
Ins
Paula
Joo
Marta
Ricardo

Ultimo_nome
Santos
Silva
Fonseca
Ramos
Ferreira
Lemos
pais

Outros_nomes
Vieira
Nunes
Santos
Silva
Esteves
Santos
Silva

sexo
M
M
F
F
M
F
M

Data_admisso
12/10/80
03/02/81
11/11/84
02/10/83
11/08/79
09/06/85
10/11/82

SELECT primeiro_nome, ultimo_nome, data_adminsso, vencimento


FROM empregados

Consulta: nomes, data_admisso e vencimento


Primeiro_nome
Carlos
Pedro
Ins
Paula
Joo
Marta
Ricardo

Ultimo_nome
Santos
Silva
Fonseca
Ramos
Ferreira
Lemos
pais

Data_admisso
12/10/80
03/02/81
11/11/84
02/10/83
11/08/79
09/06/85
10/11/82

Vencimento
400
450
630
390
350
420
290

Consultas envolvendo restries e projeces


SELECT primeiro_nome, ultimo_nome, vencimento
FROM empregados
WHERE sexo= M AND data_admisso >=1981 AND vencimento >400
Primeiro_nome Ultimo_nome
Pedro
Silva

Vencimento
450

Vencimento
400
450
630
390
350
420
290

Unio
A unio uma operao realizada entre duas tabelas. Para que essa operao seja
possvel, necessrio que as duas tabelas tenham o mesmo cabealho, isto , que
tenham os mesmos atributos. A unio entre duas tabelas A e B produz uma terceira
tabela C, constituda por todas as linhas que pertencem a A ou a B.

Tabela A
X
Y
a
b
e
f
i
j
m
n

Exemplo
Tabela A
Id_aluno
A1
A2
A3
A4

Z
c
g
k
o

W
d
h
l
p

nome
Joo
Ana
Pedro
Filipe

Tabela A + B
Id_aluno
nome
A1
Joo
A2
Ana
A3
Pedro
A4
Filipe
A8
Paulo
A9
Ricardo
A10
Ins

X
m
q

Tabela B
Y
Z
n
o
r
s

Data_nasc
07/11/78
10/10/80
19/03/82
10/10/83

Tabela C (A unio com B)


X
Y
Z
W
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t

W
p
t

Tabela B
Id_aluno
A8
A9
A3
A10

nome
Paulo
Ricardo
Pedro
Ins

Data_nasc
07/11/81
10/10/77
19/03/82
09/12/82

Data_nasc
07/11/78
10/10/80
19/03/82
10/10/83
07/11/81
10/10/77
09/12/82

Interseco:
A interseco uma operao entre duas tabelas que possuam o mesmo
cabealho.
O resultado da interseco entre duas tabelas uma nova tabela com o mesmo
cabealho e formada pelas linhas que so comuns a ambas as tabelas

Tabela A
X
Y
a
b
d
e
g
h

Z
c
f
i

Exemplo:
Tabela A
Id_aluno
A1
A2
A3
A4

nome
Joo
Ana
Pedro
Filipe

Tabela B
X
Y
h
i
a
b
m
n
d
e

Z
j
c
o
f

Data_nasc
07/11/78
10/10/80
19/03/82
10/10/83

Tabela C (A interseco com B)


X
Y
Z
d
e
f
a
b
c

Tabela B
Id_aluno
A8
A9
A3
A10

nome
Paulo
Ricardo
Pedro
Ins

Data_nasc
07/11/81
10/10/77
19/03/82
09/12/82

Tabela A interseco com B


Id_aluno
nome
Data_nasc
A3
Pedro
19/03/82

Diferena:
A diferena uma operao entre duas tabelas com o mesmo cabaalho.
O resultado da diferena entre duas tabelas A e B uma tabela C que contm as
linhas que pertencem a A mas, no pertencem a B.
Tabela A
X
Y
a
b
d
e
g
h

Z
c
f
i

Tabela B
X
Y
d
e
j
k
m
n

Z
f
l
o

Tabela C (A - B)
X
Y
Z
a
b
c
g
h
i

Nota: no uma operao comutativa


Tabela B-A
X
Y
Z
j
k
l
m
n
o

Produto
O produto de duas tabelas A e B uma nova tabela com:

Um conjunto de atributos igual ao conjunto dos atributos de A acrescido do


conjunto de atributos de B.
Um conjunto de linhas formado por todas as combinaes de cada linha de A
com cada linha de B.

Para que a operao seja possvel necessrio que no existam atributos comuns nas
tabelas A e B. Se assim fosse, a tabela resultante apresentaria atributos repetidos,
violando um dos princpios das tabelas relacionais.
O nmero de atributos da tabela produto ser igual soma do nmero de
atributos da tabela A e da tabela B.
O nmero de linhas ser igual ao produto do nmero de linhas de A pelo nmero
de linhas de B.
X
a
d
g

Y
b
e
h

Z
c
f
i

U
m
p
s

V
n
q
t

W
o
r
u

X
a
a
a
d
d
d
g
g
g

Y
b
b
b
e
e
e
h
h
h

Z
c
c
c
f
f
f
i
i
i

U
m
p
s
m
p
s
m
p
s

V
n
q
t
n
q
t
n
q
t

W
o
r
u
o
r
u
o
r
u

Juno (Join)
a juno dos elementos de duas tabelas com base num atributo comum.
Tabela A
X
Y
a
b
c
d
e
f
g
f
i
j
k
l

Z
1
2
1
2
3
1

Tabela B
U
V
m
n
o
p
q
r
s
t
u
v

Z
1
2
1
2
2

Tabela A juno com B


X
Y
Z
U
a
b
1
m
a
b
1
q
c
d
2
o
c
d
2
s
c
d
2
u
e
f
1
m
e
f
1
q
g
f
2
o
g
f
2
s
g
f
2
u
k
l
1
m
k
l
1
q

V
n
r
p
t
v
n
r
p
t
v
n
r

Você também pode gostar