BANCO DE DADOS Bacharelado em Sistemas de Informação MODELAGEM DE DADOS Profº Luciano Roberto Rocha Itararé, 2º período CONCEITOS MODELO ENTIDADE RELACIONAMENTO Entidade Relacionamento Atributos Cardinalidade LUCIANO ROCHA 2 www.lrocha.com MODELAGEM DE DADOS Modelar significa criar um modelo que explique as características de funcionamento e comportamento de um software a partir do qual ele será criado; É usado para facilitar seu entendimento e seu projeto, através da representação das características principais que evitarão erros de programação e funcionamento. Os modelos de dados são ferramentas que permitem demonstrar como serão construídas as estruturas de dados que darão suporte aos processos de negócio, como esses dados estarão organizados e quais os relacionamentos que pretendemos estabelecer entre eles. LUCIANO ROCHA 3 www.lrocha.com POR QUE MODELAR? Representar o ambiente observado Documentar e normalizar Fornecer processos de validação Observar processos de relacionamentos entre objetos LUCIANO ROCHA 4 www.lrocha.com FASES DA MODELAGEM Modelo conceitual Modelo lógico Modelo físico LUCIANO ROCHA 5 www.lrocha.com MODELO CONCEITUAL Baseia-se no mais alto nível e deve ser usada para envolver o cliente, pois o foco aqui é discutir os aspectos do negócio do cliente e não da tecnologia. São mais fáceis de compreender, já que não há limitações ou aplicação de tecnologia específica. LUCIANO ROCHA 6 www.lrocha.com MODELO LÓGICO Já leva em conta algumas limitações e implementa recursos como adequação de padrão e nomenclatura, define as chaves primárias e estrangeiras, normalização, integridade referencial, entre outras. Deve ser criado levando em consideração as estruturas de dados definidas no modelo conceitual. LUCIANO ROCHA 7 www.lrocha.com MODELO FÍSICO Inclui a análise das características e recursos necessários para armazenamento e manipulação das estruturas de dados (estrutura, endereçamento, acesso e alocação física). Permite ser traduzido em uma sequência de comandos SQL a fim de criar as estruturas e ligações que irão receber os dados. LUCIANO ROCHA 8 www.lrocha.com ENTIDADE Uma entidade é uma abstração genérica de qualquer objeto ou conceito existente no mundo real, representada em um sistema com o propósito de armazenar dados. ENTIDADE As entidades são representadas por retângulos no MER LUCIANO ROCHA 9 www.lrocha.com RELACIONAMENTO São associações entre uma ou várias entidades. Representam o envolvimento entre as instâncias dos conjuntos. RELACIONAMENTO Os relacionamentos são representados por losangos no MER LUCIANO ROCHA 10 www.lrocha.com ATRIBUTOS Um atributo é uma propriedade que identifica uma característica da entidade. Os atributos e seus conjuntos de valores descrevem as instâncias de uma entidade formando uma tupla ou registro. Chama-se Domínio o conjunto de valores possíveis do atributo. LUCIANO ROCHA 11 www.lrocha.com TIPOS DE ATRIBUTOS Os atributos podem ser dos seguintes tipos: simples; compostos; ATRIBUTO monovalorados; Os atributos são representados por elipses no MER multivalorados; nulos; derivados. LUCIANO ROCHA 12 www.lrocha.com ATRIBUTO SIMPLES Os atributos simples não podem ser divididos, são atômicos. Por exemplo: Simples CPF, idade, quantidade, sexo. LUCIANO ROCHA 13 www.lrocha.com ATRIBUTO COMPOSTO podem ser divididos em partes (ou seja, podem ser quebrados em outros atributos mais simples/ elementares). Composto Composto Por exemplo: Composto endereço, nome, salário. LUCIANO ROCHA 14 www.lrocha.com ATRIBUTO MONOVALORADO possuem apenas um valor por entidade. Por exemplo: Monovalorado o atributo CPF de uma entidade Cliente refere-se apenas a um nº de CPF. LUCIANO ROCHA 15 www.lrocha.com ATRIBUTO MULTIVALORADO podem possuir um conjunto de valores para uma única entidade. Multivalorado Por exemplo: Telefone: um cliente pode ter cadastrado um, nenhum ou vários telefones. LUCIANO ROCHA 16 www.lrocha.com ATRIBUTO NULO é usado quando uma entidade não possui valor para um determinado atributo. Nulo significa que o valor do atributo é vazio (não-aplicável) ou ainda não foi informado (desconhecido). [ nulo ] Por exemplo: Nº reservista, complemento de endereço, nº de dependentes. LUCIANO ROCHA 17 www.lrocha.com ATRIBUTO DERIVADO o valor desse tipo de atributo pode ser derivado de outros atributos ou entidades a ele relacionados. atributos derivados podem ser calculados ou obtidos de outros atributos Por exemplo: Derivado Idade, Quantidade de funcionários no setor, Preço (custo + margem de lucro) LUCIANO ROCHA 18 www.lrocha.com CARDINALIDADE A Cardinalidade indica quantas ocorrências de uma Entidade participam do relacionamento. Cardinalidade Mínima - define se o relacionamento entre duas entidades é obrigatório ou não. Cardinalidade Máxima - define a quantidade máxima de ocorrências da Entidade que pode participar do Relacionamento. Deve ser maior que zero. LUCIANO ROCHA 19 www.lrocha.com CARDINALIDADE MÍNIMA Opcional País Estado Obrigatória Um país possui no mínimo ZERO estados (Existem países que não possuem estados. Ex: Vaticano) Um estado pertence pelo menos a UM País. 20 CARDINALIDADE MÁXIMA País Estado Um país possui VÁRIOS estados (Um ou Mais de Um estado) 21 CARDINALIDADE Mínima PAÍS Máxima (1,1) TEM Mínima (0,N) Máxima ESTADO No Modelo Entidade Relacionamento as cardinalidade são representadas ao lado das entidades 22 CARDINALIDADE 1:1 Cardinalidade Máxima (UM para UM): Representa uma relação unívoca ou seja uma instância da entidade A se relaciona com apenas uma instância da entidade B e vice-versa. HOMEM ( ,1) CASADO ( ,1) MULHER Um homem é casado com apenas uma mulher e uma mulher é casada com apenas um homem 23 CARDINALIDADE GERENTE COORDENA 24 SETOR CARDINALIDADE 1:N Cardinalidade Máxima (UM para MUITOS): A mais comum uma instância da entidade A pode se relacionar com uma ou várias instâncias da entidade B mas a instância da entidade B só poderá relacionar-se com apenas Uma instância da entidade A. CLIENTE ( ,1) FAZ ( ,N) Um cliente pode fazer vários pedidos mas um pedido pode ser feito por um único cliente 25 PEDIDO CARDINALIDADE VETERINÁRIO TRATA 26 ANIMAL CARDINALIDADE N:N Cardinalidade Máxima (MUITOS para MUITOS): Uma instância da entidade A pode se relacionar com uma ou várias instâncias da entidade B e vice-versa AUTOR ( ,N) ESCREVE ( ,N) Um autor pode escrever vários livros e um livro pode ter vários autores 27 LIVRO CARDINALIDADE ATOR INTERPRETA 28 PERSONAGEM