Documente Academic
Documente Profesional
Documente Cultură
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
! Existem trs noes bsicas empregadas pelo
modelo E-R:
! conjunto de entidades. ! conjunto de relacionamentos. ! atributos.
mundo real que pode ser identificada de forma unvoca em relao a todos os outros objetos. ! Por exemplo, cada aluno na universidade uma entidade. ! Uma entidade tem um conjunto de propriedades, e os valores para alguns conjuntos dessas propriedades devem ser nicos. Uma entidade pode ser concreta como uma pessoa ou um livro, ou pode ser abstrata como um emprstimo, uma viagem de frias ou um conceito.
entidades de um mesmo tipo que compartilham as mesmas propriedades: os atributos. ! As entidades individuais que constituem um conjunto so chamadas de extenses do conjunto de entidades.
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
! Um atributo, como usado no MER, pode ser
aqueles que no so divididos em partes. Exemplo: sexo_cliente ! Atributos Compostos: Os compostos podem ser divididos em partes, por exemplo, nome_cliente, pode ser estruturado em prenome, nome_intermedirio, e sobrenome. Os atributos compostos ajudam-nos a agrupar atributos correlacionados tornando o modelo mais claro.
MER Atributos
! Um atributo, como usado no MER, pode ser
Um exemplo de um atributo monovalorado poderia ser o atributo nmero_emprstimo, o qual teria associado apenas um nmero de emprstimo.
MER Atributos
! Um atributo, como usado no MER, pode ser
entidade no apresenta valor para o mesmo. Por exemplo, se um empregado no possui dependentes o valor do atributo nome_dependente ser nulo, significando que este atributo no aplicvel a esta instncia em particular. ! Atributo derivado. O valor deste atributo pode ser derivado de outros atributos ou entidades a ele relacionados. Por exemplo, a idade de um funcionrio pode ser calculada pela data de seu aniversrio.
MER Atributos
! Representao Grfica:
Endfun c Nomfunc Salfunc Matfunc Coddepto Funcionrios Matfunc NumDep Nomdep Dependentes
MER Atributos
! Representao Grfica:
Telefone*
vrias entidades. Um conjunto de relacionamentos um conjunto formado por relacionamentos de um mesmo tipo. ! Considere dois relacionamentos de entidades cliente e emprstimo. O conjunto de relacionamentos devedor denota a associao entre clientes e emprstimos bancrios contrados pelo cliente. ! A associao entre os conjuntos de entidades referida como uma participao, isto , o conjunto de entidades E1, E2,..., Em participa do conjunto de relacionamentos R.
um relacionamento chamada papel. Uma vez que os conjuntos de entidades participantes em um conjunto de relacionamentos so geralmente distintos, papis so implcitos, e no so em geral, especificados. Mas, so teis quando o relacionamento precisa ser esclarecido.
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.
descritivos. O conjunto de relacionamentos depositante, com o conjunto de entidades cliente e conta, por exemplo, apresenta o atributo data_acesso. ! 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.
relacionamentos que envolvem mais de dois conjuntos de entidades. Como exemplo, podemos combinar os conjuntos de relacionamentos devedor e agncia_emprstimo formando o conjunto de relacionamentos CEA, entre as entidades Cliente, Emprstimo e Agncia. ! O nmero de entidades que participam de um relacionamento define o grau deste relacionamento. Um conjunto de relacionamento binrio tem grau 2, e um ternrio, grau 3.
Funcionrio
Tem
Dependente
Trabalha
Departamento
reconhecimento do que seja uma entidade ou um atributo. ! Por exemplo, uma entidade empregado com dois atributos: nome_empregado, e telefone. O atributo telefone pode ser modelado como uma entidade. ! Se definirmos como atributo, isto implica dizer que cada empregado tem precisamente um nmero de telefone a ele associado. ! Caso seja modelado como entidade, reflete que um empregado pode ter vrios (ou nenhum) nmeros de telefones a ele associado.
nunca ser modelado como entidade. ! Infelizmente no existe uma resposta simples para sabermos do que constitui um atributo e o que constitui uma entidade. As distines vo depender da estrutura geral que est sendo modelada.
um objeto como um conjunto de entidades ou de relacionamentos. ! Por exemplo, considere o problema do emprstimo bancrio representado como um relacionamento entre clientes e agncias, com nmero_emprstimo e conta como atributos. Cada emprstimo representado como um relacionamento entre um cliente e uma agncia.
e est associado exatamente uma agncia, podemos resolver o projeto de modo satisfatrio, representando emprstimo como relacionamento. ! Mas, considere que vrios clientes tomem um mesmo emprstimo em conjunto. Ento, nesse caso, necessrio definir um relacionamento em separado para cada componente do emprstimo conjunto. ! Desta forma, os atributos descritivos numero_emprstimo e conta precisaro ser replicados para cada um dos relacionamentos.
relacionamentos, que sempre possvel recompor um conjunto de relacionamentos no-binrio, por um nmero de relacionamentos binrios distintos. ! Mas, pode ser necessria a criao de um atributo de identificao para o conjunto de entidades criado para substituir o conjunto de relacionamentos. ! Alm disso, um conjunto de relacionamentos n-simo mostra claramente todos os conjuntos de entidades que participam de uma determinada relao. ! O projeto correspondente usando somente relacionamentos binrios torna mais difcil estabelecer as restries desta participao.
Doena
0,N 1,N
Atestado
@CodDoe NomDoe
Mdico
Paciente
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
a uma entidade em B, e uma entidade em B est associada no mximo a uma entidade em A. (1:1)
Funcionario
Chefia
Departamento
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
possu i
N Dependente
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
Trabalha
Projeto
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.
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.
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.
menos uma ocorrncia de Y. ! Opcional: Para uma ocorrncia de X no precisas existir nenhuma ocorrncia de Y. Funcionrio Dependente Te
1,1 1,1
m Chefia
0,N
0,1
Departamento
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
atributos que, nos permitem identificar de maneira unvoca, uma entidade em um conjunto de entidades. ! Exemplo:
! Matricula, CPF.
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)
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:
Endfun c Nomfunc Salfunc Matfunc Coddepto Funcionrios Matfunc NumDep Nomdep Dependentes
MER - Chaves
! Representao Grfica:
Funcionrio
@Matfunc Nomfunc Endfunc Salfunc Coddepto
Tem
Dependente
@1Matfunc @2NumDep Nomdep
Funcionrio
1,N @Matfunc Nomfunc Endfunc Salfunc Coddepto
1,1 1,1
Te m
0,N
Dependente
Chefia
Trabalh a
0,1
P K
F K
F K
P K
Funcionrio
@Matfunc Nomfunc Endfunc Salfunc Coddepto
1,N
0,N
Projeto
@CodProj NomProj DtIni DtFim
MER Auto-Relacionamento
! Relacionamento entre ocorrncias de uma mesma
Departamento
N
Pertence
Funcionrio
@Matfunc Nomfunc Endfunc Salfunc Coddepto
1,N
Projeto
@1CodProj @2MatFunc
Recurs o Equipe
Recurso Informtica
Clientes
(1,N)
Correntista
(1,N)
Contas
valores de FK correspondentes.
Funcionrio
Tem
Dependente
valores de FK correspondentes.
Agncia
Poss ui
Conta
@CodDepto NomDepto
Departamento
Tem
Equipamento
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.
MER - Generalizao
Empregados
Nro_Habilitao
CI Nome
Motoristas
Secretrias
Lnguas (1,N)
Engenheiros
Formaes (1,N)
MER - Especializao
! Separao de uma entidade de nvel mais alto
formando um conjunto de entidades de nvel mais baixo. Algumas entidades possuem propriedades adicionais, sendo especializadas em outro conjunto de entidades (herana)
Conta Corrente Conta Bancria Conta Poupana
MER Gen/Esp
Pessoa
Funcionrio
Professor Empregados
Aluno
Motoristas
Secretrias
Engenheiros
Identificar o Universo. Identificar as entidades envolvidas. Identificar os relacionamentos entre elas. Definir os atributos das entidades, PKs, e FKs. Especificar as restries de cardinalidade, obrigatoriedade/opcionalidade Definir as restries de integridade (Cascade, Restrict ou Set Null).
sistema que ir controlar o cadastro nacional de veculos. Sabe-se que: ! O veculo possui sempre uma placa nica em todo pas. Alm disso, ele ser emplacado sempre em uma localidade do pas. O controle do cadastro ser feito por estado; ! O veculo possui sempre um responsvel legal por ele. necessrio manter o histrico desta responsabilidade (propriedade); ! O veculo pertence sempre a uma categoria, conforme as especificaes do Departamento Nacional de Trnsito. Esta categoria pode classificar os tipos de veculos existentes no pas; ! O veculo sempre de um modelo, que por sua vez pertence sempre a uma marca. necessrio a informao do ano de fabricao do veculo.