Escolar Documentos
Profissional Documentos
Cultura Documentos
SERGIPE
UNED – LAGARTO/SE
BANCO DE DADOS
Parte IV
Entidade de Dados
Representam os dados que deverão ser
armazenados pelo sistema
CLIENTE
Modelo Relacional (cont.)
Relacionamentos
Determinam a interdependência entre
as entidades de um DER
(0,1) Gerenc (0,1)
Funcionário ia Divisão
Tipos de Relacionamento
1:1
1:N
N:N
Modelo Relacional (cont.)
Dicionário de Dados
Símbolo Significado
= É equivalente a
+ E (concatenação)
[a|b|c] Ou (seleção)
n{a}m Interações de n até m
(a) (repetições)
Opcionalidade
/* . . . */ Comentário
@ Chave primária
Modelo Relacional (cont.)
Exemplo de DER
(0,N) É_fala (0,N)
Idioma do Pessoa
(1,N)
(0,N)
Tem Tem
(1,N) (0,N)
Cargo Habilidade
(1,1) (1,N)
Motorista Faz Viagem
Modelo Relacional (cont.)
Primeira Forma Normal (1FN)
Repetições com identificador da repetição
Entidades INDEPENDENTES da repetição
Se extraída a repetição, a entidade continuar
caracterizada e com sentido dentro do modelo:
Deve ser criada uma nova entidade composta
pela chave primária da entidade particionada e
pelos atributos da repetição.
A chave primária da nova entidade, deve ser
composta pela chave primária da entidade
particionada em conjunto com o identificador da
repetição.
Modelo Relacional (cont.)
Primeira Forma Normal (1FN)
Repetições com identificador da repetição
Entidades DEPENDENTES da repetição
Se extraída a repetição, a entidade perder o sentido:
Deve ser removida a repetição
Chave primária deve ser acrescentado o
identificador da repetição
(0,N)
Conte
m
(0,N)
Produto
Modelo Relacional (cont.)
Primeira Forma Normal (1FN)
Exemplo com entidade INDEPENDENTE da
repetição na 1FN:
Cliente = @codigoCliente + nomeCliente
Pedido = @codigoPedido + data + dataEntrega +
codigoCliente
ItemDePedido = @codigoPedido + @codigoProduto
+ qtde + valor
Produto = @codigoProduto + descricaoProduto
Modelo Relacional (cont.)
Primeira Forma Normal (1FN)
Exemplo com entidade INDEPENDENTE da
repetição na 1FN:
(1,1) (0,N)
Cliente Faz Pedido
(1,1)
Conte
m
(1,N)
(1,1) EstaE (1,N) ItemDePedid
Produto m o
Modelo Relacional (cont.)
Primeira Forma Normal (1FN)
Exemplo com entidade DEPENDENTE da
repetição:
Aluno = @matriculaAluno + nomeAluno + endereco
Historico = @matriculaAluno + 0 {codigoDisciplina
+ ano + semestre + nota + faltas + status} N
Disciplina = @codigoDisciplina + nomeDisciplina
(1,1) (0,1)
Aluno Possui Histórico
(0,N)
Tem
(0,N)
Disciplina
Modelo Relacional (cont.)
Primeira Forma Normal (1FN)
Exemplo com entidade DEPENDENTE da
repetição na 1FN:
Aluno = @matriculaAluno + nomeAluno + endereco
Historico = @matriculaAluno + @codigoDisciplina +
ano + semestre + nota + faltas + status
Disciplina = @codigoDisciplina + nomeDisciplina
(1,1) (0,N)
Aluno Possui Histórico
(1,N)
Tem
(1,1)
Disciplina
Modelo Relacional (cont.)
Dependência Funcional (DF)
Dada uma relação R, um conjunto de
atributos B de R é funcionalmente
dependente de um conjunto A de R (R.A →
R.B), se e somente se, cada conjunto de
valores de A em R, sempre for associado a
precisamente a um mesmo conjunto de
valores de B em R.
Exemplo:
Oferta = @codigoDisciplina + @turma +
nomeDisciplina + vagas + vagasOcupadas
(codigoDisciplina, turma) → (vagas, vagasOcupadas)
codigoDisciplina → nomeDisciplina
Modelo Relacional (cont.)
Segunda Forma Normal (2FN)
Uma relação está na 2FN, se e somente se,
estiver em 1FN, e cada atributo não chave for
totalmente dependente da chave primária.
Carro Peça
Modelo Relacional (cont.)
Terceira Forma Normal (3FN)
Exemplo na 3FN:
Carro = @codigoCarro + descricaoCarro +
anoLancamento
Peça = @codigoPeca + descricaoPeca +
codigoFornecedor
Fornecedor = @codigoFornecedor +
nomeFornecedor
Viola a BCNF
EnsinoProfessor = @ codigoProfessor +
@codigoDisciplina
EnsinoAssunto = @codigoDisciplina +
@codigoAssunto
Modelo Relacional (cont.)
Quinta Forma Normal (5FN)
Dependência de junção
Uma relação R(A,B,C) satisfaz a
dependência de junção, se e somente se:
R(A,B,C) = R(A,B) |x| R(B,C) |x| R(C,A)
Exemplo:
Disciplina = @codigoDisciplina +
nomeDisciplina + qtdeCredito
Centro = @codigoCentro + nomeCentro
Modelo Relacional - Projeto
Relacionamento 1:N
Disciplina
Coluna Formato Defau N Restrições
lt ulo
codDisc Numerico( --- N codDisc>0
6)
nomeDis Literal(50) --- N ---
c
qtdCredi Numerico( --- N qtdCreditos
to 2) >0
codCentr Numerico( --- N codCentro>
o 2) 0
Pk (codDisc)
Fk (codCentro → centro(codCentro))
Index (nomeDisc)
Modelo Relacional - Projeto
Relacionamento 1:N
Centro
Obs: O formato deve ser preenchido de acordo com o SGBD onde a tabela
será criada.
Modelo Relacional - Projeto
Relacionamento N:N
As entidades que participam do
relacionamento permanecem inalteradas
É criada uma terceira entidade composta
pelas chaves primárias das duas participantes
do relacionamento
As chaves primárias migradas serão chaves
estrangeiras, bem como comporão a chave
primária da nova entidade
Exemplo:
Carro = @codigoCarro + descricaoCarro
Peça = @codigoPeca + descricaoPeça
Modelo Relacional - Projeto
Relacionamento N:N
Carro
Coluna Formato Defau N Restrições
lt ulo
codCarro Numerico( --- N codCarro>0
5)
descrCarr Literal(50) --- N ---
o
Pk (codCarro)
Index (descCarro)
Modelo Relacional - Projeto
Relacionamento N:N
Peças
Coluna Formato Defau N Restrições
lt ulo
codPeça Numerico( --- N codPeça>0
5)
descrPeç Literal(50) --- N ---
a
Pk (codPeça)
Index (descPeça)
Modelo Relacional - Projeto
Relacionamento N:N
CarroPeça
Coluna Formato Defau N Restrições
lt ulo
codPeça Numerico( --- N codPeça>0
5)
codCarro Numerico( --- N codCarro>0
5)
Pk (codPeça, codCarro)
Fk(codCarro→Carro(codCarro))
Fk(codPeça→Peça(codPeça))
Index(codCarro, codPeça)
Modelo Relacional - Projeto
Relacionamento com atributo
As entidades que participam do relacionamento
permanecem inalteradas
Exemplo:
Curriculo = @codigoCurso + @codigoCurso + totalCreditos
Disciplina = @codigoDisciplina + nomeDisciplina +
qtdeCreditos
Grade = @codigoCurso + @codigoCurso + período
Modelo Relacional - Projeto
Relacionamento com atributo
Curriculo
Coluna Formato Defau N Restrições
lt ulo
codCurso Numerico( --- N codCurso>0
2)
codCurric Numerico( --- N codCurric>0
4)
totalCredit Numerico( --- N totalCredit>
os 3) 0
Pk (codCarro, codCurric)
Modelo Relacional - Projeto
Relacionamento com atributo
Disciplina
Coluna Formato Defau N Restrições
lt ulo
codDisc Literal(7) --- N codDisc>0
nomeDisc Literal(50) --- N ---
qtdeCredit Numerico( --- N qtdeCredito
o 3) >0
Pk (codDisc)
Index(nomeDisc)
Modelo Relacional - Projeto
Relacionamento com atributo
Grade
Coluna Formato Defau N Restrições
lt ulo
codCurso Numerico( --- N codCurso>0
2)
codCurric Numerico( --- N codCurric>0
4)
codDisc Literal(7) --- N codDisc>0
Periodo Numerico( --- N Periodo > 0
2) e periodo
<= 12
Pk (codCurso, codCurric, codDisc)
Fk ((codCurso, codCurric→→Curriculo(codCurso,codCurric))
Fk(codDisc→Disciplina(codDisc)