Banco de Dados Modelagem Conceitual

Documentos relacionados
Abordagem ER. Capítulo 2

Abordagem Entidade-Relacionamento. Edmilson Campos

Abordagem ER. Capítulo 2

Aula 2 Abordagem Entidade-Relacionamento Cleverton Hentz

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

MODELAGEM DE DADOS UNIDADE 3 Modelo Entidade-Relacionamento. Luiz Leão

PCS3413 Engenharia de Software e Banco de Dados

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Linguagem de Modelagem Unificada UML

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Projeto de Banco de Dados

Projeto de Banco de Dados

Modelagem Conceitual parte I

Modelagem Conceitual parte I

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Análise Orientada a Objetos

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

01 - Quais as principais vantagens da utilização de um Sistema de Banco de Dados em relação aos sistemas tradicionais de gerenciamento de arquivos?

Abordagem ER. Capítulo 2

Banco de Dados I Parte II a: Abordagem Entidade-Relacionamento

Faculdade Ieducare. 5º Semestre Sistemas de Informação. Professor: Rhyan Ximenes. Banco de Dados II 1. Banco de Dados II

Requisitos de sistemas

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

Modelagem de Dados. Modelagem Conceitual

Modelo Conceitual. Disciplina: Banco de Dados. Edmilson Campos, Prof. MsC.

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

UML (Unified Modelling Language)

Projeto de Bancos de Dados

Banco de Dados Modelagem Conceitual de Dados. Prof. Edjandir Corrêa Costa

Construindo modelos ER. Capítulo 3

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Modelagem de dados. Abordagem Entidade-Relacionamento. Conceitos da abordagem ER. Modelo entidade-relacionamento (MER)

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

Sistema de Banco de Dados

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

2. Revisão e Dicas de Modelagem Conceitual

Introdução a UML (Unified Modeling Language)

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Capítulo 2. Orientação a Objetos

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

MODELAGEM DE DADOS -PROJETO CONCEITUAL DE BD. Prof. Angelo Augusto Frozza, M.Sc.

WORKSHOP: ANÁLISE DE VIABILIDADE FINANCEIRA

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Banco de Dados II. Prof. Fiorin

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Modelo Entidade- Relacionamento

Aula 01 Conceito de Banco de Dados e SGBD

Projeto Banco de Dados

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1.

Modelagem de Dados MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Profa. Rosemary Melo

Modelagem Orientada a Objeto

Modelo do Mundo Real. Abstração. Interpretação

Análise e Projeto de Sistemas I

Modelagem de Dados MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Profa. Rosemary Melo

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

PCS3413 Engenharia de Software e Banco de Dados

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Banco de Dados I Modelagem Conceitual

MBA EM GESTÃO DE COMPRAS

Tópico: Modelagem CONTEÚDO PROGRAMÁTICO

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

ESPECIALIZAÇÃO EM NEGOCIAÇÃO AULA 5: NECESSIDADE + PRAZO + BATNA + ITENS NEGOCIÁVEIS

Banco de Dados. Aula 4 - Prof. Bruno Moreno 02/09/2011

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Análise e Projeto de Sistemas

Conceitos de Programação Orientada a Objetos

Modelo Entidade- Relacionamento. Hugo Barros

MBA EM GESTÃO FISCAL E TRIBUTÁRIO Aula: Indicadores

BANCO DE DADOS MODELAGEM ER. Prof.: Jean Carlo Mendes

Banco de Dados Modelagem de Dados. Prof. Joel da Silva

Administração e Projeto de Banco de dados. Aula 4 Modelagem Conceitual Tipos de Relacionamentos

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Ciclo de Desenvolvimento de BD

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

Análise de Sistemas 4º Bimestre (material 3)

Engenharia de Software II e III - Introdução ao Diagrama de Classe

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

Transcrição:

Banco de Dados Modelagem Conceitual Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo

Licença para uso e distribuição Este obra está licenciada com uma licença Crea8ve Commons Atribuição- Compar8lhaIgual 4.0 Internacional; You are free to (for any purpose, even commercially): Share: copy and redistribute the material in any medium or format; Adapt: remix, transform, and build upon the material; Under the following terms: AOribu8on: you must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use; ShareAlike: if you remix, transform, or build upon the material, you must distribute your contribu8ons under the same license as the original. Mais informações podem ser encontradas em: http://creativecommons.org/licenses/by-sa/4.0/ Maio 2014 Banco de Dados - Modelagem Conceitual 2

Créditos Algumas informações foram re8radas e adaptadas dos slides do livro Projeto de Banco de Dados de Carlos A Heuser; Maio 2014 Banco de Dados - Modelagem Conceitual 3

Modelos Maneira de projetar, comunicar, documentar, etc. soluções computacionais; Diversos níveis, por exemplo: Ontologias (modelos genéricos, de domínio); Requisitos (foco em um problema); Projeto / arquitetura (foco em uma solução). Essenciais para o desenvolvimento de soaware; Assim como o desenvolvimento, também seguem os paradigmas (estruturado, OO, etc.). Maio 2014 Banco de Dados - Modelagem Conceitual 4

Desenvolvimento de sistemas Problema Uma biblioteca: livros, autores, usuários, funcionários,... Correspondência Correteza Descrição do problema Descrição da solução Verificação Validação Livros possuem título, autor, número de páginas,... Título é CHAR, número de páginas é INT,... Sistema Estruturas da ling. program. Tabelas do banco de dados Maio 2014 Banco de Dados - Modelagem Conceitual 5

Projeto do banco de dados Requisitos do sistema Modelo conceitual Modelo lógico Projeto físico Quais os elementos de informação deverão fazer parte do banco de dados? Quais as funções desejadas no sistema de informação do qual o banco de dados faz parte? Como estes elementos serão armazenados em um SGBD específico? Começar de um nível de abstração mais alto ajuda a comunicação com especialistas de domínio, a encontrar problemas mais cedo, etc. Maio 2014 Banco de Dados - Modelagem Conceitual 6

Técnicas para modelagem conceitual Abordagem En8dade- Relacionamento (ER): Criada em 1976, por Peter Chen; Mais difundida e u8lizada no paradigma estruturado; Serviu de base para proposta subsequentes; A Linguagem de Modelagem Unificada (UML): Junção de OMT (Rumbaugh), Booch e OOSE (Jacobson), criada na Ra8onal Soaware em 1997; Padrão ISO (2000) man8do pela OMG; Não é exclusiva para modelagem conceitual; Mais difundida e u8lizada no paradigma orientado a objetos. Maio 2014 Banco de Dados - Modelagem Conceitual 7

Diagramas da UML de Casos de Uso; de Classes; de Objetos; de Estrutura Composta; de Sequência; de Comunicação; de Estados; de A8vidades; de Componentes; de Implantação; de Pacotes; de Interface Geral; de Tempo. Maio 2014 Banco de Dados - Modelagem Conceitual 8

A abordagem En8dade- Relacionamento Conceitos centrais: En8dade; Relacionamento; Atributo; Generalização / especialização; En8dade associa8va. Diagrama ER preço Produto n 1 Tipo de produto descrição código descrição código Maio 2014 Banco de Dados - Modelagem Conceitual 9

En8dade: conceito Conjunto de objetos da realidade modelada sobre os quais deseja- se manter informações no banco de dados; Exemplos: Em um sistema de informações industriais: produtos, 8pos de produtos, vendas, compras, etc.; Em um sistema de contas correntes: clientes, contas correntes, cheques, agências, etc.; Em um sistema de marcação de reuniões: funcionários, salas, reuniões, agendamentos, etc. Maio 2014 Banco de Dados - Modelagem Conceitual 10

En8dade: representação Podem representar objetos da realidade, sejam eles: Concretos (ex.: pessoa, automóvel); ou Abstratos (ex.: departamento, endereço); Representada no diagrama ER com um retângulo com o nome da en8dade: PESSOA A en8dade (conceito) estabelece um conjunto de en8dades ou classe de objetos; Os elementos desse conjunto são chamados de instâncias, ocorrências ou objetos. Maio 2014 Banco de Dados - Modelagem Conceitual 11

En8dade: propriedades A en8dade sozinha pouco informa; Precisamos saber suas propriedades; Em um modelo ER, são representadas por: Relacionamentos; Atributos; Generalizações / especializações. Maio 2014 Banco de Dados - Modelagem Conceitual 12

Relacionamento: conceito e representação Conjunto de associações entre en8dades sobre as quais deseja- se manter informações na base de dados; Cada instância é uma ligação específica entre determinadas instâncias de en8dade; DEPARTAMENTO LOTAÇÃO EMPREGADO Relacionamento Maio 2014 Banco de Dados - Modelagem Conceitual 13

Diagrama de ocorrências p1 p2 p3 p4 p6 p7 p5 p8 entidade EMPREGADO p1,d1 p2,d1 p4,d2 p5,d3 relacionamento LOTAÇÃO d1 d2 d3 entidade DEPARTAMENTO Carlos A. Heuser Maio 2014 Banco de Dados - Modelagem Conceitual 14

Auto- relacionamento Papéis PESSOA marido esposa CASAMENTO Carlos A. Heuser Maio 2014 Banco de Dados - Modelagem Conceitual 15

Auto- relacionamento: diag. de ocorrências PESSOA p1 p2 p3 p4 p6 p7 p5 p8 marido CASAMENTO esposa marido esposa marido esposa p1,p3 p6,p8 Carlos A. Heuser Maio 2014 Banco de Dados - Modelagem Conceitual 16

Cardinalidade Número de ocorrências de uma en8dade que podem estar associadas através de um relacionamento; Em bancos de dados simples, não se dis8ngue entre valores > 1, representando- os simplesmente como n : 1-1 (um para um); 1- N (um para muitos); N- N (muitos para muitos). Relacionamentos binários DEPARTAMENTO 1 LOTAÇÃO n EMPREGADO Maio 2014 Banco de Dados - Modelagem Conceitual 17

Cardinalidade: exemplos n 1 ALUNO INSCRIÇÃO CURSO n n ENGENHEIRO ALOCAÇÃO PROJETO 1 1 EMPREGADO ALOCAÇÃO MESA Carlos A. Heuser Maio 2014 Banco de Dados - Modelagem Conceitual 18

Cardinalidade: exemplos EMPREGADO supervisor supervisionado 1 n SUPERVISÃO PESSOA 1 1 marido esposa CASAMENTO PRODUTO composto n COMPOSIÇÃO componente n Carlos A. Heuser Maio 2014 Banco de Dados - Modelagem Conceitual 19

Relacionamento ternário CIDADE DISTRIBUIDOR n 1 DISTRIBUIÇÃO n PRODUTO Para cada par (cidade, produto) há 1 distribuidor. Carlos A. Heuser Maio 2014 Banco de Dados - Modelagem Conceitual 20

Cardinalidade mínima Número mínimo de ocorrências de en8dade que são associadas a uma ocorrência de uma en8dade através de um relacionamento; Em bancos de dados simples, são consideradas apenas 2 cardinalidades mínimas: 0 (zero): associação opcional; 1 (um): associação obrigatória. Maio 2014 Banco de Dados - Modelagem Conceitual 21

Cardinalidade mínima EMPREGADO e1 e2 e3 e4 (0,1) ALOCAÇÃO e1,m1 e2,m2 e3,m6 e4,m4 (1,1) MESA m1 m2 m3 m4 m5 m6 Carlos A. Heuser Maio 2014 Banco de Dados - Modelagem Conceitual 22

Exemplo Carlos A. Heuser liberada (0,n) PRÉ-REQUIS DEPARTAMENTO RESPONSÁVEL DISCIPLINA (1,1) (0,n) (0,n) DISC-CURSO (0,n) ALUNO (0,n) INSCRIÇÃO (1,1) CURSO liberadora (0,n) Maio 2014 Banco de Dados - Modelagem Conceitual 23

Atributo Dado ou informação que é associado a cada ocorrência (instância) de uma en8dade ou de um relacionamento; Cardinalidades: Mínima: 0 (opcional) ou 1 (obrigatório); Máxima: 1 (mono- valorado) ou n (mul8valorado). CLIENTE código nome telefone (0,n) PROJETO código nome tipo Maio 2014 Banco de Dados - Modelagem Conceitual 24

Atributo em relacionamento (1,n) (0,n) ENGENHEIRO ATUAÇÃO PROJETO Código Nome Função Código Título nº de parcelas (0,1) (0,n) FINANCEIRA FINANCIAMENTO VENDA taxa de juros Carlos A. Heuser Maio 2014 Banco de Dados - Modelagem Conceitual 25

Atributo iden8ficador da en8dade Conjunto de propriedades (atributos, relacionamentos) de uma en8dade cujos valores servem para dis8nguir uma ocorrência (instância) da en8dade das demais; Cada en8dade deve ter um iden8ficador; PESSOA código nome endereço PRATELEIRA capacidade número do corredor número da prateleira Maio 2014 Banco de Dados - Modelagem Conceitual 26

Relacion. iden8ficador / en8dade fraca código nome número de seqüência nome EMPREGADO (1,1) (0,n) DEPENDENTE Relacionamento identificador Entidade fraca Carlos A. Heuser Maio 2014 Banco de Dados - Modelagem Conceitual 27

Recursão do relacionamento iden8ficador GRUPO código (1,1) (0,n) EMPRESA (1,1) (0,n) FILIAL número da empresa número da filial código + número da empresa código + número da empresa + número da filial Carlos A. Heuser Maio 2014 Banco de Dados - Modelagem Conceitual 28

Relacionamento com atributo iden8ficador (1,n) (0,n) MÉDICO CONSULTA PACIENTE data/hora Duas instâncias de consulta (par médico-paciente) se distinguem pela data/hora da consulta. Carlos A. Heuser Maio 2014 Banco de Dados - Modelagem Conceitual 29

Generalização / especialização Permite atribuir propriedades par8culares a um subconjunto das ocorrências (especializadas) de uma en8dade genérica: FILIAL (1,1) (0,n) CLIENTE nome código Símbolo da generalização / especialização Entidade genérica Entidade especializada (herda propriedades) CIC PESSOA FÍSICA sexo CGC PESSOA JURÍDICA tipo de organização Maio 2014 Banco de Dados - Modelagem Conceitual 30

Estruturado ou orientado a objetos? Estruturado: Modelo entrada processamento saída; Dados separados das funções; Visto na disciplina de PBC. Orientado a Objetos (OO): O mundo é composto por objetos; Objetos combinam dados e funções; Conceitos do problema são modelados como objetos que são associados e interagem entre si. Maio 2014 Banco de Dados - Modelagem Conceitual 31

Estruturado ou orientado a objetos? No estruturado, o gap semân8co é maior, o que frequentemente gera sistemas divceis de manter: As funções tem que conhecer a estrutura dos dados; Mudanças na estrutura dos dados acarreta alteração em todas as funções relacionadas. O paradigma orientado a objetos vem subs8tuindo- o: Melhoria da interação analistas x especialistas; Apoio à reu8lização, extensão, legibilidade; O mundo é composto por objetos... Importância da consistência entre os modelos. Maio 2014 Banco de Dados - Modelagem Conceitual 32

Conceitos OO: abstração Modelos mentais : visão simplificada do mundo construída por cada um em cada situação; Abstrair consiste em ignorar aspectos irrelevantes e concentrar nos principais. Maio 2014 Banco de Dados - Modelagem Conceitual 33

Conceitos OO: encapsulamento Separar os aspectos externos (o que faz) dos aspectos internos (como faz): Aspectos externos = interface, contrato; Aspectos internos = implementação. Maio 2014 Banco de Dados - Modelagem Conceitual 34

Conceitos OO: modularidade Decomposição do sistema em módulos: Coesos (baixo acoplamento); Autônomos; De interface simples e coerente. Fundamental para o reuso e extensão. Maio 2014 Banco de Dados - Modelagem Conceitual 35

Conceitos OO: hierarquia É uma forma de arrumar as abstrações e simplificar o entendimento do problema; Também promovem o reuso; Sinergia para administrar a complexidade: Abstração auxilia a iden8ficar os conceitos relevantes do mundo real; Encapsulamento oculta a visão interna das abstrações iden8ficadas; Modularidade nos dá um meio de agrupar logicamente abstrações relacionadas; Por fim, abstrações formam hierarquias. Maio 2014 Banco de Dados - Modelagem Conceitual 36

Conceitos OO: objetos Um objeto é uma en8dade que incorpora uma abstração relevante no contexto de uma aplicação ; Podem ser coisas abstratas (ex.: uma reserva de passagem aérea) ou concretas (ex.: um documento). Maio 2014 Banco de Dados - Modelagem Conceitual 37

Conceitos OO: classes Uma classe descreve um conjunto de objetos com as mesmas propriedades, o mesmo comportamento, os mesmos relacionamentos com outros objetos e a mesma semân8ca; Similar ao conceito de 8po. Casa " Cor; " Número; " Abrir Porta; " Fechar Porta; " Arquiteto. # 15 45 70 Maio 2014 Banco de Dados - Modelagem Conceitual 38

Conceitos OO: classes e instâncias Objeto = Instância de classe; Paradigma OO norteia o desenvolvimento por meio de classificação de objetos: Modelamos classes, e não objetos; Objetos são en8dades reais executam algum papel no sistema; Classes são abstrações capturam a estrutura e comportamento comum a um conjunto de objetos. Maio 2014 Banco de Dados - Modelagem Conceitual 39

Mecanismos de estruturação OO Objetos relacionam- se uns com os outros; É preciso modelar esta complexidade e estruturar as classes; Mecanismos propostos: Associação; Composição; Herança. Maio 2014 Banco de Dados - Modelagem Conceitual 40

Conceitos OO: ligações e associações Ligação: conexão entre objetos; Associação: conexão entre classes que representa a existência de ligações; Uma associação descreve um conjunto de potenciais ligações da mesma maneira que uma classe descreve um conjunto de potenciais objetos [Rumbaugh]. Habitantes Cão de Guarda 41 Classe: Pessoa Classe: Casa Classe: Cachorro Maio 2014 Banco de Dados - Modelagem Conceitual 41

Conceitos OO: herança Generalização: quando classes têm semelhanças podemos definir uma classe mais geral; Especialização: muitas vezes um conceito pode ser refinado, adicionando- se novas caracterís8cas. Estudante Nome Universitario EstudanteEnsinoMedio Matrícula Série EstudanteGraduacao Curso EstudanteMestrado Orientador Maio 2014 Banco de Dados - Modelagem Conceitual 42

O diagrama de classes da UML Classe Abstrata Herança Classe Associativa Nome Atributos Operações Associação (e suas cardinalidades) Agregação Classe Representa as classes relevantes (abstração!) para o domínio, problema ou solução. Maio 2014 Banco de Dados - Modelagem Conceitual 43

Representação de classes Representação em UML Nome da Classe <Lista de atributos> <Lista de operações> Se estiver em itálico, a classe é abstrata. Sintaxe: <escopo> <nome> : <tipo> = <valor default> Escopo: - privado + público # protegido Sintaxe: <escopo> <nome> (<parâmetros>) : <tipo> <parâmetros> = lista de pares <nome> : <tipo>, separada por vírgula. Dependendo do nível de abstração, alguns detalhes podem ser omitidos (ex.: tipo e escopo na fase de análise). Maio 2014 Banco de Dados - Modelagem Conceitual 44

Herança (inheritance) Devem modelar relações é- um- 8po- de ; Subclasses devem suportar toda a funcionalidade das superclasses e possivelmente mais; Funcionalidade comum a diversas classes deve estar o mais alto possível na hierarquia; Classes abstratas não podem herdar de classes concretas. Especialização Generalização Maio 2014 Banco de Dados - Modelagem Conceitual 45

Separação em subsistemas / módulos Projetos grandes podem conter centenas de classes e estruturas diversas; Divisão das classes em pacotes: Coleção de classes que colaboram entre si; Conjunto coeso de responsabilidades; Caixa preta. Vantagens: Facilita o entendimento para leitores; Auxilia na organização de grupos de trabalho; Organiza a documentação; Em suma, facilita a manutenção. Maio 2014 Banco de Dados - Modelagem Conceitual 46

Pacotes (packages) Podem ser usados para organizar diversos 8pos de elementos de modelos, inclusive diagramas inteiros; Muito u8lizados para organizar classes em módulos, da mesma forma que será feito em Java/C++; É possível representar relação de dependência entre pacotes: Maio 2014 Banco de Dados - Modelagem Conceitual 47

Associações (associa8ons) Relacionamento entre classes é representado por associações, agregações e composições; Associações podem indicar cardinalidade (cardinality): Objetos da ClasseA podem se relacionar com no mínimo zero e no máximo três objetos da ClasseB. Um e somente um. Nenhum, um, ou vários. Maio 2014 Banco de Dados - Modelagem Conceitual 48

Papéis (roles) Indicam o papel que a classe desempenha na associação (são usados substan8vos); É opcional, usado quando melhora o entendimento do modelo; Sintaxe: <escopo> <nome>. Maio 2014 Banco de Dados - Modelagem Conceitual 49

Classes associa8vas (associa8on class) U8lizadas quando a associação possui atributos; Comuns em relações n- para- n. Maio 2014 Banco de Dados - Modelagem Conceitual 50

Relacionamentos recursivos Perfeitamente legais; Geralmente pedem definição de papéis. Maio 2014 Banco de Dados - Modelagem Conceitual 51

Associações n- árias Associações entre três ou mais classes; Extremamente raras, muitas vezes as ferramentas CASE nem dão suporte; Podem ser subs8tuídas por uma nova classe e N associações. Maio 2014 Banco de Dados - Modelagem Conceitual 52

Agregação e composição Representam associações todo- parte; Adicionam um losango à sintaxe, na extremidade da classe que representa o todo: Maio 2014 Banco de Dados - Modelagem Conceitual 53

Atributos (aoributes) Atributos são informações de estado (propriedades) para o qual cada objeto em uma classe tem seu valor; Muito similares às associações: Como atributos têm um 8po, podemos considerar que são associações com um 8po; Para 8pos primi8vos definimos atributos, do contrário modelamos uma associação; Em úl8ma instância, associações e atributos são implementados da mesma forma; Atributos e associações definem uma classe. Maio 2014 Banco de Dados - Modelagem Conceitual 54

Especificação de atributos Escolha um nome com significado; Siga um padrão de nomenclatura; Inclua- o na modelagem de classes: Maio 2014 Banco de Dados - Modelagem Conceitual 55

Atributos e hierarquias de classe Atenção à hierarquias de classes: Atributos genéricos ficam mais acima na hierarquia; Por outro lado, se ele não se aplica a algumas subclasses, deve ser trazido para baixo, somente para as classes apropriadas. Revisão da hierarquia: Descoberta de atributos nos leva a um melhor entendimento, o que possivelmente implicará revisão de hierarquias. Maio 2014 Banco de Dados - Modelagem Conceitual 56

O modelo conceitual Representa os elementos do mundo real; Desconsidera preocupações tecnológicas (ex.: 8pos dos dados): Maio 2014 Banco de Dados - Modelagem Conceitual 57

Dos casos de uso ao modelo conceitual Maio 2014 Banco de Dados - Modelagem Conceitual 58

Dos casos de uso ao modelo conceitual Maio 2014 Banco de Dados - Modelagem Conceitual 59

h*p://nemo.inf.ufes.br/ Maio 2014 Banco de Dados - Modelagem Conceitual 60