Modelos de Dados Álvaro Vinícius de Souza Coêlho [email protected].

74
Modelos de Dados Álvaro Vinícius de Souza Coêlho [email protected]

Transcript of Modelos de Dados Álvaro Vinícius de Souza Coêlho [email protected].

Page 1: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

Álvaro Vinícius de Souza Coê[email protected]

Page 2: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Um BD provê abstração de dados (o seu esquema).

• O modelo de dados é a principal ferramenta de abstração.

• É um conjunto de conceitos que são usados para descrever a estrutura de um BD (Tipos de Dados, Relacionamentos, Restrições Semântica, etc.).

Page 3: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• De modo geral há três níveis de classificação do modelo de dados: Objetos, Registros e Físico.

• O modelo baseado em objetos é o mais abstrato.– Não confundir com Orientação a Objetos. – Voltado para a compreensão e o significado dos

dados.

Page 4: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• O modelo baseado em objetos é o mais abstrato.– Expressam relacionamentos complexos entre os

dados.– Mostram o mundo real em toda a sua

complexidade (de dados).– Ignoram aspectos relacionados à

implementação.

Page 5: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• O modelo baseado em objetos é o mais abstrato.– Modelo de Entidades e Relacionamentos – uma

coleção de entidades (objeto distinguível de outro pelos seus atributos) e relacionamentos (associação entre várias entidades).

• Definido na Engenharia de Informação e muito empregado na modelagem Estruturada (e mesmo na modelagem Orientada a Objetos).

Page 6: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• O modelo baseado em objetos é o mais abstrato.– Modelo Conceitual – Coleção de classes de

objetos, com atributos e métodos, e associações entre elas. As associações podem ser por mensagens (um objeto solicita algo a outro) ou por ocorrência (um objeto tem a ocorrência de – se relaciona a – outro).

• Definido nas modelagens orientadas a objetos e empregado em UML.

Page 7: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• O modelo baseado em objetos é o mais abstrato.– Existem outros modelos, tanto estruturados

quanto orientados a objeto. Mas expressam as mesmas características.

Page 8: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Modelo baseado em registros– Construído a partir do modelo de objetos. – Voltados para o entendimento dos registros dos

dados. – Expressam relacionamentos simples entre os

dados. – Não representam fatos complexos.

Page 9: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Modelo baseado em registros– Dependentes da arquitetura do BD: Voltados

para a implementação.– Diagrama Relacional, para o modelo relacional,

representando dados e relacionamentos por um conjunto de tabelas com colunas únicas (chave).

Page 10: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Modelo baseado em registros– Diagrama Relacional

CCT#

C#

Cliente ContaC# C#

Page 11: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Modelo baseado em registros– Diagrama de estrutura de dados, para o modelo

em redes, tem os dados representados por coleções de registros e os relacionamentos são representados por ligações (ponteiros). O BD é organizado como uma coleção de grafos.

Page 12: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Modelo baseado em registros– Diagrama de estrutura de dados

Cliente Conta

Número SaldoNome Rua Cidade

Page 13: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Modelo baseado em registros– Diagrama de estrutura, para o modelo

hierárquico, com representação similar ao modelo de redes, porém o BD é organizado como coleções de árvores.

Page 14: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Modelo baseado em registros– Diagrama de estrutura

Cliente

Conta

Nome Rua Cidade

Número Saldo

Page 15: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Modelo Físico, que é a visão propriamente dos dados (exemplos, evidentemente).

• Os modelos em registros físicos são parte integrante de um estado específico do projeto do BD.

Page 16: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Aqui, ater-nos-emos ao modelo de objetos.

• Existem regras precisas que permitem que, a partir do modelo de objetos, sejam gerados o modelo de registros e o modelo físico do BD. Mas tal transformação é de pouco interesse.

Page 17: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Vai-se tomar por guia o MER (Modelo de entidades e relacionamentos).

• Não há nenhum motivo em especial, – O interesse é estudar a modelagem de dados

– O Modelo Conceitual da UML (bem como todos os modelos de classes em Orientação a Objeto) é mais amplo

– Engloba os métodos e as conexões de mensagens que não são escopo de uma modelagem de dados.

Page 18: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Assim, entre estudar um modelo conceitual incompleto, por abstração dos métodos, e um MER integral, optou-se pela segunda alternativa.

• Vale a crítica: Modernamente há uma preferência pelo modelo conceitual de classes, mas em muitos tipos de sistemas (principalmente quando o BD é relacional) o MER é ainda muito empregado.

Page 19: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• No decorrer desta será mostrado, sempre que surgirem, as semelhanças e equivalências do MER com o modelo conceitual.

• O principal: Os conceitos de organização dos dados e as estratégias para o estabelecimento de relações (ou associações) entre eles permanece.

Page 20: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• O que é um MER.– Um diagrama composto por entidades e

relacionamentos

Page 21: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• O que é um MER.– Um MER possui quatro aspectos principais a

serem estudados • Tipos de objetos (ou classes, segundo a UML). • Relacionamentos (ou associações, segundo a UML). • Indicadores associativos de tipos de objetos (ou

classe associativa, segundo a UML). • Indicadores de supertipos/subtipos (superclasse/

subclasse, segundo a UML).

Page 22: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os tipos de objetos, num MER, são representados por retângulos.– Cada tipo de objeto exerce um papel, isto é, são

relevantes para o funcionamento do próprio sistema.

– São descritos por um ou mais elementos de dados, chamados atributos (como no Modelo Conceitual).

Page 23: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os tipos de objetos, num MER, são representados por retângulos.– Por exemplo, um objeto cliente pode ter os

atributos Nome, Endereço, Limite de Crédito e Telefone.

– Os atributos são os descritores de cada instância do tipo de objeto (ou o objeto propriamente dito, segundo a UML).

Page 24: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os tipos de objetos, num MER, são representados por retângulos.

Cliente Conta

Page 25: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os tipos de objetos, num MER, são representados por retângulos.– A colocação ou não dos atributos é opcional

• Diferentes autores preconizam diferentes procedimentos (mesmo em UML, de acordo com o nível de abstração necessário pode-se suprimir alguns ou todos os atributos).

• Aqui, por uma questão de simplicidade, serão omitidos do modelo.

Page 26: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os tipos de objetos, num MER, são representados por retângulos.– Mas o levantamento cuidadoso dos atributos é

imperativo à modelagem de dados – “Que informações desta entidade (ou desta

classe) o sistema deverá, ainda que numa eventualidade, se recordar?”.

Page 27: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os tipos de objetos, num MER, são representados por retângulos.– Isso leva a um conjunto bastante razoável de atributos.

– O próprio decorrer do processo de modelagem vai desvendar novos atributos, inicialmente esquecidos.

– Não obstante, o seguinte questionamento também deve ser feito para cada atributo “descoberto”: “Essa informação precisa estar registrada ou pode ser derivada de alguma outra?”.

Page 28: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.– Um relacionamento expressa um conjunto de

conexões entre objetos.– Pode representar uma relação entre zero ou

mais ocorrências de um objeto, e zero ou mais ocorrências de outro objeto.

Page 29: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.– O nome do relacionamento é uma palavra que

indique a relação que de fato existe entre os objetos relacionados.

– Deve ser colocado no interior do losango.

Page 30: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.

Cliente ContaPossui

Page 31: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.– Pode haver mais de um relacionamento entre

objetos:

Cliente Conta

Possui

Movi-menta

Page 32: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.– Pode, também, haver relacionamentos entre

mais de um objeto. Cliente Conta

Possui

Agência

Page 33: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.– Cardinalidade e opcionalidade.– Um relacionamento deve mostrar:

• As quantidades que podem estar envolvidas

• A opcionalidade ou não de haver objetos relacionados nas extremidades do relacionamento.

Page 34: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.– De modo geral, encontra-se 3 tipos de

cardinalidade• 1 para 1.

– Cada instância de tipo de objeto se relaciona com apenas uma instância do outro e vice-versa.

– Representa-se escrevendo o número 1 ao lado de ambos os objetos relacionados.

Page 35: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.

1 1Cliente ContaPossui

Page 36: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.– Essa relação é lida: “Um cliente possui apenas

uma conta e uma conta pertence a (é possuída por) apenas um cliente”.

Page 37: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos. – 1 para Muitos – Uma instância de um objeto se relaciona com

várias ocorrências do outro, mas a recíproca não é verdadeira.

Page 38: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.

1 NCliente ContaPossui

Page 39: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos. – Representa-se escrevendo o número 1 do lado

do objeto cuja instância ocorre uma vez (chamado dominante) e N do outro lado

– Esta relação é lida: “Um cliente pode possuir muitas contas, mas uma conta pertence a apenas um cliente”.

Page 40: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos. – Muitos para Muitos – Cada ocorrência de um objeto se relaciona com

várias ocorrências do outro e vice-versa.– Representa-se escrevendo N ao lado dos dois.

Page 41: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.

N NCliente ContaPossui

Page 42: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos. – Esta relação é lida como: “Um cliente pode

possuir muitas contas e uma conta pode pertencer a muitos clientes”.

Page 43: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos. – A opcionalidade (ou obrigatoriedade, a

depender do autor) • Eventualmente, um objeto só pode existir se o seu

par-relacionado também existir. • Isso pode ser verdade para ambos os lados de um

relacionamento, ou só para um deles, ou para nenhum dos dois.

Page 44: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos. – No exemplo de clientes e contas,

• pode-se estabelecer que um cliente só possa estar cadastrado no BD se ele possuir ao menos uma conta.

• Isso, porém, pode não ser boa idéia.

• Por outro lado, não é admissível o registro de uma conta sem que se saiba o seu titular.

• Aqui parece mais razoável impor uma obrigatoriedade.

Page 45: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos. – O relacionamento pode ser lido da seguinte

forma: “Um cliente pode possuir zero ou mais contas, mas uma conta deve pertencer a um ou mais clientes”

Page 46: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos. – A opcionalidade é representada por um círculo

colocado ao lado do objeto relacionado, se ele não for obrigatório.

Page 47: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos.

N NCliente ContaPossui

Page 48: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os relacionamentos, no MER, são representados por losangos. – Existem, de acordo com diferentes autores,

muitas formas diferentes de representar a cardinalidade e a opcionalidade.

– Esta é apenas uma delas, escolhida por apresentar maior semelhança com a linguagem natural e requerer menos recursos gráficos.

Page 49: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de tipos de objeto associativos aparecem quando surgem objetos que funcionam como relacionamento– São relacionamentos sobre os quais é desejável guardar

alguma informação

– Na notação que apresenta os atributos, é suficiente coloca-los no relacionamento.

– Aqui, entretanto, será utilizado outro mecanismo.

Page 50: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de tipos de objeto associativos– Imagine-se um relacionamento muitos para

muitos entre clientes e itens, chamado Compra.– Agora, percebe-se que há alguns atributos

específicos deste relacionamento (Data, Tipo de pagamento...) que precisam ser guardados pelo sistema.

Page 51: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de tipos de objeto associativos– O Tipo de Dados Compra, associado ao

relacionamento Compra é então criado da seguinte forma

NCliente Item

N

Compra

Page 52: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de tipos de objeto associativos– Esta notação é dotada de uma semântica muito

particular, pois mostra que o relacionamento também é um tipo de objeto

– O relacionamento ficou “sem nome”, indicando que toda a informação que ele contém está inclusa no tipo de objeto Compra

Page 53: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de tipos de objeto associativos– Quando se implementa relações muitos para muitos em

bancos de dados relacionais, usa-se uma tabela (também conhecida como tabela de-para) fazendo às vezes da relação.

– Esta tabela traz as chaves primárias das duas tabelas que representam as entidades para formar a relação da maneira apropriada.

Page 54: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de tipos de objeto associativos– É importante ressaltar que tal artifício é feito em nível

de projeto, no modelo de registros, e não deve ser expresso aqui.

– Chaves primárias e estrangeiras, por não serem considerados atributos (são apenas mecanismos de construção de relacionamentos) devem ser desconsideradas. Não se tratará, portanto, de um tipo de objeto associativo.

Page 55: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos são objetos que se agrupam em uma ou mais subcategorias.– No MER são interligados por um

relacionamento– No modelo conceitual, são ligados por

generalização

Page 56: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos– O modelo conceitual estabelece explicitamente

que subclasses tem uma relação de herança com as classes-mãe.

– O MER também incorpora o conceito de herança, embora não preveja a herança de métodos, como o modelo conceitual.

Page 57: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos– Recomenda-se que na nomenclatura do subtipo

também se faça uma alusão ao fato de se tratar de uma especialização de um tipo adicional.

– Por exemplo, havendo um tipo para automóveis, e subtipos para os automóveis de passeio e utilitário, podem-se nomear esses tipos, respectivamente: “Automóvel”, “Automóvel Passeio” e “Automóvel Utilitário”.

Page 58: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos– Os supertipos se relacionam com os subtipos, e

a identificação do tipo-pai é feita com um traço cortando a linha de relação que parte do supertipo

Page 59: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos

Empregado Horista

Empregado Assalariado

Empregado

Page 60: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos– Subtipos e supertipos são identificados são

identificados pelos seus atributos– No exemplo, Nome, Endereço, Telefone e Data

de Nascimento são atributos de todos os objetos do tipo Empregado

Page 61: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos– Mas Horas_Trabalhadas e Salário_Hora são

atributos que dizem respeito apenas a objetos do tipo Empregado Horista

– Salário_Mês é atributo que só faz sentido ao empregado assalariado

Page 62: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos– No processo de modelagem, se for percebida

uma intersecção entre os conjuntos de atributos de dois (ou mais) tipos de objetos distintos, eles são então candidatos a compor um conjunto subtipo/supertipo.

Page 63: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos– Os objetos em estudo vão se alinhar como

subtipos– Devem ser suprimidos os atributos em comum,

restando apenas os atributos disjuntos

Page 64: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos– O supertipo deverá ser criado, contendo estes

atributos comuns– Estes atributos, portanto, ficam disponíveis para

todos os subtipos, por herança

Page 65: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos– Aqui fica a mais importante diferença entre o

MER e o Modelo Conceitual– No MC a relação de classes/subclasses pode ser

estabelecida pelo compartilhamento de atributos ou métodos

– No caso dos atributos de maneira bem semelhante ao MER.

Page 66: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Os indicadores de supertipos/subtipos– A diferença é que nos métodos pode-se

implementar conceitos de polimorfismo– São escopo de um estudo sobre orientação a

objetos já que os métodos são processos, extrapolando, portanto a modelagem de dados

Page 67: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Erros comuns– A modelagem de dados é uma tarefa feita em

várias etapas, todas aperfeiçoando a anterior. – É comum, e até natural, descobrir-se

imperfeições e erros no modelo, e partir-se para as correções apropriadas.

Page 68: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Erros comuns– Não há um modelo correto para um sistema. Há

modelos adequados ou inadequados – Os erros mais comuns são basicamente de duas

categorias: Faltou objeto ou Sobrou objeto

Page 69: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Erros comuns– Faltou objeto

• A identificação de supertipos a partir de subtipos com atributos em comuns pode ter sido falha.

• É muito comum, em entrevistas com usuário ou em documentações utilizadas como insumo de análise, encontrar objetos aparentemente distintos que são na verdade especialização de um supertipo.

Page 70: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Erros comuns– Faltou objeto

• A identificação de “casos especiais” de tipos, que tenham atributos, quebrando em subtipos

• É comum, também, não se perceber a princípio que um determinado tipo de objeto possui uma especialização relevante para o sistema, o que forçaria este objeto a ser dividido em subtipos

Page 71: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Erros comuns– Faltou objeto– Ex: – Um analista percebe a existência do tipo de objeto

Cliente, e não observa que existem atributos específicos do cliente que compra com cartão de crédito e que compra com dinheiro

– Outro pode perceber dois objetos distintos, um cliente que faz compras com cartão e outro (um “comprador”) que faz compras a dinheiro.

– Ambos cometeram uma falha.

Page 72: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Erros comuns

Cliente Cartão

Cliente Dinheiro

Cliente

Cliente Cartão

Comprador Dinheiro

Cliente

Page 73: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados

• Erros comuns– Faltou objeto– Percepção de atributos inerentes a um

relacionamento, que não “chamaram a atenção” numa vista preliminar.

Page 74: Modelos de Dados Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.

Modelos de Dados.

FIM!

“A ciência não tem Pátria”Louis Pasteur

“Mas as patentes, sim”Anômimo

Di Cavalcanti