Вы находитесь на странице: 1из 42

Modelo ER

Ricardo Terra
rterrabh [at] gmail.com

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

CV
Nome: Ricardo Terra
Email: rterrabh [at] gmail.com
www: ricardoterra.com.br
Twitter: rterrabh
Lattes: lattes.cnpq.br/ 0162081093970868
Ph.D. (UFMG/UWaterloo),
Post-Ph.D. (INRIA/Universit Lille 1)

Background
Acadmico: UFLA (desde 2014), UFSJ (1 ano), FUMEC (3 anos), UNIPAC (1 ano), FAMINAS (3 anos)
Profissional: DBA Eng. (1 ano), Synos (2 anos), Stefanini (1 ano)
Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

Modelo ER
n

Vamos estudar o modelo ER, descrito no trabalho original de Chen e


estendido por outros. A forma simples do modelo ER utilizada como base
para a comunicao eficaz com o usurio final sobre o banco de dados
conceitual.

Nesta apresentao, veremos os conceitos bsicos e, mais no final, os


conceitos mais avanados, embora sejam menos aceitos, eles so teis
para descrever determinadas semnticas que no podem ser construdas
com o modelo simples.

Existem notaes para o uso do modelo ER. Aprenderemos a notao de


Chen com algumas customizaes, porm existem notaes populares
como a notao p de galinha e a notao IDEFIX.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

Construtores fundamentais do ER
n

O modelo ER bsico consiste nas seguintes trs classes de objetos:


q
q
q

Entidades
Relacionamentos
Atributos

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

Entidades
n

Entidades so os principais objetos de dados sobre os quais informaes


devem ser coletadas; elas normalmente representam uma pessoa, lugar,
coisa ou evento de interesse informativo.

Um ocorrncia especfica de uma entidade chamada de instncia da


entidade ou ocorrncia da entidade.

Os nomes de entidade sempre devem ser colocados em letras maisculas.


q

Caso seja uma palavra composta, a separao dever ocorrer com um hfen (-)
entre as palavras.
n

Ex.: PLANO-CARGO, ESTADO-CIVIL, etc.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

Entidades
n

As entidades so representadas por um retngulo cujo nome da entidade


escrito no SINGULAR em seu interior.

Abaixo, funcionrio, departamento, setor, projeto, habilidade e local so


exemplos de entidades.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

Relacionamentos
n

As entidades so somente interligadas por relacionamentos.

Os relacionamentos representam associaes do mundo real entre uma ou


mais entidades.

Os relacionamentos so representados por um losango cujo ao de


ligao escrita em seu interior.
q

Caso seja um ao contendo mais de uma palavra, a separao dever ocorrer


com um hfen (-) entre as palavras.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

Relacionamentos
n

Cardinalidade (conectividade) de um relacionamento


q

Deve ser expresso o nmero de instncias da entidade que podem participar do


relacionamento.
As seguintes cardinalidades so utilizadas:
n
n
n

1:1
1:N
N:N

Veremos em detalhes cada uma destas.


Existe o conceito de grau de um relacionamento que indica o nmero de
entidades associadas ao relacionamento.
n

Relacionamentos binrios e ternrios so casos especiais em que os graus so 2 e 3,


respectivamente. A frmula geral dizer relacionamento n-rio.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

Relacionamentos
n

Antes importante definir os seguintes conceitos:


q

Chave primria
n

Atributo especial que capaz de identificar uma instncia da dada entidade de maneira
nica.
q

Chave candidata
n

Atributo especial que, como a chave primria, tambm nico e capaz de identificar
uma instncia da dada entidade de maneira nica, porm no foi eleito como chave
primria.
q

Ex.: Atributo matricula para a entidade ALUNO.

Ex.: Atributo rg ou cpf para a entidade ALUNO.

Chave estrangeira
n

Atributo que corresponde a chave primria de uma outra entidade.


q

Ex.: Atributo cod-curso na entidade ALUNO.

Corresponde a chave primria da entidade CURSO.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

Relacionamentos
n

Relacionamento 1:1
q

q
q

Determinada instncia da entidade A associada com uma, e somente uma,


instncia da entidade B.

Um estado governado por um governador.


um governador governa um estado.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

10

Relacionamentos
n

Resoluo de um relacionamento 1:1


q

A ligao feita repetindo-se a chave primria de qualquer uma das entidades na


outra.
GOVERNADOR = cod-governador + nome-governador + cod-estado
ESTADO = cod-estado + nome-estado
ou
GOVERNADOR = cod-governador + nome-governador
ESTADO = cod-estado + nome-estado + cod-governador

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

11

Relacionamentos
n

Relacionamento 1:N
q

q
q

Determinada instncia da entidade A associada com uma ou mais instncias da


entidade B. Cada instncia da entidade B associada a uma nica instncia da
entidade A.

Um departamento lota diversos funcionrios.


Um funcionrio est lotado em um nico departamento.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

12

Relacionamentos
n

Resoluo de um relacionamento 1:N


q

A ligao feita repetindo-se a chave primria da entidade com grau 1 para a


entidade de grau N.
DEPARTAMENTO = cod-depto + nome-departamento
FUNCIONRIO = ctps + nome + cod-depto

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

13

Relacionamentos
n

Relacionamento N:N
q

q
q

Determinada instncia da entidade A associada com uma ou mais instncias da


entidade B e vice-versa.

Um fornecedor fornece vrias peas.


Uma pea fornecida por vrios fornecedores.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

14

Relacionamentos
n

Resoluo de um relacionamento N:N


q

A ligao feita criando uma entidade prpria, conhecida como entidaderelacionamento.


Esta entidade-relacionamento possuir a chave primria de ambas as
entidades como sendo a sua chave primria composta. Veremos que ela poder,
ainda, ter atributos descritivos.
PEA = cod-pea, descricao
FORNECEDOR = cod-fornecedor + cnpj + razao-social
PEA-FORNECEDOR = cod-pea + cod-fornecedor + preo

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

15

Relacionamentos
n

Semntica do relacionamento:

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

16

Atributos
n

Atributos so caractersticas de entidades que oferecem detalhes


descritivos sobre elas.
q

Em sntese, so as informaes que se deseja armazenar sobre uma entidade.

Um ocorrncia especfica de um atributo dentro de uma entidade


chamada de valor de atributo.

Entende-se por domnio de um atributo como o conjunto formado pelos


valores vlidos que um atributo pode assumir.
q

Ex.:
n
n

sexo pode ser M ou F


matrcula pode ser de 1 a 9999

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

17

Atributos
n

Os nomes de atributos sempre devem ser colocados em letras minsculas.


q

Assim como no nome de entidades e de relacionamentos, caso seja uma palavra


composta, a separao dever ocorrer com um hfen (-) entre as palavras.
n

Ex.: nome-completo, descrio-curta, titulo-eleitor, etc.

Os atributos so representados por uma elipse cujo nome do atributo


escrito em seu interior e conectado entidade que ele caracteriza.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

18

Atributos
n

Existem dois tipos de atributos: identificadores e descritores.


q

Um identificador (ou atributo-chave) usado para determinar exclusivamente


uma instncia de uma entidade.
n

Uma entidade pode ter mais de um atributo-chave. Isto ocorre quando chave
composta.
Um atributo-chave sublinhado no modelo e, geralmente, destacado em negrito.

Um descritor (ou atributo no-chave) usado para especificar uma caracterstica


no-exclusiva de determinada instncia da entidade.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

19

Atributos
n

Existem ainda tipos de atributos que podem ser utilizados:


q

Atributo derivado: um atributo que deriva de outros atributos. representada


pelo tracejado na elipse do atributo.
n

Atributo multivalorado: um atributo que pode ter mais de um valor para cada
instncia de entidade. Isto no deve ser utilizado, pois este caso se resolve
com a criao de uma nova entidade. representada por uma linha dupla na
elipse do atributo.
n

Ex.: Idade seria um atributo derivado se existir um atributo data-nascimento.

Ex.: Telefones, enderecos, habilidades poderiam ser exemplos de atributos


multivalorados.

Atributos composto: um atributo composto de outros. Isto tambm no deve


ser utilizado, pois recomendvel que todos os atributos sejam atmicos.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

20

Atributos
n

Um exemplo com todos os atributos seria assim:

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

21

Um pouco mais
n

Visto j a base do modelo ER, vamos aprofundar um pouco vendo alguns


conceitos importantes:
q
q
q

Mais de um relacionamento entre duas entidades


Participao de uma entidade em um relacionamento
Relacionamento entre mais de duas entidade
n

q
q
q
q

Relacionamento ternrio

Auto-relacionamento
Entidade Relacionamento
Entidade Fraca
Generalizao e Especializao

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

22

Mais de um relacionamento entre duas entidades


n

Um entidade pode se relacionar em mais de uma maneira com uma outra


entidade.

q
q
q
q

Um funcionrio est lotado em um departamento.


Um departamento tem lotado vrios funcionrios.
Um funcionrio chefia um departamento.
Um departamento chefiado por um funcionrio.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

23

Participao de uma entidade em um relacionamento


n

A relao de participao especifica se a existncia de uma dada entidade


depende de seu relacionamento com uma outra entidade ou no.

A participao de uma ocorrncia de entidade em um relacionamento pode


ser definida como obrigatria ou opcional.
q

Se a linha de conexo entre a entidade e o relacionamento for simples, este


relacionamento opcional.
Se for dupla, a existncia da entidade est associada a existncia deste
relacionamento.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

24

Participao de uma entidade em um relacionamento

q
q

q
q

Um funcionrio deve estar lotado em um departamento.


Um departamento tem lotado vrios funcionrios.

Um aluno deve estudar em pelo menos um curso.


Um curso deve possuir pelo menos um aluno.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

25

Relacionamento entre mais de duas entidade


n

Como visto, o relacionamento binrio o mais comum, porm um


relacionamento pode ocorrer entre mais de uma entidade. Na maioria dos
casos que o relacionamento no binrio, este tercirio.

q
q
q

Um tcnico usa exatamente um notebook para cada projeto.


Cada notebook pertence a um tcnico para cada projeto.
Um tcnico ainda pode trabalhar em muitos projetos e manter diferentes
notebooks para diferentes projetos.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

26

Relacionamento entre mais de duas entidade

q
q

Cada funcionrio atribudo a um projeto trabalha em apenas um local para esse


projeto, mas pode estar em diferentes locais para diferente projetos.
Em determinado local, um funcionrio trabalha em apenas um projeto.
Em um local especfico, pode haver muitos funcionrios atribudos a determinado
projeto.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

27

Auto-relacionamento
n

No h nada que impede uma entidade se relacionar com ela mesmo. Este
relacionamento igual aos outros, porm, na maioria dos casos, faz-se
necessria a atribuio de um papel para cada extremidade do
relacionamento.

q
q

Um gerente gerencia vrios subordinados.


Um subordinado gerenciado por um nico gerente.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

28

Entidade Relacionamento
n

Em relacionamentos N:N e em alguns relacionamentos ternrios, ocorrem


situaes em que existe a necessidade de um atributo ser associado ao
relacionamento entre elas.

Neste caso, o relacionamento se tornar uma Entidade Relacionamento,


que simbolizada por uma entidade com um retngulo interno.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

29

Entidade Relacionamento
n

Um exemplo pode ser observado abaixo. O atributo preo no pertence ao


fornecedor, nem tampouco, pea, mas sim, ao fornecedor para uma
determinada pea.
Portanto, o atributo preo pertence ao relacionamento e no s entidades
envolvidas.

q
q
q

Um fornecedor fornece vrias peas.


Uma pea fornecida por vrios fornecedores.
Uma pea vinculada a um fornecedor possui um preo.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

30

Entidade Fraca
n

Uma entidade fraca quando a sua existncia est condicionada a


existncia de uma outra entidade (conhecida como entidade pai).

Ela no possui um identificador que determine exclusivamente uma


instncia de sua entidade. Elas derivam sua identidade do identificador da
entidade pai.
q

Em outras palavras, sua chave primria composta pela chave primria da


entidade pai e por pelo menos um atributo da entidade fraca.

Um entidade fraca representada como uma entidade, porm com borda


dupla, o que indica que todas as ocorrncias desta entidade dependem da
associao com pelo menos uma ocorrncia da entidade pai.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

31

Entidade Fraca
n

Um exemplo pode ser observado abaixo. Um titular de uma locadora possui


vrios dependentes, mas o dependente s existe pela existncia de um
titular (o que uma participao obrigatria).
Porm, o detalhe est em que o dependente identificado pela matrcula
do titular juntamente com seu nmero de cpf.

Soluo:

TITULAR = matricula + nome + ...


DEPENDENTE = matricula-titular + cpf + nome
Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

32

Generalizao e Especializao
n

O modelo ER extendido engloba todos os conceitos do modelo ER mais os


conceitos de generalizao, especializao, subtipo, supertipo e o conceito
de herana de atributos.

Em muitos casos, uma entidade possui diversos subgrupos adicionais de


entidades que so significativas e precisam ser representadas
explicitamente devido ao seu significado aplicao de banco de dados.

Para isto o modelo ER foi extendido e criada uma representao para


generalizao e especializao.

Vamos entender melhor isto a partir de um exemplo.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

33

Generalizao e Especializao
n

A especializao define-se como a ao de especializar entidades


q

A generalizao define-se como a ao de generalizar entidades.


q

ENGENHEIRO e SECRETRIA so subtipos de EMPREGADO.

O supertipo de um subtipo a entidade pai, que seria a genrica.


q

Uma entidade ENGENHEIRO ou SECRETRIA serem generalizados como


a uma entidade EMPREGADO.

Os subtipos de uma entidade pai so as suas especializaes.


q

EMPREGADO pode ser especializado como ENGENHEIRO ou


SECRETRIA.

EMPREGADO supertipo de ENGENHEIRO e SECRETRIA.

A herana de atributos a ao dos subtipos herdarem todos os atributos


do supertipo.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

34

Generalizao e Especializao
n

Para comear, o que poderia ser melhorado neste modelo ER:

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

35

Generalizao e Especializao

Supertipo
tipo genrico

Subtipos
tipos especializados
Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

36

Generalizao e Especializao

Observe algumas situaes:


q

q
q

um empregado pode ser um empregado simples, um engenheiro ou uma


secretria.
o projeto se relaciona com um engenheiro, e no, com um empregado.
um empregado, independente de qual, deve ser liderado por um engenheiro.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

37

Generalizao e Especializao
n

E se eu desejasse modelar uma situao em que um empregado deva ser


engenheiro ou secretria, isto , ele deve ser um dos subtipos.
q

Basta utilizar a linha dupla para obrigar o relacionamento com o subtipo.

observe

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

38

Generalizao e Especializao
n

Em todos os exemplos anteriores utilizamos o smbolo abaixo para indicar


a herana.

Isto indica uma disjuno em que uma entidade deve ser um dos subtipos,
porm existe a sobreposio em que uma entidade pode ser mais de um
dos subtipos ao mesmo tempo e simbolizada como abaixo:

Vamos ver alguns exemplos de sobreposio nos prximos slide.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

39

Generalizao e Especializao

Uma pea deve ser uma pea manufaturada ou uma pea torneada ou
tanto uma quanto outra.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

40

Generalizao e Especializao

Exemplo de mais de uma especializao (herana mltipla) para uma


mesma entidade e de mais de um nvel de herana.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

41

Referncia Bibliogrfica
n

ELMASRI, R. E; NAVATHE, S. Sistemas de banco de dados. So Paulo:


Addison Wesley, 2005.

TEOREY, T; LIGHTSTONE, S; NADEAU, T. Projeto e Modelagem de


banco de dados. Rio de Janeiro: Elsevier, 2007.

Ricardo Terra (rterrabh [at] gmail.com)

Modelo ER

Maro, 2009

42

Вам также может понравиться