Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DE DADOS
1
LGEBRA RELACIONAL
2
LGEBRA RELACIONAL
Linguagem de consulta para bancos de dados
relacionais
Coleo de operadores sobre relaes
Desenvolvida por Codd
Linguagem procedimental
Operaes bsicas
Seleo ()
Projeo ()
Unio ()
Operaes Unrias
Diferena (-)
Produto cartesiano (x)
Operaes Binrias
3
LGEBRA RELACIONAL
Operao de seleo
Exemplo
Considere a relao Empregado
Empregado(matr, nome, ender, cpf, salrio, lotao)
Listar todos os empregados que ganham salrio maior que
5000
Resp : salrio>5000 (Empregado)
Listar todos os empregados do departamento com cdigo igual
a 002 e que ganham salrios maior que 5000
4
LGEBRA RELACIONAL
Operao de Projeo
Seleciona um subconjunto de atributos de uma
relao
Notao
Ai1, Ai2,, Ain(r)
Exemplo
Listar o nome e salrio de todos os funcionrios 5
LGEBRA RELACIONAL
Operao de Unio
Executa a unio de duas relaes compatveis
Duas relaes com esquemas R(A1, A2, , An) e
S(B1, B2, , Bn) so compatveis
Apresentam o mesmo nmero de atributos dom(Ai )=
dom(Bi), 0<in
Notao
r s
6
Operador de Unio
Exemplo
Considere as seguintes relaes
Empregado(matr, nome, ender, dt-nasc, cpf, salrio, lotao)
Dependente(nome-dep, data-nasc, matr-resp)
Liste
o nome e data de nascimento de todos os
funcionrios e dependentes existentes na empresa
nome, dt-nasc (Empregado) nome-dep, data-nasc (Dependente)
7
LGEBRA RELACIONAL
Operao de Diferena
O resultado da operao r - s uma relao que
contm todas as tuplas de r que no pertencem a s
r e s so relaes compatveis
Exemplo
Considerando que na empresa s existam as
relaes
Empregado e Dependente que referem-se a pessoas,
execute a seguinte consulta. Listar nomes de
empregados, desde que no existam dependentes com
mesmo nome 8
LGEBRA RELACIONAL
Operao de Produto Cartesiano
Sejam r e s relaes com esquemas R(A1, A2,
, An) e S(B1, B2, , Bm), respectivamente
Resultado da operao r x s uma relao
T(r.A1, r.A2, , r.An, s.B1, s.B2, , s.Bm)
com n+m atributos
10
LGEBRA RELACIONAL
12
LGEBRA RELACIONAL
13
LGEBRA RELACIONAL
Operao de Juno de Igualdade (cont.)
Exemplo
Considere as relaes Departamento (d) e
Empregado (e) mostradas abaixo. Calcule a
seguinte juno de igualdade
Departamento d.cod_d =e.lotacao Empregado
cod- nome ender gerente matr nome cpf salario lotacao
dep
1 ze 34 2000 3
1 LOG X,10 4 2 de 23 4000 2
2 RH Y,20 2 3 di 56 1500 1
5 gi 89 1200 2
14
LGEBRA RELACIONAL
15
LGEBRA RELACIONAL
Operao de Juno Natural (Natural Join)
Operao de juno de igualdade
Todos os atributos com o mesmo nome nas
duas relaes participam obrigatoriamente da
condio de juno
Envolvidos no operador de comparao (=)
Aparecem s uma vez na relao resultado
2 RH Y,20 2 3 di 56 1500 1
5 gi 89 1200 2
17
LGEBRA RELACIONAL
Operao de Interseo
O resultado da operao r s uma relao que
contm todas as tuplas de r e que pertencem a s
r e s so relaes compatveis
Operao de Diviso
Exemplo:
R S RS
A B C C A B
a1 b1 c1 c1 a1 b3
a1 b3 c1 c2
a1 b3 c2 c3
a1 b3 c3
a2 b2 c3
Exemplo
rel1 R-S(( R-S(r) x s) - R-S,S(r)) 20
LGEBRA RELACIONAL
Funes Agregadas
Funes aplicadas sobre uma coleo de valores
do banco de dados
Sum
Max
Min
Count
Distinct
21
LGEBRA RELACIONAL
22
LGEBRA RELACIONAL
Operao de Juno Externa (outer-join)
Considere as seguintes relaes
Vendedor(matr,nome, ender, salrio, cpf, lotao)
Vendas(matr-vend,cod-item,quantidade, pr-venda)
Res(Vendedor Vendas)
Consulta com perda de informao
No aparecero no resultado 23
LGEBRA RELACIONAL
25
PROJETO DE BANCO DE DADOS - FASES
1. Anlise (especificao) de requisitos
Projetistade banco de dados deve realizar
entrevista com usurios prospectivos do
banco de dados
Entender e documentar os requisitos de dados
2. Projeto conceitual
Com base nos requisitos de dados
Criar
um esquema conceitual para o banco de
dados
Modelo de dados conceitual:MER,Construir um
DER
26
PROJETO DE BANCO DE DADOS - FASES
4. Projeto Fsico
Definir
estruturas de armazenamento
Como e onde devem ser armazenadas as tabelas
Uma tabela em um arquivo
Vrias tabelas em um nico arquivo
5. Implementao
Com base no DR definido na fase 3 e as estruturas
de armazenamento e caminhos de acesso
definidos na fase anterior
Criar o banco de dados
Expresses DDL
Carregar o BD
28
PROJETO DE BANCO DE DADOS - MAPEAMENTO
Algoritmo de mapeamento
Sete passos
29
PROJETO DE BANCO DE DADOS -
MAPEAMENTO
Diagrama relacional (DR)
Ferramenta
grfica utilizada para representar
um esquema de banco de dados relacional
A partir de um DER, pode-se construir um
DR como descrito a seguir
Passo 1
Para cada conjunto de entidades E, deve ser
criada uma tabela como todos os atributos de
E
Escolher uma chave candidata para ser a
chave primria da tabela 30
PROJETO DE BANCO DE DADOS -
MAPEAMENTO
Passo 2
Para cada relacionamento binrio 1:1 entre os
conjuntos de entidades E1 e E2
Escolher uma das tabelas, por exemplo E2, e incluir
como chave estrangeira em E2 a chave primria da
outra tabela (E1)
Critrio de escolha
Entidade com participao total no relacionamento
Atributosde relacionamentos devem ser includos
na tabela com chave estrangeira
Ex :?? 31
PROJETO DE BANCO DE DADOS -
MAPEAMENTO
Passo 3
Para cada relacionamento binrio 1:N entre os
conjuntos de entidades E1 e E2
Identificaro conjunto de entidades que participa do lado
N (suponha que seja E2)
Incluir como chave estrangeira na tabela E2 a chave
primria da outra tabela (E1)
Atributos de relacionamentos devem ser includos na
tabela com chave estrangeira
Ex: ??
32
PROJETO DE BANCO DE DADOS -
MAPEAMENTO
Passo 4
Para cada relacionamento binrio N:N entre os
conjuntos de entidades E1 e E2
Criar uma nova tabela auxiliar tab-aux para representar o
relacionamento
Incluir como chaves estrangeiras na tabela tab-aux as
chaves primrias de E1 e E2
Estes dois atributos comporo a chave primria de tab-
aux
Atributos de relacionamentos devem ser includos na
tabela tab-aux
Ex: ?? 33
PROJETO DE BANCO DE DADOS -
MAPEAMENTO
Passo 5
Para relacionamento de grau maior que 2
Criar uma nova tabela auxiliar tab-aux para representar o
relacionamento
Incluir como chaves estrangeiras na tabela tab-aux as
chaves primrias das tabelas que participam do
relacionamento
Estes atributos comporo a chave primria de tab-aux
Ex: ??
34
PROJETO DE BANCO DE DADOS -
MAPEAMENTO
Passo 6
Para cada conjunto de entidades fracas F
Cria uma tabela TFr com todos os atributos de F
Incluir como chave estrangeira de TF a chave primria da
tabela correspondentes ao conjunto de entidades fortes
R
A chave primria de TFr ser a chave parcial de F mais a
chave primria de R
Ex: ??
35
PROJETO DE BANCO DE DADOS -
MAPEAMENTO
Passo 7
Para cada atributo multivalorado A de um
conjunto de entidades E1
Criar uma tabela T com o atributo A
Incluir como chave estrangeira em T a chave
primria de E1
A chave primria de T ser composta do atributo A
mais a chave primria de E1
Ex: ??
Como Mapear
Especializao/Generalizao e Agregao
36