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

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

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

Apresentações semelhantes


Apresentação em tema: "Modelo entidade-associação1 Sumário entidades e atributos associações exemplo comunicação com os gestores modelos típicos."— Transcrição da apresentação:

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

2 Modelo entidade-associação2 Modelação q Exemplos: arquitectura, aviação, engenharia hidráulica, esboços de pintura, planos de livros q 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) Modelo - é uma abstracção de alguma coisa com o objectivo de a compreender antes de a construir

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

4 Modelo entidade-associação4 Desenvolvimento de software qestratégia: descrição do problema qanálise: compreender e modelizar a aplicação e o domínio em que opera independente da implementação qprojecto: definição da arquitectura do sistema e definição de subsistemas e de objectos qcodificação: passagem mais ou menos automática para uma linguagem concreta ferramentas de desenvolvimento de aplicações (CASE)(com gerador de código) qdocumentação manual de desenvolvimento; manual de instalação; manual de utilização parcialmente automatizavel, a partir da especificação qtransição: reverse engineering; conversão de dados qprodução: uso e manutenção (recomeço)

5 Modelo entidade-associação5 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ção6 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

7 Modelo entidade-associação7 Exemplo do banco 1111 João Maria Miguel Pedro Braga Porto EntidadesAtributos Pessoabi nome data_nascimento Contanúmero saldo Agênciadesignação telefone PessoaContaAgência

8 Modelo entidade-associação8 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 Pessoabi nome data_nascimento BeneficiárioCrédito rendimento entidadePatronal Pessoa( bi, nome, data_nascimento ) BeneficiárioCrédito( bi, nome, data_nascimento, rendimento, entidadePatronal ) isa

9 Modelo entidade-associação9 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 (e 1,... e k ) em que a entidade e i pertence ao conjunto de entidades E i Associação entre conjuntos de entidades esquema lista ordenada de conjuntos de entidades (E 1,..., E k ) associação Titular: (Pessoa, Conta) caso mais vulgar: associações binárias (k=2)

10 Modelo entidade-associação10 Exemplo do Banco (cont.) 1111 João Maria Miguel Pedro Braga Porto Associações Titular(Pessoa, Conta) Aberta(Conta, Agência) Pessoa Conta Agência

11 Modelo entidade-associação11 Diagramas conjuntos de entidades atributos - chave sublinhada - arestas associações - ligam apenas a entidades - arestas ou arcos PessoaContaAgência binome data_nascimento númerosaldodesignaçãotelefone TitularAberta

12 Modelo entidade-associação12 Funcionalidade das associações R: (E 1, E 2 ) um um (biunívoca) cada entidade em E 1 está, no máximo, associada a uma entidade em E 2 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 E 1 para E 2 cada entidade em E 1 está no máximo associada a uma entidade em E 2 mas uma entidade em E 2 pode estar associada a várias em E 1 arco no lado E 2 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 Modelo entidade-associação13 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 E 1 E 2 E 2 pode emprestar a chave a E 1, através de R, uma vez que a cada entidade de E 1 corresponde uma e uma só de E 2 (traço no diagrama junto a E 1 ) 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 E 1,..., E k-1 e arco em E k, se cada tuplo (e 1,..., e k-1 ) estiver associado, no máximo, a uma entidade e k situações mais complicadas não se representam no diagrama

14 Modelo entidade-associação14 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 Pessoa binome data_nascimento Gerada 1 2 outra hipótese - isa caso especial de um um, só um arco Pessoa binome data_nascimento Gerada 2 Mãe isa 1 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) nr_filhos o m

15 Modelo entidade-associação15 Obrigatório ou optativo qAtributo 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] qAssociaçã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 Modelo entidade-associação16 Associações válidas AB AB AB AB AB AB A A A { n 1 1 { n m { recursivas mo oo mm mm oo mm m o o o o o 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 impossível - ciclo infinito (ramo obrigatório!) muito comum para hierarquias rara - alternativa

17 Modelo entidade-associação17 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 Fornecedor morada f_nome ForneceItem Preço inome item# preço Fornecedor morada f_nome ForneceItem inome item# preço

18 Modelo entidade-associação18 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 Leitor morada nome requisitante de requisitado por Livro nr título data cod editorano autor1autor2 autor3 detentor de pedida por Revista nr título ano númerovolume

19 Modelo entidade-associação19 Refinamentos sucessivos Observação 1: evitar usar atributos repetidos falta uma entidade Livro nr editorano título escrito por autor de Escritor nome 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 Modelo entidade-associação20 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 Leitor emissor de feita por Requisição data do objecto de Livro nreq 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 Modelo entidade-associação21 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 Leitor emissor de feita por Requisição data da objecto de Publicação nreq RevistaLivro isa nr número ano título volumeeditor escrito por autor de Escritor nomepaís moradanome cod o mmoo o

22 Modelo entidade-associação22 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 Modelo entidade-associação23 Leitura em linguagem natural A assoc1 assoc2 B 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. mo 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 obrigatória tem que ser optativa pode ser muitos um ou mais um um e um só associações exclusivas ou... ou

24 Modelo entidade-associação24 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 é? qdetectar -excepções -dependências temporais -casos especiais

25 Modelo entidade-associação25 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 Modelo entidade-associação26 Atributos derivados Atributo - detalhe que sirva para qualificar, identificar, classificar, quantificar ou exprimir o estado de uma entidade qAtributo 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 Modelo entidade-associação27 Representação tabular PessoaContaAgência binome data_nascimento númerosaldodesignaçãotelefone TitularAberta Titular binúmero Titular binúmero Pessoa binomedata_n. 1111João Maria Miguel Pedro Pessoa binomedata_n. 1111João Maria Miguel Pedro Conta númerosaldoagência Braga Porto Porto Porto Porto Conta númerosaldoagência Braga Porto Porto Porto Porto Agência designaçãotelefone Braga Porto Agência designaçãotelefone Braga Porto entidade associação n m entidade associação n 1

28 Modelo entidade-associação28 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 Modelo entidade-associação29 Hipótese de solução aberta por titular_emp de Empresa morada trabalhador na empregador de ncc Conta aberta por titular de Pessoa morada ncs parente de grau telefone balcão nr Cartão do categoria Tipo limite tipo# prazo detido por detentor de ligado a debitada por telefone ncar limite espassinatura data_emis data_exp m m m m o o o o o o o design nome o m o

30 Modelo entidade-associação30 Vista organizacional qVista 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 CD F BA E oo m o o o isa mo R 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,...

31 Modelo entidade-associação31 Exemplos vista organizacional de Requisição no esquema da biblioteca nreq data cod nome morada nr título ano REQUISIÇÃO 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 ncar data_emis data_exp assinatura limite_esp tipo# limite prazo ncsd nomed moradad telefoned nr balcão ncst nomet moradat telefonet CARTÃOtipodetentor contatitular

32 Modelo entidade-associação32 Estruturas típicas Magol MarketingProduçãoVendas ManutençãoOperaçãoArmazém Equipa AEquipa B Divisão Departamento Equipa Empresa Departamento com de Divisão com de Equipa com de cada nível pode ter os seus atributos próprios mas, se se criasse o nível Grupo de Empresas? Ou secção? Modelo 1 (simples)

33 Modelo entidade-associação33 Hierarquias Unidade com de Modelo 2 (genérico) não distingue o topo da hierarquia dos outros níveis (mesmos atributos) suporta qualquer número de níveis Modelo 3 (com topo) Unidade com de Tipo de unidade de clas OrganizaçãoSubdivisão isa suporta tratamento diferenciado para o topo da hierarquia atributos comuns em Unidade é independente dos nomes usados para classificar cada nível

34 Modelo entidade-associação34 Hierarquias elaboradas Modelo 4 (com regras) Unidade com de Tipo de unidade de clas OrganizaçãoSubdivisão isa suporta organizações constituídas por organizações mantém regras sobre a própria hierarquia (validação) agregado parte sobre sub Divisão Departamento Equipa Empresa OrganizaçãoSubdivisão Unidade Tipo de unidade sobre sub com de clas isa Magol Marketing Produção Vendas Manutenção Operação Armazém Equipa A Equipa B

35 Modelo entidade-associação35 História de atributo Pessoa biapelido Apelido valorde Pessoa bi até 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

36 Modelo entidade-associação36 História de associação data Contrato terminus sujeito para associação passa a entidade + 2 associações Residência Pessoa de proprietário Pessoa com parte Residência

37 Modelo entidade-associação37 Componentes quma 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) Componente/Produto constituído por parte de descriçãocódigo Componente/Produto usado como para uso em descriçãocódigo Constituinte constituído por na lista para instruçõesquantidade entidade intersecção qpara saber a quantidade de componentes do mesmo tipo e as instruções de montagem

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

39 Modelo entidade-associação39 Exercício qO 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 Modelo entidade-associação40 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 Modelo entidade-associação41 Exemplo dos Cursos Curso Disciplina ProfessorAluno Turma plano segue inscrito atribuído lecciona codcurso designacur sigla coddis designadis habilitação grupo data_nasc ano letra resultado Pessoa BI nome morada telefone isa previstas ano_lectivo Inscrição inclui 1º período ano_lectivo 2º período assistidas dadas


Carregar ppt "Modelo entidade-associação1 Sumário entidades e atributos associações exemplo comunicação com os gestores modelos típicos."

Apresentações semelhantes


Anúncios Google