Escolar Documentos
Profissional Documentos
Cultura Documentos
Modelo Relacional
Modelo Relacional
Contedo
Introduo
Conceitos Bsicos
Caractersticas das Relaes
Restries de Integridade
Operaes de atualizao
lgebra Relacional
Modelo Relacional
Conceitos Bsicos
Modelo Relacional
Conceitos Bsicos
O Modelo Relacional de Dados representa o banco de
dados como uma coleo de relaes.
Informalmente :
Uma relao se assemelha a uma tabela
Cada linha da tabela representa uma coleo de
valores de dados relacionados
Cada linha de uma tabela representa um fato do
mundo real uma instncia de uma entidade ou de
um relacionamento
Nomes das colunas especificam o modo como se deve
interpretar os valores dos dados em cada linha
Modelo Relacional - Slide 4
Modelo Relacional
Conceitos bsicos
FILMES
Codigo
Filme
Diretor
Ano
Oscar
O Paciente Ingls
Anthony Minghella
1996
11
1999
12
Beleza Americana
Sam Mendes
1999
17
Matrix
Andy Washowski
1999
20
Thomas Crown
John McTiernan
1999
50
Forrest Gump
Robert Zemeckis
1994
57
Platoon
1986
61
Jerry Maguire
1996
75
Titanic
1997
10
James Cameron
Modelo Relacional
Conceitos Bsicos
domnio
Modelo Relacional - Slide 6
Modelo Relacional
Conceitos Bsicos
Modelo Relacional
Conceitos Bsicos
Modelo Relacional
Conceitos Bsicos
Atributos
Explicita o papel de um domnio em uma
relao
Os atributos de uma dada relao devem
ser diferentes (teoria dos conjuntos)
Ex : Nome, Endereo, Salrio
Modelo Relacional - Slide 9
Modelo Relacional
Conceitos Bsicos
Tupla
Corresponde a uma lista ordenada de valores t
= <v1, v2, ..., vn>, onde cada valor de v um
elemento do dom(A) ou um valor especial nulo.
Um relao r(R) um conjunto de n-tuplas
r(R) = {t1, t2, ..., tn}
Grau
Nmero de atributos de uma relao
Cardinalidade de uma relao
Nmero de tuplas de uma relao
Modelo Relacional - Slide 10
Modelo Relacional
Relao
Atributos
FILMES
Codigo
Tuplas
Filme
Diretor
Ano
Oscar
O Paciente Ingls
Anthony Minghella
1996
11
1999
12
Beleza Americana
Sam Mendes
1999
17
Matrix
Andy Washowski
1999
20
Thomas Crown
John McTiernan
1999
50
Forrest Gump
Robert Zemeckis
1994
57
Platoon
1986
61
Jerry Maguire
1996
75
Titanic
1997
10
James Cameron
Grau
Modelo Relacional - Slide 11
Modelo Relacional
Caratersticas das Relaes
Modelo Relacional
Caratersticas das Relaes
Interpretao da Relao
O esquema de uma relao uma
afirmao e cada tupla um fato. Uma
relao representa fatos sobre entidade e
relacionamentos
Exemplo :
Funcionario(matricula, nome, endereco,
telefoneR, telefoneC, funcao, salario)
(14567, Ana Santos, Rua Par, 3456734, 99875436, analista,
3000)
(14568, Alicia Matos, Rua Cear, 3456733, 99875435,
arquiteta,4000)
(14569, Carlos Queiros,
Rua
Maranho,
3456732,
99875437,
Modelo
Relacional
- Slide
13
Modelo Relacional
Chaves
Modelo Relacional
Chaves
Chave Primria
Codigo
Filme
Diretor
Ano
Oscar
O Paciente Ingls
Anthony Minghella
1996
11
1999
12
Beleza Americana
Sam Mendes
1999
17
Matrix
Andy Washowski
1999
20
Thomas Crown
John McTiernan
1999
50
Forrest Gump
Robert Zemeckis
1994
57
Platoon
1986
61
Jerry Maguire
1996
75
Titanic
1997
10
James Cameron
Modelo Relacional
Restries integridade
Integridade de Entidade
Toda tupla de uma relao unicamente
identificada por um ou mais atributos definidos
como chave primria, cujos valores dos
atributos no pode conter nulos
Integridade Referencial
Regras de relacionamentos entre duas relaes
usando chaves primrias e chaves
estrangeiras, com a finalidade de manter
consistncia na atualizao
Integridade de Domnio
Faz referncia ao tipo de definio do domnio
Atribuir valores ou condies na definio de
atributos
Modelo Relacional - Slide 16
Modelo Relacional
Operaes de atualizao
Insero (Insert)
Fornece uma lista de valores dos atributos para
uma nova
tupla
Inserir <001, Cecilia, Rua So Paulo, 3000> em
Empregado
Pode violar :
restrio de domnio
restrio de integridade de entidade
restrio de integridade referncial
Modelo Relacional - Slide 17
Modelo Relacional
Operaes de atualizao
Excluso (Delete)
Elimina uma tupla da relao, utiliza uma condio
nos atributos para selecionar a tupla a ser
eliminada
Excluir Empregado com matricula=123456
Pode violar:
Restrio de integridade referencial
Opes para violao:
Rejeitar a excluso
Excluso em cascata
Alterar para nulo
Modelo Relacional
Operaes de atualizao
Atualizao (Update)
Altera valores de um ou mais atributos numa tupla
ou tuplas. Especifica uma condio nos atributos
para selecionar a tupla a ser modificada
Altere o salrio da tupla Empregado com
matricula=123456
para 2000
Pode violar:
Restrio de domnio para o atributo alterado
Restrio de integridade referencial se afetar um
atributo que chave estrangeira
Se afetar chave primria produz excluso e
insero da tupla
Modelo Relacional - Slide 19
Modelo Relacional
lgebra Relacional
Modelo Relacional
lgebra Relacional
modelo
Conjunto de operadores que tomam
relaes como operandos e retornam uma
relao como resultado
Operadores baseados na teoria matemtica
dos conjuntos
(unio, interseo, diferena, produto
cartesiano) e operadores especficos
(seleo/restrio, projeo, diviso e
juno)
Modelo Relacional - Slide 21
Modelo Relacional
lgebra relacional
Restrio Projeo
A
B
C
Produto
A
X
A
Y
B
=
B
C
C
Join
A1 B1
A2 B1
A3 B2
A1 B1 B1 C1
B1 C1
= A2 B1 B1 C1
B2 C2
A3 B2 B2 C2
B3 C3
X
Y
X
Y
X
Y
Interseo
Diviso
A X X
=A
A Y Y
C
A Z
B X
C Y
C X
D Z
Diferena
Unio
Modelo Relacional
lgebra Relacional
Selecionar (restrio)
Utilizada para selecionar um subconjunto de
tuplas de uma relao que satisfaa uma
condio
salario>3000 (Empregado)
Modelo Relacional - Slide 23
Restrio
Modelo Relacional
lgebra Relacional
Selecionar (restrio)
<condio da seleo>
<nome do atributo> <operador de comparao> <valor constante>
ou
<nome do atributo> <operador de comparao> <nome do atributo>
Ex : Selecionar todos os empregados que trabalham no
departamento 2 e ganham acima de 2400 ou que
trabalham no departamento 3 e ganham acima de 3000
(departamento=2 and salario > 2400) or
(departamento=3 and salario>3000) (Empregado)
Modelo Relacional - Slide 24
Modelo Relacional
lgebra Relacional
Projeo
Seleciona determinados atributos de uma relao
Projeo
nome,endereco (Empregado)
Modelo Relacional - Slide 25
Modelo Relacional
lgebra Relacional
RS
Unio
renomear
Modelo Relacional
lgebra Relacional
RS
Selecione os empregados do departamento 01
que so analistas
Interseo
Modelo Relacional
lgebra Relacional
Modelo Relacional
lgebra Relacional
Modelo Relacional
lgebra Relacional
R X S
Se R tem n tuplas e R tem m tuplas
R X S ter nxm tuplas
A
B
C
Produto
A
X
A
Y
B
=
B
C
C
X
Y
X
Y
X
Y
Modelo Relacional
lgebra Relacional
Produto Cartesiano
Exemplo : Para cada empregado do sexo feminino gerar
uma lista com todos os seus dependentes
Modelo Relacional
lgebra Relacional
EmpregadoMulher Nome
Patrcia
Ana
EmpregadoM
Cod
Nome
Patrcia
Ana
1234
6789
Datanasc
Sexo
20/10/70 F
23/05/75 F
Endereco
R. abc
r. kkk
Salario
2500
1000
Cod
1234
6789
DependenteEmpregado Nome
Patrcia
Patrcia
Patrcia
Ana
Ana
Ana
Cod
Nome_dependente
Sexo
1234 Tiago
M
1234 Lucas
M
1234 Bianca
F
6789 Tiago
M
6789 Lucas
M
6789 Bianca
F
Datanasc
Codfunc
02/02/99
4444
10/06/04
1234
11/08/06
2222
02/02/99
4444
10/06/04
1234
11/08/06
2222
DependenteM
Nome
Patrcia
Cod
Nome_dependente
Sexo
1234 Lucas
M
Datanasc
Codfunc
10/06/04
1234
Resultado
Nome
Patrcia
Nome_dependente
Lucas
Modelo Relacional
lgebra Relacional
Juno (join)
O resultado a combinao de tuplas relacionadas de
duas relaes em uma nica tupla. Apenas as
combinaes de tuplas que satisfizerem a condio de
juno aparecero no resultado.
Juno entre R(A1, A2, ..., An) e S(B1, B2, ..., Bm)
R
<condio> S
Modelo Relacional
lgebra Relacional
Juno (join)
Exemplo : Fazer uma lista com o nome do departamento,
nome do gerente e salario dos gerentes.
GerenteDep (Departamento
codgerente=cod Empregado)
Resultado nomedepart,nome,salario(GerenteDep)
Modelo Relacional
lgebra Relacional
Diviso
Produz como resultado os elementos da primeira relao que se
relacionam com todos os elementos da segunda relao. A tuplas
resultantes possuem os atributos da primeira relao menos os
atributos da segunda. R S
a1
b1
c1
c1
a2
b1
c1
a2
a1
b2
c1
a1
a1
b2
a2
a1
a1
a1
c2
a2
b1
a1
b1
c1
c1
a1
b2
a2
b1
c1
c2
c1
a1
b2
c1
c3
b2
c2
a1
b2
c2
c4
a2
b1
c2
a2
b1
c2
a1
a1
a1
b2
b2
b1
c3
c4
c5
a1
a1
a1
b2
b2
b1
c3
c4
c5
b1
c1
b1
a2
b1
c1
b2
a1
b2
c2
a1
b1
c2
b2
b2
b1
c3
c4
c5
c1
a1
B
b2
A
a1
b1
a1
a1
b1
c1
b1
c1
a1
a1
b1
c1
b1
c1
a1
a2
a2
b1
c1
b2
c1
a2
b1
c1
a1
b2
c1
a1
b2
c1
a1
b2
c2
a1
b2
c2
a2
b1
c2
a2
b1
c2
a1
a1
a1
b2
b2
b1
c3
c4
c5
a1
a1
a1
b2
b2
b1
c3
c4
c5
Modelo Relacional
lgebra Relacional
Diviso
Exemplo : Recuperar as matriculas dos empregados que
trabalham em todos os projetos nos quais Ana Santos
trabalha.
Modelo Relacional
lgebra Relacional - Exerccios
Consulta 1: Liste o nome e salrio de todos os empregados que trabalham no
departamento Engenharia e que ganham mais de 3000
Consulta 2: Recuperar o nome e endereo de todos os empregados que trabalham para o
departamento Informtica
Consulta 3: Para cada projeto controlado pelo departamento Engenharia, liste o codigo
do projeto, nome, endereo e data de nascimento do gerente do departamento que
controla o projeto.
Consulta 4: Encontre o nome de todos os empregados que trabalham nos projetos
controlados pelo departamento 3.
Consulta 5: Recuperar o nome dos empregados que no tm dependentes
Consulta 6: Liste a matricula e nome dos gerentes que tenham pelo menos um
dependente
Consulta 7: Liste nome do empregado e nome do projeto de todo os empregados que
trabalham em projetos controlados pelo departamento de Engenharia, mas que no
trabalham em projetos controlados pelo departamento de Informtica