Você está na página 1de 8

Tpicos

Modelo Entidade-Relacionamento (MER) Original: Fases do Projeto de Bases de Dados Definio e Objetivo do Modelo ER Entidades e Conjuntos-Entidade Atributos e Domnio de um Atributo Relacionamentos e Conjuntos-Relacionamento Projeto de Chaves Grau de um Relacionamento Restries de Cardinalidade e Integridade Referencial Renato Fileto Unicamp - Instituto Computao Embrapa Informtica Agropecuria Extenses e Variaes do MER : Agregao Generalizao/Especializao Notao, Variaes e Exemplos Dicas para Elaborao de Modelos E-R
O Modelo Entidade-Relacionamento Pag.: 2

O Modelo Entidade-Relacionamento

Fases do Projeto de Bases de Dados (EN94)

O Modelo Entidade-Relacionamento (MER)


Definio: modelo baseado na percepo do mundo real, que consiste em um conjunto de objetos bsicos chamados entidades e nos relacionamentos entre esses objetos. Objetivo: facilitar o projeto de banco de dados, possibilitando especificar a estrutura lgica geral do banco de dados.

Diagrama Entidade-Relacionamento (DER)


s

No contexto da anlise estruturada, define os dados mantidos pelo sistema, isto , os depsitos de dados do diagrama de fluxo de dados Considera os dados independentemente do processamento que os transformma.

O Modelo Entidade-Relacionamento

Pag.: 3

O Modelo Entidade-Relacionamento

Pag.: 4

Diagrama Entidade-Relacionamento
Descreve a estrutura lgica geral de um banco de dados
s

Entidades e Conjuntos-Entidade
s

Entidade: uma representao abstrata de um objeto do mundo real Exs: O fornecedor Pedro, com cdigo F1

Componentes do Diagrama E-R (Peter Chen): - Retngulos: representam conjuntos-entidade - Elipses: representam atributos - Losangos: representam conjuntos-relacionamento - Linhas: ligam atributos a conjuntos-entidade e conjuntos-entidade a conjuntos-relacionamento

Conjunto-Entidade: grupo de entidades referindo-se a objetos concretos ou abstratos com caractersticas semelhantes Exs.: Fornecedor, Pessoa, Imvel, Curso

Fornecedor

Cod-Forn Estado Nome


O Modelo Entidade-Relacionamento Pag.: 5 O Modelo Entidade-Relacionamento

Cidade
Pag.: 6

Instncia (estado) de uma Entidade


s s

Atributo (campo)
Elemento de dado que contm o valor de uma propriedade de uma entidade Ex.:

Representa o estado de uma entidade em deteminado instante O estado de cada entidade do conjunto determinado pelos valores das caractersticas (atributos) da entidade

Ex.: Instncias de Fornecedor


Cod_Forn F01 F02 F03 F04 F05 Nome Pedro Eliana Olacyr Joo Ernesto Cidade Porto Alegre Botucatu Curitiba Pelotas Anpolis Estado RS SP PR RS GO
Cod-Func Nome

Funcionrio

Dependentes Cidade Estado

Endereo

O Modelo Entidade-Relacionamento

Pag.: 7

O Modelo Entidade-Relacionamento

Pag.: 8

Classificao de Atributos
Atributo Simples: no tem outros atributos aninhados, apenas o valor Ex.: Nome Atributo Composto: tem outros atributos aninhados (sub-atributos) Ex.: Endereo Atributo Monovalorado: um nico valor para cada instncia Ex.: Nome Atributo Multivalorado: mais de um valor para cada entidade Ex.: Dependentes Atributo(s) Determinante(s) ou Chave: identifica unicamente cada entidade de um conjunto-entidade Ex.: Cod_Func Tipo de um Atributo: determina a natureza dos valores permitidos para um atributo Ex.: inteiro, real, string, etc. Domnio de um Atributo: refina o conjunto de valores permitidos para o atributo Ex.: Sexo {M, F} Atributo Derivado: o seu valor pode ser calculado a partir do valor de outro(s) atributo(s) Ex.: idade (pode ser calculada a partir da data de nascimento)
O Modelo Entidade-Relacionamento Pag.: 9

Projeto de Chaves
s

Chave: um conjunto de um ou mais atributos que, tomados coletivamente, permite-nos identificar unicamente uma entidade no conjunto-entidade

Integridade de Entidade: Nenhum atributo que participe da chave de um conjunto-entidade deve aceitar valores nulos

Aspectos Relevantes
s

A questo fundamental do projeto de chaves reduzir ao mximo os efeitos de redundncia

A alterao dos valores de campos constituintes da chave primria ou a remoo de uma entidade de um conjunto-entidade pode ocasionar problemas de integridade referencial

O Modelo Entidade-Relacionamento

Pag.: 10

Exemplo de chaves no modelo ER

Relacionamentos
s

As entidades so contectadas umas s outras atravs de relacionamentos Para determinar os relacionamentos deve-se considerar as entidades dentro do contexto do software a ser construdo e do domnio de aplicao a que se destina

N Fornecedor Pedido

Produto
s

Cod-Forn

Cod-Forn

Quantidade

Cod-Prod

Cod-Prod

Preo

a1 a2

d1 d2 d3

s s s

Entidade Fornecedor: Entidade Produto: Relacionamento Pedido:

Cod_Forn Cod_Prod Cod_Forn e Cod_Prod


Pag.: 11

a3

Aluno

Matrcula

Disciplina

O Modelo Entidade-Relacionamento

O Modelo Entidade-Relacionamento

Pag.: 12

Relacionamento
Estrutura que indica uma associao entre instncias de duas ou mais entidades Ex.:
N Fornecedor Pedido N Produto

Grau de um Relacionamento
Indica o nmero de conjuntos-entidade (classes distintas de objetos) cujas instncias podem estar associadas umas as outras atravs de um relacionamento
Projeto
d2 d1 d1 d2 d3

Atributos de Relacionamento:
N N Produto
a1 a2 a3

Pea Fornecedor Pedido

Cod-Forn

Cod-Forn Cod-Prod

Quantidade Preo

Cod-Prod

Fornecedor

Fornece

Qual o grau deste relacionamento?


Pag.: 13 O Modelo Entidade-Relacionamento Pag.: 14

O Modelo Entidade-Relacionamento

Auto-relacionamento (grau 1)
Relaciona instncias de um conjunto-entidade E a Instncias desse mesmo conjunto-entidade Ex.:

Relacionamento Binrio (grau 2)


Relaciona dos conjuntos-entidade distintos Ex.:

F1 Funcionrio
F1 F2 F3

P1 P2 Trabalha Projeto

Funcionrio Gerente 1 Gerenciado

F2 F3 Funcionrio N

Gerencia Gerencia

Funcionrio

Trabalha

Projeto

O Modelo Entidade-Relacionamento

Pag.: 15

O Modelo Entidade-Relacionamento

Pag.: 16

Relacionamento Ternrio (grau 3)


Relaciona trs conjuntos-entidade distintos Ex.:
nome cod-forn ender N Quantidade Cod-Proj nome

Cardinalidade de um Relacionamento
Indica o nmero de instncias de entidades que podem estar associadas umas as outras atravs de um relacionamento

a1 a2

d1 d2 d3

Fornecedor

Fornece

Projeto

a3

Fornecedor Cod-Pea N Pea


O Modelo Entidade-Relacionamento

Fornecer

Pea

nome
Pag.: 17

Qual a cardinalidade deste relacionamento?


O Modelo Entidade-Relacionamento Pag.: 18

a) 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

b) Um-para-muitos: uma entidade em A est associada a qualquer nmero de entidades em B, enquanto uma entidade em B est associada no mximo a uma entidade em A
a1 a2 b1 b2 b3 b4

a1 a2 a3 Conjunto-Entidade A

b1 b2 b3 Conjunto-Entidade B

Conjunto-Entidade A

Conjunto-Entidade B

Funcionrio

Gerencia

Departamento

1 Departamento Lotao

Funcionrio

Obs.: Chave estrangeira em uma das entidades.


O Modelo Entidade-Relacionamento Pag.: 19

Obs.: Chave estrangeira na direo muitos.


O Modelo Entidade-Relacionamento Pag.: 20

c) Muitos-para-muitos: Uma entidade em A est associada a qualquer nmero de entidades em B, e uma entidade em B est associada a qualquer nmero de entidades em A.

Participao Parcial: quando h um relacionamento entre dois conjuntos-entidade A e B e alguma instncia de entidade de A pode existir sem se relacionar com nenhuma instncia de entidade de B.

a1 a2 a3 Conjunto-Entidade A

b1 b2 b3 Conjunto-Entidade B Funcionrio N N gerencia Departamento F1 F2 F3 D2 D1

Funcionrio

Trabalha

Projeto Funcionrio 1 (0,1) Gerencia 1 (0,1)


Pag.: 22

Departamento

Obs.: Requer tabela extra para representa-lo.


O Modelo Entidade-Relacionamento Pag.: 21 O Modelo Entidade-Relacionamento

Participao Total: quando todas as instncias de uma entidade precisam estar associadas a alguma instncia de outra entidade atravs de um relacionamento.

Dependncia Existencial e Entidades Fracas


s

Dependncia existencial (ou de participao total) ocorre quando a existncia de uma determinada entidade est condicionada existncia de uma outra entidade a ela relacionada.

F1 F2 F3 Funcionrio mantm

D1 1 D2 D3 Dependente
s

Departamento

trabalha

Funcionrio

Uma entidade fraca no possui sequer identidade prpria, sendo sua chave primria composta pela chave estrangeira proveniente da entidade dona concatenada a um identificador de si prpria (que pode repetir para diferentes instncias da entidade dona).
1 Funcionrio mantm N

Funcionrio

1 (1,1)

N mantm (0,N) Dependente Dependente


Pag.: 24

O Modelo Entidade-Relacionamento

Pag.: 23

O Modelo Entidade-Relacionamento

Categorias de reestries em Relacionamentos


s

Relacionamentos de Grau superior a 2

Cod-Forn

Grau de um Relacionamento Restries Estruturais (integridade referencial)


s s s

Quantidade

Cod-Proj

Restries Cardinalidade Restries de Participao Dependncia Existencial

Fornecedor

N1

Fornece

N3

Projeto

Cod-Pea N2 Pea

O Modelo Entidade-Relacionamento

Pag.: 25

O Modelo Entidade-Relacionamento

Pag.: 26

Este diagrama equivalente ao anterior?


Cod-Forn Cod-Proj

E este diagrama? Em quais restries difere dos anteriores?


Cod-Forn Cod-Proj

Quantidade

Fornecedor N1

N1

Fornece

N3

Projeto N3 Fornecedor Fornece Projeto

pode fornecer

Cod-Pea

usa Cod-Pea

Pea N2
O Modelo Entidade-Relacionamento

N2
Pag.: 27 O Modelo Entidade-Relacionamento

Pea
Pag.: 28

Sntese da notao de Peter Chen (EN94)

O Modelo Entidade-Relacionamento

Pag.: 29

O Modelo Entidade-Relacionamento

Pag.: 30

Agregao
s

Uma limitao do modelo E-R que no possvel expressar relacionamentos entre relacionamentos. Agregao uma abstrao atravs da qual relacionamentos so tratados como entidades de nvel superior.

Extenses e Variaes do Modelo Entidade-Relacionamento


Funcionrio

N N

Trabalha

N N

Projeto

Utiliza N Mquina
O Modelo Entidade-Relacionamento Pag.: 32

Usando Agregao

Generalizao e Especializao
s

Existem casos em que um conjunto-entidade pode ser dividido em categorias, cada qual com atributos especficos. Ex.: Cdigo Filial
atende

Funcionrio

Trabalha

Projeto

Cliente Nome

Utiliza

CIC
N Mquina

Sexo
O Modelo Entidade-Relacionamento Pag.: 33 O Modelo Entidade-Relacionamento

Pessoa Fsica

CGC

Pessoa Jurdica
Pag.: 34

Por que definir sub-classes especializadas?


s s

Gereralizao/Especializao Total e Parcial


Cargo Cliente Funcionrio

Certos atributos aparecem somente em alguma(s) sub-classe(s) Alguns relacionamentos se aplicam apenas a determinadas sub-classes

Super-Classe

atributos e relacionamentos genricos

total

parcial

Pessoa Fsica

Pessoa Jurdica

Motorista

Secretria

Sub-Classe 1

...

Sub-Classe N

atributos e relacionamentos especficos


Pag.: 35

Toda instncia da super-classe precisa estar associada a uma instncia correspondente de alguma sub-classe
O Modelo Entidade-Relacionamento

Pode haver instncia da superclasse sem instncia correspondente em nenhuma sub-classe


Pag.: 36

O Modelo Entidade-Relacionamento

Generalizao/Especializao Exclusiva e No-exclusiva

Herana Mltipla Veculo

Pessoa

Pessoa

exclusiva

noexclusiva
Terrestre Aqutico

Homem

Mulher

Professor

Funcionrio

Aluno

Cada instncia da superclasse pode estar associada a, no mximo, uma instncia de uma sub-classe
O Modelo Entidade-Relacionamento

Uma instncia da super-classe pode estar associada a at uma instncia de cada uma das sub-classes

Automvel
Pag.: 37 O Modelo Entidade-Relacionamento

Veculo Anfbio

Barco

Pag.: 38

O Modelo Entidade-Relacionamento

Pag.: 39

O Modelo Entidade-Relacionamento

Funcionrio cod_func nome_func sexo_func dta_nasc_func salario_func ender_func cidade_func uf_func

trabalha_para eh_gerente eh_gerenciado

Departamento nro_depto nome_depto nro_func_depto

supervisiona eh_dependente

gerencia dta_ini_ger
controla

Dependente nro_depend nome_depend sexo_depend dta_nasc_depend parent_depend


O Modelo Entidade-Relacionamento

Local cod_loc nome_loc cidade_loc uf_loc

utiliza

Projeto nro_proj nome_proj descr_proj


Pag.: 41

O Modelo Entidade-Relacionamento

6'  9 ' E  CH G4(4F# )0 DCBA&8$" ! %' @ 9 7   


Funcionrio cod_func nome_func sexo_func dta_nasc_func salario_func ender_func cidade_func uf_func
trabalha_para eh_gerente

6'  9 ' E   U S  H Q 8&H G4XWF# )VPI G9 8T GI FR $" !   

653 2 )   ' % # "       &41 0( &$ ! 6CDP4(4EF!# AD% &PP$ ! '  H 9 '  ) Q I  I "    

gerencia dta_ini_ger

Departamento nro_depto nome_depto nro_func_depto


eh_gerenciado

controla

supervisiona eh_dependente

Dependente nro_depend nome_depend sexo_depend dta_nasc_depend parent_depend

Local cod_loc nome_loc cidade_loc uf_loc

utiliza

Projeto nro_proj nome_proj descr_proj

Pag.: 40

FUNCIONARIO COD_FUNC NRO_DEPTO NOME_FUNC SEXO_FUNC DTA_NASC_FUNC SALARIO_FUNC ENDER_FUNC CIDADE_FUNC UF_FUNC SUPERVISOR LongInteger LongInteger Text(25) Text(1) DateTime Currency Text(35) Text(25) Text(2) LongInteger
NRO_DEPTO = NRO_DEPTO COD_FUNC = COD_FUNC NRO_DEPTO = NRO_DEPTO

DEPARTAMENTO NRO_DEPTO LongInteger NOME_DEPTO Text(20) NRO_FUNC_DEPTO LongInteger

GERENCIA NRO_DEPTO LongInteger COD_FUNC LongInteger DTA_INI_GER DateTime

NRO_DEPTO = NRO_DEPTO

SUPERVISOR = COD_FUNC COD_FUNC = COD_FUNC

DEPENDENTE COD_FUNC LongInteger NRO_DEPEND LongInteger NOME_DEPEND Text(25) SEXO_DEPEND Text(1) DTA_NASC_DEPEND DateTime PARENT_DEPEND Text(1)

LOCAL COD_LOC Text(3) NOME_LOC Text(25) CIDADE_LOC Text(25) UF_LOC Text(2)

PROJETO NRO_PROJ LongInteger NRO_DEPTO LongInteger NOME_PROJ Text(25) DESCR_PROJ Memo

COD_LOC = COD_LOC

UTILIZA COD_LOC Text(3) NRO_PROJ LongInteger

NRO_PROJ = NRO_PROJ

Pag.: 42

enquadra Funcionrio cod_func: Long Integer nome: Text(25) sexo: Sexo dta_nasc: Date/Time salario: Currency ender: Text(35) cidade: Text(25) uf: UF supervisor: Long Integer (FK) nro_depto: Long Integer (FK) cod_cargo: Integer (FK)

Cargo cod_cargo: Integer nome: Text(20) descricao: Memo trabalha_para trabalha_no Departamento nro_depto: Long Integer nome: Text(20) nro_func: Integer gerente: Long Integer dta_inic_ger: Date/Time controla

Projeto nro_proj: Long Integer nro_depto: Long Integer (FK) nome: Text(25) descricao: Memo

mantm supervisiona Dependente cod_func: Long Integer (FK) nro_depend: Long Integer nome: Text(25) sexo: Sexo dta_nasc: Date/Time parentesco: Parentesco O Modelo Entidade-Relacionamento

Trabalha cod_func: Long Integer (FK) nro_proj: Long Integer (FK) horas_trab: Integer

tem_alocado

Pag.: 43

O Modelo Entidade-Relacionamento

Dicas para a elaborao de Diagramas E-R


Dado um texto descrevendo o banco de dados a ser projetado:

A presena de um substantivo usualmente indica uma entidade,

A presena de um verbo uma forte indicao de um relacionamento,

Um adjetivo, que uma qualidade, uma forte indicao de um atributo,

Um advrbio temporal, qualificando o verbo, uma indicao de um atributo do relacionamento.

O Modelo Entidade-Relacionamento

Pag.: 45

9 % i ' g 9  U   D8D%hAD fW$" !   


s

6  E d ) b ` 1 Y "     D4e1 ca4C$ ! p q r s

Parentesco C F I P Sexo M F

Conjuge Filho(a) Irmao/Irma Pai/Mae Masculino Feminino

UF (Unidade da Federao) AC Acre AL Alagoas AM Amazonas : :


Pag.: 44

Você também pode gostar