Академический Документы
Профессиональный Документы
Культура Документы
RELACIONAMENTO - MER
Disciplina: Banco de Dados 1
Professor: Leonardo Cerqueira
Email: leonardo@fcsl.edu.br
Banco de Dados - Conceito
O Que um Banco de Dados?
Conceito Dado / Informao / Conhecimento
Modelos de Dados
Modelo de dados:
Descrio formal da estrutura de um banco de dados
Modelos propostos:
Modelo conceitual
Modelo Lgico Minimundo
Modelo Fsico
Projeto Conceitual
Nveis
De Projeto Lgico
Abstrao
Projeto Fsico
Modelo Entidade-Relacionamento
Tcnica diagramtica para a representao de
um modelo conceitual.
Definida originalmente por Chen (76) e estendida
na dcada de 80.
Tcnica formal que estabeleceu-se como padro
para modelagem conceitual de BD Relacional.
Modelo Entidade-Relacionamento
O modelo Entidade-Relacionamento (E-R) tem
por base a percepo de que o mundo real
formado por um conjunto de objetos chamados
de entidades e pelo conjunto de relacionamentos
entre esses objetos.
Foi desenvolvido para facilitar o projeto do banco
de dados, permitindo a especificao do
esquema da empresa que representa toda a
estrutura lgica.
O modelo E-R um dos modelos com maior
capacidade semntica; que se referem a
tentativa de representar o significado dos dados.
Modelo Entidade-Relacionamento
Funcionrios Departamentos
Livros
MER Atributos
Uma entidade representada por um
conjunto de atributos.
Atributos so propriedades descritivas de
cada membro de um conjunto de entidades.
Podemos considerar atributos como sendo as
caractersticas da entidade.
Formalmente um atributo de um conjunto de
entidades uma funo que relaciona o
conjunto de entidades a seu domnio.
MER Atributos
Representao Grfica:
Endfun
c
Nomfunc
Salfunc
Matfunc
Coddepto
Matfunc
Funcionrios
NumDep
Nomde
Dependentes p
MER Atributos
Representao Grfica:
Telefone*
MER Atributos
Exerccio Prtico: Identifique cada item destacado:
MER Conjunto de Relacionamentos
Em conjuntos de relacionamentos
recursivos, nomes explcitos de papis
muitas vezes so necessrios. Por exemplo,
o conjunto de entidades empregado, e o
conjunto de relacionamentos trabalha_para,
que modelado para ordenar os pares da
entidade empregado. O primeiro empregado
tem papel de gerente, enquanto que o outro
tem o papel de empregado.
MER Conjunto de Relacionamentos
Relacionamento binrio um
relacionamento que envolve dois conjuntos
de entidades. A maior parte dos conjuntos de
relacionamentos modelados em um sistema
de banco de dados do tipo binrio.
MER Conjunto de Relacionamentos
Funcionrio Dependente
Tem
Trabalha Departamento
MER Conjunto de Relacionamentos
Representao Grfica: Cross Feet
MER Conjunto de Entidades ou
Atributos?
@CodDoe
@CRMMed NomDoe
NomMed Doena
EndMed
0,N @CodPac
1,N 1,N NomPac
Mdico Atestado Paciente
EndPac
@1CodPac
@2CodDoe
@3CRMMed
@4DtIni
DtFim
MER Mapeamento de Restries
O esquema E-R de uma empresa pode definir certas
restries as quais o contedo do banco de dados deve
respeitar.
Exemplos de restries so: o mapeamento de
cardinalidades e a existncia de dependncias.
MER - Cardinalidade
O mapeamento de cardinalidades expressa o
nmero de entidades s quais outras entidades
podem estar associadas atravs de um conjunto
de relacionamentos.
Dada duas entidades X e Y, cardinalidade a
quantidade de ocorrncias da entidade X que
esto associadas com uma ocorrncia de Y, e
vice-versa.
MER - Cardinalidade
Para um conjunto de relacionamentos binrio, o
mapeamento de cardinalidades segue as instrues
abaixo:
Um para um. Uma entidade em A est associada no mximo
a uma entidade em B, e uma entidade em B est associada
no mximo a uma entidade em A. (1:1)
Funcionario 1 1 Departamento
Chefia
MER - Cardinalidade
Um para muitos. Uma entidade em A est associada a
vrias entidades em B. Uma entidade em B deve estar
associada a uma nica entidade em A. (1:N)
Muitos para um. Uma entidade em A est associada a
no mximo uma entidade em B. Uma entidade em B,
entretanto, pode estar associada a um nmero
qualquer de entidades em A. (N:1)
Funcionario 1 possu
N Dependente
i
MER - Cardinalidade
Muitos para muitos. Uma entidade em A est associada a
qualquer nmero de entidades em B e uma entidade em B est
associada a um nmero qualquer de entidades em A.
(N:N) ou (M:M)
Funcionario N Trabalha
N Projeto
MER Dependncia de Existncia
Uma classe importante de restries a
dependncia de existncia.
Se a existncia da entidade x depende da
existncia da entidade y, ento x dito
dependente da existncia de y.
E se y for excludo, o mesmo deve acontecer
com x. A entidade y chamada de entidade
dominante e a x chamada entidade
subordinada.
Dizemos que o relacionamento e Obrigatrio,
caso contrrio dizemos que Opcional.
MER Dependncia de Existncia
Como exemplo, considere o conjunto de
entidades emprstimo e o conjunto de
entidades pagamento.
Toda entidade pagamento est associada a
uma entidade emprstimo. Se uma entidade
emprstimo excluda, todas as entidades
pagamento a ela associada devem ser
excludas tambm.
Se por outro lado, uma entidade pagamento
for excluda, a entidade emprstimo no ser
afetada.
Portanto, a entidade emprstimo dominante
e a entidade pagamento subordinada.
MER Dependncia de Existncia
A participao de um conjunto de entidades E no
conjunto de relacionamento R dita total se
todas as entidades em E participam de pelo
menos um relacionamento em R.
Se somente algumas entidades em E participam
do relacionamento R a participao do conjunto
de entidades dito parcial.
A participao total est relacionada existncia
de dependncia.
MER Dependncia de Existncia
Representando o Relacionamento
Obrigatrio/Opcional: Consideremos um
relacionamento entre X e Y.
Obrigatrio: Para uma ocorrncia de X tem pelo
menos uma ocorrncia de Y.
Opcional: Para uma ocorrncia de X no precisas
existir nenhuma ocorrncia de Y.
Funcionrio Te Dependente
1,1 0,N
1,1 m
0,1 Departamento
Chefia
MER - Cardinalidade
Notao: Cross Feet
MER Chaves
Precisamos especificar como as entidades dentro
de um dado conjunto de entidades e os
relacionamentos dentro de um conjunto de
relacionamentos podem ser identificados.
O conceito de chave nos ajuda a fazer esta
distino.
Chave Candidata
Chave Alternativa
Chave Primria
Chave Estrangeira
MER Chave candidata
Uma chave candidata um conjunto de um ou mais
atributos que, nos permitem identificar de maneira
unvoca, uma entidade em um conjunto de entidades.
Exemplo:
Matricula, CPF.
MER Chave Primria
O termo chave primria o termo usado para
caracterizar a chave candidata escolhida pelo projetista
do banco como sendo de significado especial para a
identificao das entidades.
A especificao de uma chave representa uma restrio
ao mundo real da empresa que est sendo modelada.
Chave primria = Primary Key (PK)
MER Chave Estrangeira
Representa o relacionamento entre entidades. A chave
estrangeira de uma entidade deve ser chave primaria na
entidade relacionada.
Uma entidade pode ter vrias chaves estrangeiras, de
acordo com os relacionamentos que elas possuem.
Chave estrangeira = Foreing Key (FK)
MER - Chaves
Representao Grfica: PK Sublinhada
FK Duplo circulo
Endfun
c
Nomfunc
Salfunc
Matfunc
Coddepto
Matfunc
Funcionrios
NumDep
Nomde
Dependentes p
MER - Chaves
Representao Grfica:
@Matfunc @1Matfunc
Nomfunc @2NumDep
Endfunc Nomdep
Salfunc
Coddepto
PK simples Precedido de @
PK simples Precedido de @n onde n
seqencial
FK - Sublinhado
MER - PK/FK X Cardinalidade
Um-para-Um (1:1)
Um-para-Muitos (1:N) P
K
F
K
P F
K K
@1Matfunc
Funcionrio 1,1 0,N Dependente @2Numdep
Te
m Nomdep
1,N 1,1
@Matfunc
Nomfunc
Endfunc
Salfunc Chefia
Coddepto
0,1
@Coddepto
Trabalh 1,1 Departamento
Nomdepto
a Matfuncchf
MER - PK/FK X Cardinalidade
Muitos-para-Muitos (N:N)
P F F P
K K K K
1,N 0,N
Funcionrio Trabalha_e Projeto
m
@Matfunc @CodProj
Nomfunc @1CodProj NomProj
Endfunc @2MatFunc DtIni
Salfunc DataInicial DtFim
Coddepto DataFinal
NumHoras
MER Auto-Relacionamento
Relacionamento entre ocorrncias de uma mesma
entidade. (Recursivo ou Reflexivo) Hierarquia.
@Coddepto
Nomdepto
Departamento Pertence
1
Coddeptsup N
MER Entidade Associativa
Relacionamentos so tratados como entidade de nvel
mais alto. (Agregao)
1,N
Funcionrio Equip Projeto @CodProj
e NomProj
0,N DtIni
@Matfunc
Nomfunc @1CodProj 0,N DtFim
Endfunc @2MatFunc
Salfunc
Coddepto 0,N @CodRec
Recurs Recurso DesRec
o
@1CodProj
@2MatFunc Equipe Informtica
@3CodRec
MER Entidade Associativa
(1,N) (1,N)
Cliente Correntista Contas
s
Concesso
(0,1)
CartesMagnticos
MER Integridade Referencial
Cascade (C) - A excluso da PK implica na excluso dos
valores de FK correspondentes.
C
@Matfunc
@1Matfunc
Nomfunc
Endfunc Funcionrio Tem Dependente @2NumDep
Nomdep
Salfunc
Coddepto
MER Integridade Referencial
Restrict (R) - A excluso da PK s ocorre se no existir
valores de FK correspondentes.
R @1CodAge
@CodAge @2NumCta
NomAge Agncia Poss Conta ValSal
EndAge ui ValLimEsp
MER Integridade Referencial
Set Null (N) - A excluso da PK implica na atualizao
dos valores de FK correspondentes com NULO.
(Opcional)
@CodDepto N @CodEqu
NomDepto DesEqu
Departamento Tem Equipamento CodDepto
MER - Generalizao
Unio de duas ou mais entidades de nvel mais
baixo produzindo uma entidade de nvel mais
alto. Conjuntos de entidades vistos como um
conjunto de entidade genrico.
Homem
Funcionrio
Mulher
MER - Generalizao
CI
Empregados Nome
Nro_Habilitao
Conta Corrente
Conta Bancria
Conta Poupana
MER Gen/Esp
Pessoa
Empregados
p
Tabela Empregado
MR Chave Alternativa
Em alguns casos, mais de uma coluna ou
combinaes de colunas podem servir para
distinguir uma linha das demais.
Uma das colunas escolhida como chave
primria. As demais colunas so
denominadas chaves alternativas.
Alguns autores a chamam de chaves
candidatas pois elas so candidatas a ser
uma PK mas no foram selecionadas para
isso.
MR Chave Alternativa
Na tabela de Empregados abaixo, tanto a
coluna CodigoEmp quanto a coluna CIC
podem ser usadas para distinguir uma linha
das demais. Como o CodigoEmp foi o
escolhido para ser chave primria, dizemos
que a coluna CIC uma chave alternativa.
Modelo Relacional - Domnios
Quando uma tabela de banco de dados definida,
para cada coluna da tabela deve ser especificado um
conjunto de valores que os campos da respectiva
coluna podem assumir. Este conjunto de valores
chamado de domnio da coluna, ou domnio do
campo.
Exemplo: sexo (Deve ser F ou M, nenhum outro valor)
Alm disso, deve ser especificado se os campos da
coluna podem estar vazios ou no ( null em ingls).
Estar vazio indica que o campo no recebeu nenhum
valor de seu domnio.
As colunas na quais no so admitidos valores
vazios so chamadas de colunas obrigatrias. As
colunas nas quais podem aparecer campos vazios
so chamadas de colunas opcionais.
Modelo Relacional Restries de Integridade
Um dos principais objetivos de Banco de
Dados manter a integridade dos dados.
Dizer que os dados de um BD esto
ntegros significa dizer que eles refletem
corretamente a realidade representada
pelo banco de dados e que so
consistentes entre si.
Uma restrio de integridade uma regra
de consistncia de dados que garantida
pelo prprio SGBD.
MR Restries de Integridade
Em SGBD Relacionais, existem as seguintes restries de
integridade conhecidas:
Integridade de domnio: especificam que o valor de um
campo deve obedecera definio de valores admitidos
para a coluna ( o domnio da coluna).
Integridade de vazio (nularidade): especificado se os
campos de uma coluna podem ou no ser vazios. Campos
que compem a chave primria so sempre obrigatrios.
Integridade de chave: trata-se da restrio que define
que os valores da chave primria e alternativa devem ser
nicos.
Integridade referencial: define que os valores dos
campos que aparecem em uma chave estrangeira devem
aparecer na chave primria da tabela referenciada.
MR Restries de Integridade
Existem outros tipos de restries de
integridade que no se encaixam em
nenhuma das categorias acima
mencionadas e que normalmente no so
garantidas pelo SGBD. Estas restries
so chamadas de restries semnticas.
Exemplos:
Um empregado do departamento denominado
Finanas no pode ter a categoria funcional
Engenheiro.
Um empregado no pode ter um salrio maior
do que seu superior imediato.