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

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

Modelagem de Dados Aula 2 2 Generalização / Especialização Uma entidade representa um conjunto de objetos, este conjunto (entidade genérica) pode ser.

Apresentações semelhantes


Apresentação em tema: "Modelagem de Dados Aula 2 2 Generalização / Especialização Uma entidade representa um conjunto de objetos, este conjunto (entidade genérica) pode ser."— Transcrição da apresentação:

1

2 Modelagem de Dados Aula 2

3 2 Generalização / Especialização Uma entidade representa um conjunto de objetos, este conjunto (entidade genérica) pode ser dividido em subconjuntos (entidades especializadas) que herdam características da entidade genérica. Herdar propriedades significa que cada entidade especializada possui, além de suas próprias propriedades (atributos, relacionamentos e generalizações/especializações), também as propriedades da entidade genérica correspondente. No diagrama ER, o símbolo para representar generalização/especialização é um triângulo isósceles. A generalização/especialização pode ser classificada em dois tipos, total ou parcial, de acordo com a obrigatoriedade ou não de a cada entidade genérica corresponder uma entidade especializada.

4 3 Generalização / Especialização CLIENTE Código oNome PESSOA FÍSICA PESSOA JURÍDICA t oCPF oSexo oCNPJ oTipo de Organização Em uma generalização/especialização total para cada ocorrência da entidade genérica existe sempre uma ocorrência em uma das entidades especialidades. Todo CLIENTE é PESSOA FÍSICA ou PESSOA JURÍDICA

5 4 Generalização / Especialização Em uma generalização/especialização parcial, nem toda ocorrência da entidade genérica possui uma ocorrência correspondente em uma das entidades especialidades. FUNCIONÁRIO Código oTipo de Funcionário oNome MOTORISTASECRETÁRIA p oCart. Habilitação oLíngua Estrangeira Nem todo FUNCIONÁRIO é MOTORISTA ou SECRETÁRIA

6 5 Entidade Associativa Um relacionamento é uma associação entre entidades. No modelo ER não foi prevista a possibilidade de associar uma entidade com um relacionamento ou então associar dois relacionamentos entre si. Mas existem momentos em que temos uma visão dos dados que nos deixa em dúvida de como representar um fato que está relacionado a outro fato. Isto equivaleria a dizer que um relacionamento esta relacionado a outro, ou uma entidade está relacionada a um relacionamento. Para resolver este problema, foi criado um conceito especial, o de entidade associativa.

7 6 Entidade Associativa prescrever MÉDICO consultar PACIENTE n n MEDICAMENTO n n Uma entidade associativa nada mais é que a redefinição de um relacionamento passa a ser visto como uma entidade (associativa, já que baseada em um relacionamento).

8 7 prescrever MÉDICO consultar PACIENTE n n MEDICAMENTO n n Entidade Associativa Modelo equivalente denominado agregação. Agregação é a redefinição de um relacionamento binário como uma entidade agregada.

9 8 Entidade Associativa MÉDICO PACIENTE n n prescrever MEDICAMENTO n n CONSULTA 1 1 Modelo equivalente

10 9 Capítulo 3 – Construindo Modelos ER Neste capítulo, vamos nos concentrar na construção de modelos ER, isto é, no problema de como, dada uma determinada realidade, obter o modelo ER. Roteiro: 1. Propriedades de modelos ER (páginas 44 a 48) 2. Identificando Construções ( páginas 48 a 53) 3. Verificação do modelo (página 53 a 60) 4. Estabelecimento de padrões (páginas 60 a 64) 5. Estratégias de Modelagem (páginas 64 a 68)

11 10  Um modelo ER é um modelo formal, preciso, não ambíguo. Isto significa que diferentes leitores de um modelo ER devem sempre entender exatamente o mesmo.  Abordagem ER têm poder de expressão limitado. Um modelo ER apresenta apenas algumas propriedade de um banco de dados, muitas propriedades desejáveis do banco de dados necessitam ser anotadas adicionalmente ao DER. O modelo ER é uma descrição abstrata das estruturas do banco de dados, não sendo necessário especificar todas as restrições de integridade. Construções artificiais, isto é, construções incluídas no modelo apenas para satisfazer determinadas restrições de integridade são indesejáveis, pois distorcem os objetivos que se tem ao construir o DER. Propriedades de Modelos ER

12 11 Identificando Construções  Atributo versus entidade relacionada. Uma questão que às vezes surge na modelagem de um sistema é entre modelar um objeto como sendo um atributo de uma entidade ou modelar o objeto como sendo uma entidade autônoma relacionada a essa entidade.  Diferentes modelos podem ser equivalentes. Há um conceito de equivalência entre modelos ER. De maneira informal, diz-se que dois modelos são equivalentes, quando expressam o mesmo, ou seja quando modelam a mesma realidade. Propriedades de Modelos ER AUTOMÓVEL Nºchassis oCor AUTOMÓVELCOR Nºchassis (0,n)(1,1) ou

13 12  Atributo versus generalização/especialização. Um outro conflito de modelagem para o qual há algumas regras de cunho prático é entre modelar um determinado objeto como atributo ou como uma especialização. Identificando Construções Código oNome oCategoria Funcional EMPREGADO oNºCartHab odataexp oCREA Código oNome EMPREGADO MOTORISTAENGENHEIRO ou

14 13  Atributos Opcionais e Multivalorado. Os atributos podem ser opcionais (nem toda ocorrência da entidade possui um valor do atributo) ou multivalorados. Entretanto, quando se inicia o processo de modelagem é aconselhável tentar restringir-se ao uso de atributos obrigatórios e monovalorados. Identificando Construções Código oNome oCategoriaFuncional oNºCartHabilitação oCREA oCRM oDtExpiração EMPREGADO Código oNome oDependente oLançaPagamento EMPREGADO opcionais multivalorados

15 14 Verificação do Modelo  Modelo deve ser correto. Um modelo está correto, quando não contém erros de modelagem, isto é, quando os conceitos de modelagem ER são corretamente empregados para modelar a realidade em questão. Pode-se distinguir entre dois tipos de erros, os sintáticos e os semânticos. Erros sintáticos ocorrem quando o modelo não respeita as regras de construção de um modelo ER. Por exemplo, associar atributos a atributos, associar relacionamento a atributos, o de associar relacionamento através de outros relacionamentos ou de especializar relacionamento ou atributos. Já erros semânticos ocorrem quando o modelo, apesar de obedecer as regras de construção de modelos ER reflete a realidade de forma inconsistente.

16 15  Modelo deve refletir o aspecto temporal. Certas aplicações exigem que o BD guarde o histórico de alteração de informações. O modelo de BD que armazena somente os valores atuais de uma informação é diferente do modelo do BD que armazena o histórico da informação. Portanto é importante considerar o aspecto temporal na modelagem de dados. Alguns destes aspectos são: atributos cujos valores modificam ao longo do tempo, relacionamentos que modificam ao longo do tempo e consultas a dados referentes ao passado. Verificação do Modelo  Entidade isolada e entidade sem atributos. A entidade isolada não apresenta nenhum relacionamento com outras entidades, a entidade sem atributos não possui atributos, na prática, ambas as situações acontecem raramente e precisam ser investigados.

17 16 Estabelecimento de Padrões Modelos de dados são usados para comunicação entre as pessoas da organização (usuários, analistas, programadores,...) e até mesmo para a comunicação de programas (ferramentas CASE, geradores de código,...). Assim, ao usar modelagem de dados, é necessário estabelecer padrões de confecção de modelos. Infelizmente, na prática e na literatura aparecem muitas versões, que distinguem-se umas das outras não só na representação gráfica, isto é em sua sintaxe, mas também na semântica. A notação vista, até este ponto é a notação CHEN. Além desta notação duas famílias de notações têm importância, a notação Engenharia de Informações e a notação MERISE. Na prática, não é aceitável que o diagrama ER seja construído manualmente. Portanto, é recomendável que desde do início da confecção do modelo ER, seja usada ferramentas para apoiar a modelagem. Podem ser consideradas duas alternativas: uso de uma ferramenta CASE e de programas de propósito geral.

18 17  Modelo deve ser completo. Quando dizemos que um modelo deve ser completo, estamos exigindo que todas as propriedades expressáveis com modelos ER apareçam no modelo. Verificação do Modelo  Modelo deve ser livre de redundâncias. Um modelo deve ser mínimo, isto é não deve conter conceitos (relacionamentos ou atributos) redundantes. Um relacionamento é redundante, quando é possível eliminá-lo do modelo ER, sem que haja perda de informações, são relacionamentos resultantes da combinação de outros relacionamentos entre as mesmas entidades. Os atributos são redundantes quando deriváveis a partir da execução de procedimentos de busca de dados e /ou cálculos sobre o banco de dados.

19 18 Notação Engenharia de Informações A Engenharia de Informações é um método de desenvolvimento de sistemas de informação proposto no início da década de 80 por Martin e FinKelstein. Este método tem uma importância considerável na prática, comprovada pela existência de ferramentas CASE que o suportam. A característica que distingue o método dos outros (método estruturado, método orientado a objetos...) é a ênfase que dá à modelagem de dados. Para a Engenharia de Informações, foi definida uma notação especial de diagramas ER, conhecida como notação Engenharia de Informações, ou também notação James Martin. DEPARTAMENTOEMPREGADO tem lotado está lotado em

20 19 Notação Engenharia de Informações  Na notação Engenharia de Informações, relacionamentos são representados apenas por uma linha que liga os símbolos representativos das entidades associadas. Isso têm as seguintes conseqüências: a notação admite apenas relacionamentos binários; atributos aparecem exclusivamente em entidades; os relacionamentos n:n tendem a ser modelados como entidades.  A denominação de um relacionamento é escrita na forma de verbos em ambas direções de leitura.  A notação para cardinalidade máxima e mínima é gráfica. O símbolo mais próximo do retângulo representativo da entidade corresponde a cardinalidade máxima, o mais distante a cardinalidade mínima.

21 20 Notação Engenharia de Informações  A generalização/especialização é chamada de subconjunto (subtipo) de entidades e é representada através do aninhamento dos símbolos de entidade. EMPREGADO DEPARTAMENTO PROJETO domina é dominado por PROCESSADOR DE TEXTO GERENTE SECRETÁRIA ENGENHEIRO está alocado em tem alocado gerencia é gerenciado por

22 21 Notação MERISE MERISE é a metodologia de desenvolvimento de sistemas usada na França e é muito difundida na Europa aparecendo em livros textos e artigos. Uma etapa desta metodologia, é a de modelagem de dados. Na modelagem de dados, MERISE adota diagramas ER, com uma notação um pouco diferente da usual. DEPARTAMENTOEMPREGADO lotação (1,1)(0,n) lotação DEPARTAMENTOEMPREGADO 1,10,n associativa participativa

23 22 Uso de uma ferramenta CASE O software ideal para acompanhar o projeto de um banco de dados é uma ferramenta CASE (Computer Aided Software Engineering). Uma ferramenta CASE pode apoiar o desenvolvimento de um banco de dados tanto a nível de modelagem quanto a nível de projeto do banco de dados. Do ponto de vista da modelagem o mínimo que se deve exigir de uma ferramenta CASE é: capacidade de edição diagramática; dicionário de dados; integração entre o diagrama ER e o dicionário de dados. Uso de Programas de Propósito Geral Em organizações com pequeno orçamento para a Informática, pode ser difícil obter os recursos necessários à aquisição de uma ferramenta CASE. Neste caso, pode–se usar programas de propósito geral para editar o DER e montar o dicionário da dados.

24 23 Estratégias de Modelagem O processo de construção de um modelo de um sistema não é construído em um único passo, mas em muitos pequenos passos, muitas pequenas transformações do modelo inicial até o modelo completo. Gradativamente, o modelo vai sendo enriquecido com novos conceitos e estes vão sendo ligados aos existentes ou os existentes vão sendo aperfeiçoados. Uma estratégia de modelagem ER é uma seqüência de passos (receita de bolo) de transformação de modelos. Estudando o processo de construção de modelos ER, diferentes autores propuseram diferentes estratégias. Na prática, observa-se que nenhuma das estratégias propostas na literatura é universalmente aceita. Normalmente, é aplicada uma combinação das diversas estratégias de modelagem.

25 24 Estratégias de Modelagem O processo de modelagem é um processo de aprendizagem, quando construirmos o modelo de um sistema, estamos aprendendo fatos sobre aquele sistema. Para definir qual a estratégia a usar na construção de um modelo ER, deve-se identificar qual a fonte de informações principal para o processo de modelagem. São duas as fontes de informações que iremos considerar: descrição de dados existentes e o conhecimento que pessoas possuem sobre o sistema. A construção de um modelo partindo de descrições de dados já existentes dá-se de acordo com a estratégia bottom-up (de baixo para cima). O processo de modelagem inicia com a identificação de atributos. A partir daí, os atributos são agregados em entidades e as entidades são relacionadas e generalizadas.

26 25 Estratégias de Modelagem A construção de um modelo partindo do conhecimento que pessoas possuem sobre o sistema dá-se de acordo as estratégias top-down (de cima para baixo) e a inside-out (de dentro para fora). Na estratégia top-down o processo se inicia com a identificação das entidades genéricas, a partir daí, são definidos os atributos das entidades, seus relacionamentos, os atributos dos relacionamentos e as especializações das entidades. Na estratégia inside-out o processo inicia com a identificação de uma entidade particularmente importante no modelo e que supõe-se, estará relacionada a muitas outras entidades. A partir daí, são procurados atributos, entidades relacionadas, generalizações e especializações da entidade em foco e assim recursivamente até obter o modelo completo..


Carregar ppt "Modelagem de Dados Aula 2 2 Generalização / Especialização Uma entidade representa um conjunto de objetos, este conjunto (entidade genérica) pode ser."

Apresentações semelhantes


Anúncios Google