A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelo entidade-associação

Apresentações semelhantes


Apresentação em tema: "Modelo entidade-associação"— Transcrição da apresentação:

1 Modelo entidade-associação
Sumário • entidades e atributos • associações • exemplo • comunicação com os gestores • modelos típicos

2 Modelação Modelo - é uma abstracção de alguma coisa com o objectivo de a compreender antes de a construir 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)

3 Ciclo de vida Abstracção - capacidade humana fundamental que nos habilita a lidar com a complexidade abstracto ESTRATÉGIA entidade-associação detalhado ANÁLISE • 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 PROJECTO esquema da BD CONSTRUÇÃO DOCUMENTAÇÃO reverse engineering conversão de dados TRANSIÇÃO análise de impacto manutenção PRODUÇÃO

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

5 Modelos de dados notação para descrever os dados + conjunto de operações para os manipular exemplos: • hierárquico IMS • reticulado Adabas • relacional Oracle, DB2, Ingres, Access, Paradox • objecto Object 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

6 Modelo entidade-associação
• 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

7 Exemplo do banco Pessoa Conta Agência Entidades Atributos 1327 1111
23 000 1111 João Braga 457638 6498 78 000 2222 Maria Porto 855986 9135 5623 41 000 3333 Miguel Entidades Atributos Pessoa bi nome data_nascimento Conta número saldo Agência designação telefone 8998 5 000 4444 Pedro

8 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 Entidades Atributos Pessoa bi nome data_nascimento BeneficiárioCrédito rendimento entidadePatronal Pessoa( bi, nome, data_nascimento ) isa BeneficiárioCrédito( bi, nome, data_nascimento, rendimento, entidadePatronal )

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

10 Exemplo do Banco (cont.)
Pessoa Agência Conta 1111 João 1327 23 000 Braga 457638 6498 78 000 2222 Maria Porto 855986 9135 3333 Miguel 5623 41 000 8998 5 000 4444 Pedro Associações Titular (Pessoa, Conta) Aberta (Conta, Agência)

11 Diagramas conjuntos de entidades atributos - chave sublinhada
- arestas associações - ligam apenas a entidades - arestas ou arcos bi nome número saldo designação telefone data_nascimento Pessoa Titular Conta Aberta Agência

12 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

13 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

14 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 • 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 • 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) isa m 2 nr_filhos Mãe

15 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)]

16 { { { Associações válidas A B 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 m o n  1 A B o o A B m m 1  1 A B { m m A B o o n  m A B m m { A m impossível - ciclo infinito (ramo obrigatório!) muito comum para hierarquias rara - alternativa o recursivas A o o A o o

17 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 inome f_nome Fornecedor Fornece Item item# morada Preço preço preço inome f_nome Fornecedor Fornece Item item# morada

18 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. 1ª tentativa ano editor nr nome requisitante de requisitado por Leitor Livro título morada autor3 data autor2 autor1 cod ano nr detentor de pedida por Revista título data volume número

19 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  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

20 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 do objecto de Livro emissor de feita por Leitor Requisição nreq data da objecto de 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)

21 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 título nr cod ano o m m da objecto de o emissor de feita por Leitor Requisição Publicação nreq data nome morada isa isa o o Escritor escrito por autor de Livro Revista nome país editor volume número

22 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

23 Leitura em linguagem natural
o assoc1 assoc2 A B obrigatória  tem que ser optativa pode ser muitos  um ou mais um um e um só A tem que ser assoc1 um e um só B. B pode ser assoc2 um ou mais A(s). Requisição tem que ser feita por um e um só Leitor. Leitor pode ser emissor de um ou mais Requisição(s). Todo e qualquer Leitor pode ser sempre emissor de um ou mais Requisição(s), não é? Cada Requisição tem que ser sempre ou de um e um só Livro ou de um e um só Revista. 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

24 Requisição tem que ser feita por um e um só Leitor.
Sintaxe invertida Requisição tem que ser feita por um e um só Leitor. é equivalente a Isso significa que nunca pode ter uma Requisição que não seja feita por um Leitor univocamente identificável, não é? detectar excepções dependências temporais casos especiais

25 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

26 Atributos derivados Atributo - detalhe que sirva para qualificar, identificar, classificar, quantificar ou exprimir o estado de uma entidade 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

27 Representação tabular
bi nome número saldo designação telefone data_nascimento Pessoa Titular Conta Aberta Agência Pessoa bi nome data_n. 1111 João 2222 Maria 3333 Miguel 4444 Pedro Titular bi número Conta número saldo agência Braga Porto Porto Porto Porto Agência designação telefone Braga Porto entidade entidade entidade associação n  1 associação n  m

28 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.

29 Hipótese de solução data_exp assinatura limite esp do categoria tipo#
data_emis Tipo Cartão m prazo ncar ncs m detido por detentor de nome 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 ncc design aberta por titular_emp de o o nr Conta m Empresa balcão morada telefone

30 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 de A A a1, a2, a3 C c1, c2, c3 D d1, d2, d3 F f1, f2, f3 ou 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

31 Exemplos vista organizacional de Requisição no esquema da biblioteca
nreq data cod nome morada nr título ano 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 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

32 Estruturas típicas Magol Divisão Marketing Produção Vendas
Empresa Magol Divisão Marketing Produção Vendas com de Departamento Manutenção Operação Armazém Divisão Modelo 1 (simples) Equipa Equipa A Equipa B com de Departamento cada nível pode ter os seus atributos próprios mas, se se criasse o nível Grupo de Empresas? Ou secção? com de Equipa

33 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 suporta tratamento diferenciado para o topo da hierarquia atributos comuns em Unidade é independente dos nomes usados para classificar cada nível isa isa com de Organização Subdivisão

34 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 de clas Tipo de unidade Organização Subdivisão Magol Empresa Marketing sobre sub Produção suporta organizações constituídas por organizações mantém regras sobre a própria hierarquia (validação) com de Divisão Vendas Manutenção isa Equipa A Departamento Equipa B Operação Equipa Armazém

35 História de atributo valor de até bi apelido Apelido Pessoa de designada 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 Pessoa bi

36 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

37 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 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) entidade intersecção Constituinte quantidade instruções

38 Metamodelo em restrição Atributo Domínio m em restrição de descrita ligação referida Associação m Entidade subtipo supertipo metamodelo = descrição do modelo usando elementos do próprio modelo

39 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

40 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

41 Exemplo dos Cursos Curso Turma Disciplina Pessoa Inscrição Professor
letra codcurso ano Curso segue 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


Carregar ppt "Modelo entidade-associação"

Apresentações semelhantes


Anúncios Google