Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Mer
Apostila Mer
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
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
Cidade
Pag.: 6
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
Funcionrio
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 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
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
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
Cod-Forn
Cod-Forn Cod-Prod
Quantidade Preo
Cod-Prod
Fornecedor
Fornece
O Modelo Entidade-Relacionamento
Auto-relacionamento (grau 1)
Relaciona instncias de um conjunto-entidade E a Instncias desse mesmo conjunto-entidade Ex.:
F1 Funcionrio
F1 F2 F3
P1 P2 Trabalha Projeto
F2 F3 Funcionrio N
Gerencia Gerencia
Funcionrio
Trabalha
Projeto
O Modelo Entidade-Relacionamento
Pag.: 15
O Modelo Entidade-Relacionamento
Pag.: 16
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
Fornecer
Pea
nome
Pag.: 17
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
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
Funcionrio
Trabalha
Departamento
Participao Total: quando todas as instncias de uma entidade precisam estar associadas a alguma instncia de outra entidade atravs de um relacionamento.
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)
O Modelo Entidade-Relacionamento
Pag.: 23
O Modelo Entidade-Relacionamento
Cod-Forn
Quantidade
Cod-Proj
Fornecedor
N1
Fornece
N3
Projeto
Cod-Pea N2 Pea
O Modelo Entidade-Relacionamento
Pag.: 25
O Modelo Entidade-Relacionamento
Pag.: 26
Quantidade
Fornecedor N1
N1
Fornece
N3
pode fornecer
Cod-Pea
usa Cod-Pea
Pea N2
O Modelo Entidade-Relacionamento
N2
Pag.: 27 O Modelo Entidade-Relacionamento
Pea
Pag.: 28
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.
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
Certos atributos aparecem somente em alguma(s) sub-classe(s) Alguns relacionamentos se aplicam apenas a determinadas sub-classes
Super-Classe
total
parcial
Pessoa Fsica
Pessoa Jurdica
Motorista
Secretria
Sub-Classe 1
...
Sub-Classe N
Toda instncia da super-classe precisa estar associada a uma instncia correspondente de alguma sub-classe
O Modelo Entidade-Relacionamento
O Modelo Entidade-Relacionamento
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
supervisiona eh_dependente
gerencia dta_ini_ger
controla
utiliza
O Modelo Entidade-Relacionamento
653 2 ) ' % # " &41 0( &$ ! 6CDP4(4EF!# AD% &PP$ ! ' H 9 ' ) Q I I "
gerencia dta_ini_ger
controla
supervisiona eh_dependente
utiliza
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
NRO_DEPTO = NRO_DEPTO
DEPENDENTE COD_FUNC LongInteger NRO_DEPEND LongInteger NOME_DEPEND Text(25) SEXO_DEPEND Text(1) DTA_NASC_DEPEND DateTime PARENT_DEPEND Text(1)
COD_LOC = COD_LOC
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
O Modelo Entidade-Relacionamento
Pag.: 45
Parentesco C F I P Sexo M F