Modelo entidade associa o
This presentation is the property of its rightful owner.
Sponsored Links
1 / 41

Modelo entidade-associação PowerPoint PPT Presentation


  • 41 Views
  • Uploaded on
  • Presentation posted in: General

Sumário • entidades e atributos • associações • exemplo • comunicação com os gestores • modelos típicos. Modelo entidade-associação.  Exemplos: arquitectura, aviação, engenharia hidráulica, esboços de pintura, planos de livros  Utilidade

Download Presentation

Modelo entidade-associação

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Modelo entidade associa o

Sumário

• entidades e atributos

• associações

• exemplo

• comunicação com os gestores

• modelos típicos

Modelo entidade-associação


Modela o

Exemplos: arquitectura, aviação, engenharia hidráulica, esboços de pintura, planos de livros

Utilidade

testar um artefacto antes de o construir, para detectar falhas de forma barata

modelos físicos (reproduzir à escala os fenómenos essenciais do artefacto)

simulação computacional (cada vez mais barata do que modelos físicos, mas exige uma descrição das leis que governam o artefacto)

comunicação com os clientes, para validar a especificação

visualização, para assentar as ideias gerais e começar a pormenorizar cada parte

redução da complexidade

abstracção dos aspectos irrelevantes (torna a realidade manuseável)

relativamente a um objectivo pretendido (determina a adequação; não há modelos "correctos" em absoluto)

Modelação

Modelo - é uma abstracção de alguma coisa com o objectivo de a compreender antes de a construir


Ciclo de vida

• desenvolvimento de software

parte de uma situação do mundo real

• modelo inicial (estratégia e análise)

só conceitos do domínio da aplicação

• projecto

adicionar objectos computacionais relacionados com a solução escolhida

• fases finais

detalhes da implementação na linguagem escolhida

Ciclo de vida

Abstracção - capacidade humana fundamental que nos habilita a lidar com a complexidade

ESTRATÉGIA

abstracto

entidade-associação

ANÁLISE

detalhado

PROJECTO

esquema da BD

CONSTRUÇÃO

DOCUMENTAÇÃO

reverse engineering

conversão de dados

TRANSIÇÃO

análise de impacto

manutenção

PRODUÇÃO


Desenvolvimento de software

estratégia: descrição do problema

análise: compreender e modelizar a aplicação e o domínio em que opera

• independente da implementação

projecto: definição da arquitectura do sistema e definição de subsistemas e de objectos

codificação: passagem mais ou menos automática para uma linguagem concreta

• ferramentas de desenvolvimento de aplicações (CASE)(com gerador de código)

documentação

• manual de desenvolvimento; manual de instalação; manual de utilização

• parcialmente automatizavel, a partir da especificação

transição: reverse engineering; conversão de dados

produção: uso e manutenção (recomeço)

Desenvolvimento de software


Modelos de dados

notação para descrever os dados + conjunto de operações para os manipular

exemplos:

• hierárquicoIMS

• reticuladoAdabas

• relacionalOracle, DB2, Ingres, Access, Paradox

• objectoObject Store, Objectivity, O2, Gemstone

modelo entidade-associação

• só para descrever os dados

• semanticamente mais rico

• simples mas preciso

• linguagem comum aos técnicos e gestores

• nível conceptual

• tradução automática

Modelos de dados


Modelo entidade associa o1

Entidade

• existe e é distinguívelobjecto

• entidades similares agrupam-se

em conjuntos de entidadesinstância

com um nomeesquema

• exemplos: pessoa, funcionário, conta bancária, livro, formiga (?)

Atributo

• caracteriza os conjuntos de entidades

• associa a cada entidade um só valor do respectivo domínio

• exemplos: nome, data de nascimento, bi do conjunto de pessoa

• chave

- atributo(s) que identifica univocamente uma entidade num conjunto

- existe sempre uma chave para cada conjunto de entidades

- os atributos da chave podem não pertencer todos aos atributos que caracterizam esse conjunto de entidades

Modelo entidade-associação


Exemplo do banco

EntidadesAtributos

Pessoabi

nome

data_nascimento

Contanúmero

saldo

Agênciadesignação

telefone

Exemplo do banco

Pessoa

Conta

Agência

1327

23 000

1111

João

53-03-24

Braga

457638

6498

78 000

2222

Maria

54-09-11

Porto

855986

9135

127 000

5623

41 000

3333

Miguel

80-03-01

8998

5 000

4444

Pedro

83-05-29


Hierarquia isa

Algumas pessoas têm empréstimo; nesses casos é necessário saber também o rendimento declarado no IRS e a entidade patronal

BeneficiárioCrédito isa Pessoa (A isa B)

cada entidade A também é uma entidade B, um caso especial

BeneficiárioCrédito é uma especialização de Pessoa

Pessoa é uma generalização de BeneficiárioCrédito

BeneficiárioCrédito herda os atributos de Pessoa; pode ter mais atributos

chave de BeneficiárioCrédito é a chave de B

Hierarquia isa

EntidadesAtributos

Pessoabi

nome

data_nascimento

BeneficiárioCréditorendimento

entidadePatronal

Pessoa( bi, nome, data_nascimento )

isa

BeneficiárioCrédito( bi, nome, data_nascimento, rendimento, entidadePatronal )


Associa es

Associação entre entidades associa objectos

• tuplo de entidades

• (João, 1327) significa que o João é titular da conta 1327

 Conjunto de associações do mesmo tipoinstância

• conjunto de tuplos (e1, ... ek) em que a entidade ei pertence ao conjunto de entidades Ei

Associação entre conjuntos de entidadesesquema

• lista ordenada de conjuntos de entidades (E1, ..., Ek)

• associação Titular: (Pessoa, Conta)

• caso mais vulgar: associações binárias (k=2)

Associações


Exemplo do banco cont

Exemplo do Banco (cont.)

Pessoa

Agência

Conta

1111

João

53-03-24

1327

23 000

Braga

457638

6498

78 000

2222

Maria

54-09-11

Porto

855986

9135

127 000

3333

Miguel

80-03-01

5623

41 000

8998

5 000

4444

Pedro

83-05-29

Associações

Titular(Pessoa, Conta)

Aberta(Conta, Agência)


Diagramas

associações

- ligam apenas a entidades

- arestas ou arcos

Diagramas

conjuntos de entidades

  • atributos

    • - chave sublinhada

    • - arestas

bi

nome

número

saldo

designação

telefone

data_nascimento

Pessoa

Titular

Conta

Aberta

Agência


Funcionalidade das associa es

R: (E1, E2)

umum (biunívoca)

• cada entidade em E1 está, no máximo, associada a uma entidade em E2 e vice-versa

• Titular seria um para um se cada pessoa só pudesse ter uma conta e cada conta só pudesse ter um titular (pode haver pessoas sem contas)

muitosum (funcional) de E1 para E2

• cada entidade em E1 está no máximo associada a uma entidade em E2

• mas uma entidade em E2 pode estar associada a várias em E1

• arco no lado E2

• Aberta: cada conta aberta numa só agência, mas uma agência pode ter várias contas

muitosmuitos

• associação sem restrições nos tuplos admissíveis

• Titular: cada pessoa pode ter várias contas, cada conta pode ter vários titulares

• forma de implementar varia muito de modelo para modelo

- reticulado: obriga a partir em várias muitos para um

- relacional: esconde o problema (de eficiência) na camada interna

Funcionalidade das associações


Coment rios

 classificar as associações segundo a respectiva funcionalidade

• impõe restrições às instâncias legais

• dá maior semântica ao modelo de dados

 decisão cuidadosa do projectista

chave emprestada

• associação R muitosum de E1 E2

• E2 pode emprestar a chave a E1, através de R, uma vez que a cada entidade de E1 corresponde uma e uma só de E2 (traço no diagrama junto a E1)

• chave de Conta poderia incluir o atributo designação emprestado de Agência

• generaliza isa

 associação muitosum (cardinalidade superior a binária)

• generaliza para arestas em E1, ..., Ek-1 e arco em Ek, se cada tuplo (e1, ..., ek-1) estiver associado, no máximo, a uma entidade ek

• situações mais complicadas não se representam no diagrama

Comentários


Mais coment rios

o mesmo conjunto de entidades pode aparecer mais que uma vez na mesma associação

• Gerada (Pessoa, Pessoa)

• etiquetar as arestas para distinguir os respectivos papéis

Mais comentários

  • • outra hipótese

    • - isa caso especial de umum, só um arco

bi

nome

1

Pessoa

Gerada

bi

nome

2

o

data_nascimento

Pessoa

data_nascimento

1

Gerada

isa

• nem todas as entidades de um conjunto têm que estar nos tuplos de uma associação que o envolva

• optativa (o) versus obrigatória (m)

m

2

nr_filhos

Mãe


Obrigat rio ou optativo

Atributo

obrigatório  valor especificado em todas as entidades

optativo  valor pode não existir

atributos da chave  obrigatórios

[se bi puder ser desconhecido, criar atributo substituto (surrogate) para ser chave]

Associação

ramo obrigatório ligado à entidade E  todas as entidades em E estão nos tuplos da associação

[qualquer Mãe tem que ter pelo menos um filho registado]

ramo optativo  algumas entidades em E podem não estar na associação

[algumas Pessoas podem não ter Mãe registada (caso da Eva)]

Obrigatório ou optativo


Associa es v lidas

situação mais vulgar

A e B podem existir sem estarem na associação

A e B criados em simultâneo

rara - normalmente são sinónimos

comum - associação colectiva; posterior resolução

impossível - nenhum A pode existir sem um B e vice-versa

Associações válidas

{

A

B

m

o

A

B

n  1

o

o

A

B

m

m

A

B

1  1

m

m

{

A

B

o

o

n  m

A

B

m

m

A

{

  • impossível - ciclo infinito (ramo obrigatório!)

  • muito comum para hierarquias

  • rara - alternativa

m

o

recursivas

A

o

o

A

o

o


Simplifica o

 quando uma entidade tem um só atributo pode-se colapsar o conjunto só no atributo

• aparência de a associação ter o atributo

• associação Fornece (Fornecedor, Item, Preço) formalmente ternária, muitos um

• tuplo (f, i, p) significa que o fornecedor f vende o item i pelo preço p

Simplificação

inome

f_nome

Fornecedor

Fornece

Item

item#

morada

Preço

preço

preço

inome

f_nome

Fornecedor

Fornece

Item

item#

morada


Bd biblioteca

Obter o modelo entidade-associação de uma BD que registe as datas das requisições numa biblioteca. Os leitores têm um código, um nome e uma morada. As requisições referem-se a livros ou a revistas. Todas as publicações são registadas com um número de entrada. Dos livros, além do título e dos autores, interessa saber o editor e o ano de publicação. As revistas têm também título e ano de publicação e, além disso, volume e número.

BD Biblioteca

1ª tentativa

ano

editor

nr

nome

requisitante de

requisitado por

Leitor

Livro

título

morada

autor3

autor2

autor1

data

cod

ano

nr

detentor de

pedida por

Revista

título

data

volume

número


Refinamentos sucessivos

 a associação escrito por/autor de é muitos para muitos

• um Livro pode ser escrito por vários Escritores

• um Escritor pode ser autor de vários Livros

Refinamentos sucessivos

  •  Observação 1: evitar usar atributos repetidos

    • falta uma entidade

ano

editor

nome

escrito por

autor de

Livro

Escritor

nr

título

país


Associa es mutuamente exclusivas

 Observação 2: se se encararem as requisições como entidades (têm um número próprio...)

resolve-se a associação muitos para muitos criando uma entidade de intersecção e duas associações muitos para um

Associações mutuamente exclusivas

do

objecto de

Livro

emissor de

feita por

Leitor

Requisição

da

objecto de

data

nreq

Revista

• uma requisição ou é de um livro ou de uma revista as associações do e da são exclusivas

• mais expressividade (representa-se com uma linha a unir as arestas exclusivas)


Hierarquia exclusiva

• forma alternativa de representaçao com isa

- especializações mutuamente exclusivas (Livro e Revista são disjuntos)

- Publicação é uma generalização quer de Livro quer de Revista

- outra hipótese: especializar Requisição em Requisição_de_livro e Requisição_de_revista

Hierarquia exclusiva

título

nr

ano

cod

o

m

m

o

da

objecto de

emissor de

feita por

Leitor

Requisição

Publicação

data

nreq

nome

morada

isa

isa

o

o

Escritor

escrito por

autor de

Livro

Revista

nome

país

editor

volume

número


Conven es de escrita

 Objectivo: Rigor + Comunicabilidade

Entidades

• maiúsculas

• singulares

• substantivos comuns

• sem abreviatura

Atributos

• minúsculas

• nomes com significado no contexto da entidade e compreensíveis pelo gestor

Associações (binárias)

• nome duplo dependendo do sentido de leitura

• regra do verbo ser

Convenções de escrita


Leitura em linguagem natural

Atem que serassoc1um e um só B.

Bpode serassoc2um ou maisA(s).

Requisiçãotem que serfeita porum e um só Leitor.

Leitorpode seremissor deum ou maisRequisição(s).

Todo e qualquer Leitorpode sersempre emissor deum ou maisRequisição(s), não é?

Cada Requisiçãotem que ser sempre oudeum e um só Livro ou de um e um só Revista.

Leitura em linguagem natural

m

o

assoc1

assoc2

A

B

obrigatóriatem que ser

optativapode ser

muitosum ou mais

umum e um só

associações exclusivas ou ... ou

• associações correspondem muitas vezes a regras da organização

• linguagem natural facilita comunicação com gestores validação do modelo nos estágios iniciais


Sintaxe invertida

Requisiçãotem que serfeita porum e um só Leitor.

é equivalente a

Isso significa que nunca pode ter umaRequisição que não sejafeita porum Leitor univocamente identificável, não é?

Sintaxe invertida

  • detectar

    • excepções

    • dependências temporais

    • casos especiais


Observa es

associação: sempre entre entidades; não relaciona directamente outras associações

• expressividade diminuída

 combinação de chaves das entidades ligadas por uma associação corresponde a um só tuplo

• espécie de chave da associação

 casos particulares de associações: subtipo (isa); característica (chave emprestada)

• tratamento especial

 um mesmo objecto/facto do universo pode, num modelo, ser representado por uma entidade e, noutro modelo, por uma associação (caso da Requisição)

• questões de ontologia decididas, em última análise, pelo modelizador

• idem para a declaração de chaves

definição mínima: cada facto deve ser registado uma só vez

• baixar a redundância e consequente oportunidade para inconsistência

regra de Pareto (modificada): interessa compreender 100% do sistema para implementar os 80% que valem a pena

Observações


Atributos derivados

Atributo derivado - aquele que pode ser calculado a partir de um conjunto bem definido de outros atributos presentes na BD

cálculo do valor pode envolver só valores de uma entidade

[idade a partir da data_nascimento]

ou agregar várias entidades

[nr_filhos no exemplo das Mães das Pessoas, se representar o nº de filhos registados na BD]

problema: consistência

em princípio, não se incluem no modelo EA atributos derivados

excepções:

atributo referido frequentemente e de cálculo custoso  recalcular quando?

manter informação agregada depois de se apagar a primária

Atributos derivados

Atributo - detalhe que sirva para qualificar, identificar, classificar, quantificar ou exprimir o estado de uma entidade


Representa o tabular

Conta

númerosaldoagência

132723 000Braga

649878 000Porto

9135127 000Porto

562341 000Porto

89985 000Porto

Representação tabular

bi

nome

número

saldo

designação

telefone

data_nascimento

Pessoa

Titular

Conta

Aberta

Agência

Pessoa

binomedata_n.

1111João53-03-24

2222Maria54-09-11

3333Miguel80-03-01

4444Pedro83-05-29

Titular

binúmero

11111327

11116498

11119185

22229185

22225628

33338998

Agência

designaçãotelefone

Braga457638

Porto855986

entidade

entidade

entidade

associação n  1

associação n  m


Cart es de cr dito

Pretende-se modelar o sistema de emissão de cartões de crédito num banco. O banco cria contas quer para particulares quer para empresas, as quais podem, por sua vez, entregar cartões aos seus empregados. O banco emite três tipos de cartão, com limites de crédito e condições de pagamento diferentes. Em certos casos podem ser negociados limites especiais.

Podem ser autorizados vários cartões sobre a mesma conta, tanto de particulares como de empresa. É contudo importante saber quem detém efectivamente cada cartão. Fisicamente, imprime-se no cartão o nome do detentor, o número da conta e a data de expiração. Regista-se ainda, no sistema, a data de emissão e a assinatura digitalizada.

Uma pessoa pode ter uma conta com um cartão para si próprio e outro para o cônjuge. A empresa onde trabalha também pode ter uma conta com um cartão que lhe atribua. O cônjuge pode ainda ser titular de uma terceira conta com cartões para ambos e para os filhos, estes com limites reduzidos.

O banco precisa de saber quem são os titulares das contas e respectivas moradas, telefones e números fiscais, quem tem cartões e quantos cartões de cada tipo estão associados a contas de particulares ou de empresas.

Obtenha um modelo de dados, usando o formalismo entidade-associação, que capture a realidade descrita. Para além do diagrama desse modelo, incluindo chaves das entidades e funcionalidade e obrigatoriedade das associações, indique eventuais restrições de integridade que entender verificarem-se.

Cartões de crédito


Hip tese de solu o

Hipótese de solução

data_exp

assinatura

limite esp

tipo#

do

categoria

m

limite

o

data_emis

Tipo

Cartão

prazo

m

ncar

ncs

nome

m

detido por

detentor de

o

o

parente de

grau

Pessoa

o

ligado a

debitada por

o

morada

telefone

o

aberta por

titular de

o

m

trabalhador na

empregador de

design

ncc

o

aberta por

titular_emp de

o

nr

Conta

Empresa

m

balcão

morada

telefone


Vista organizacional

Vista organizacional de uma entidade E é uma tabela contendo os atributos

de E

os atributos de cada entidade univocamente associada com E (recursivamente)

se uma das entidades for uma especialização, para além das associações próprias, considerar também as das suas generalizações

em associações recursivas, pôr reticências depois da segunda cópia

arcos exclusivos originam alternativas

Vista organizacional

  • vista de A

    • A a1, a2, a3

    • C c1, c2, c3

    • D d1, d2, d3

    • F f1, f2, f3

  • ou

    • A a1, a2, a3

    • C c1, c2, c3

    • D d1, d2, d3

    • E e1, e2, e3

    • E(R) e1, e2, e3, ...

C

D

o

o

isa

isa

F

o

m

B

A

E

R

m

o

o

o


Exemplos

facilitar a verificação da completude do esquema, por comparação com os formulários em uso na organização e com os sistemas pre-existentes

vista de Cartão no esquema de cartões de crédito

Exemplos

  • vista organizacional de Requisição no esquema da biblioteca

REQUISIÇÃO

nreq data cod nome morada nr título ano

CARTÃO

tipo

detentor

ncar data_emis data_exp assinatura limite_esp tipo# limite prazo ncsd nomed moradad telefoned nr balcão ncst nomet moradat telefonet

conta

titular


Estruturas t picas

cada nível pode ter os seus atributos próprios

mas, se se criasse o nível Grupo de Empresas? Ou secção?

Estruturas típicas

Empresa

Magol

com

de

Divisão

Marketing

Produção

Vendas

Departamento

Manutenção

Operação

Armazém

Divisão

Modelo 1

(simples)

Equipa

Equipa A

Equipa B

com

de

Departamento

com

de

Equipa


Hierarquias

suporta tratamento diferenciado para o topo da hierarquia

atributos comuns em Unidade

é independente dos nomes usados para classificar cada nível

Hierarquias

Modelo 2

(genérico)

Unidade

  • não distingue o topo da hierarquia dos outros níveis (mesmos atributos)

  • suporta qualquer número de níveis

com

de

Modelo 3

(com topo)

de

clas

Tipo de

unidade

Unidade

isa

isa

com

de

Organização

Subdivisão


Hierarquias elaboradas

suporta organizações constituídas por organizações

mantém regras sobre a própria hierarquia (validação)

Hierarquias elaboradas

de

clas

Tipo de

unidade

Unidade

Modelo 4

(com regras)

isa

isa

com

de

sobre

sub

Organização

Subdivisão

agregado

parte

Unidade

Tipo de

unidade

de

clas

Organização

Subdivisão

Magol

Empresa

Marketing

sobre

sub

Produção

com

de

Divisão

Vendas

Manutenção

Departamento

Equipa A

isa

Equipa B

Operação

Equipa

Armazém


Hist ria de atributo

atributo passa a entidade com um valor válido num certo período

os períodos podem ser sobrepostos

não podem existir dois períodos diferentes para o mesmo valor

chave de Apelido é (bi, valor) , parcialmente herdada da entidade Pessoa, através da associação designada

História de atributo

valor

de

até

bi

apelido

Apelido

Pessoa

de

designada

Pessoa

bi


Hist ria de associa o

História de associação

Residência

Residência

sujeito

para

de

proprietário

data

Contrato

terminus

com

parte

Pessoa

Pessoa

  • associação passa a entidade + 2 associações


Componentes

uma relação de componentes permite saber

em que produtos é usado um componente

que componentes constituem um produto

(tipos; não objectos)

•chave de Constituinte (codigo_prod, codigo_comp)

Componentes

  • para saber a quantidade de componentes do mesmo tipo e as instruções de montagem

código

descrição

Componente/Produto

código

descrição

constituído por

parte de

Componente/Produto

usado como

para uso em

constituído por

na lista para

entidade

intersecção

Constituinte

quantidade

instruções


Metamodelo

Metamodelo

em

restrição

Atributo

Domínio

m

em

restrição

de

descrita

ligação

referida

m

Associação

Entidade

subtipo

supertipo

  • metamodelo = descrição do modelo usando elementos do próprio modelo


Exerc cio

O objectivo é construir um modelo EA para um sistema que reúna a informação sobre as publicações científicas dos professores da Faculdade. Este modelo servirá de base à construção da aplicação respectiva por parte do serviço de informática.

considerar as várias situações mais comuns:

- artigos em revistas

- artigos em actas de conferência

- editor de colectânea ou de acta

- livro

- tese

- relatório técnico, etc.

não esquecer a importância de manter a ordem dos autores

um dos produtos derivados deste sistema é o fornecimento de bibliografias organizadas por professor, por departamento ou por assunto

Exercício


Refinamentos ao modelo dos cursos

Salientar os aspectos comuns entre professores e alunos

suportar a informação relativa a vários anos

pormenorizar o registo académico com as classificações nos períodos e as faltas

Refinamentos ao modelo dos cursos


Exemplo dos cursos

Exemplo dos Cursos

letra

codcurso

ano

segue

Curso

Turma

designacur

previstas

plano

ano_lectivo

dadas

atribuído

coddis

ano_lectivo

lecciona

Disciplina

sigla

BI

designadis

nome

Pessoa

inclui

morada

ano_lectivo

telefone

1º período

Inscrição

isa

isa

2º período

resultado

inscrito

habilitação

Professor

Aluno

assistidas

data_nasc

grupo


  • Login