Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelagem de Dados MODELAGEM DE DADOS Projeto de Banco de Dados Modelo Conceitual Profa. Rosemary Melo Modelagem de Dados PROJETO DE BANCO DE DADOS OBJETIVOS Gerar um banco de dados que permita armazenar informações sem redundância e recuperá-las com facilidade. O projeto cuidadoso de um banco de dados é algo obrigatório que não pode ser negligenciado ou deixado nas mãos de quem não tem conhecimento técnico para tal. Modelagem de Dados PROJETO DE BANCO DE DADOS Mini Mundo: parcela do mundo real de interesse do usuário. Equivale ao Domínio do Problema. Tudo o que está fora do mini-mundo é irrelevante no momento. Mecanismo de Abstração: processo através do qual o ser humano “foca” algumas propriedades (características) de fenômenos da realidade e se abstrai (não considera) de outras propriedades não relevantes. Modelagem de Dados PROJETO DE BANCO DE DADOS PRINCIPAIS ETAPAS Modelagem de Dados em Três Níveis Modelo Conceitual: • Descreve a realidade do ambiente do problema, constituindo-se em uma visão global dos principais dados e relacionamentos. • Nesta etapa o projetista de banco de dados deve se concentrar na especificação das propriedades dos dados, sem se preocupar com os detalhes de armazenamento dos mesmos. • Atualmente o Modelo de Dados Conceitual mais difundido e utilizado para a modelagem de dados é o Modelo de Entidade e Relacionamento Modelagem de Dados PROJETO DE BANCO DE DADOS PRINCIPAIS ETAPAS Modelagem de Dados em Três Níveis Modelo Lógico: • Descreve as estruturas que estarão contidas no banco de dados, de acordo com o tipo particular de SGBD, mas sem considerar, ainda, nenhuma característica específica de um SGBD. • Transforma um modelo de dados de alto nível em um modelo de dados voltado para um SGBD específico. • O modelo mais difundido devido ao predomínio do SGBDR é o modelo de tabelas baseado no modelo de dados relacional. Modelagem de Dados PROJETO DE BANCO DE DADOS PRINCIPAIS ETAPAS Modelagem de Dados em Três Níveis Modelo Físico: • Descreve as estruturas físicas de armazenamento de dados (tais como: tamanho de campos e tipo de preenchimento) e os métodos de indexação mais adequados, projetados de acordo com os requisitos de processamento e uso mais eficiente dos recursos computacionais. • É a implementação do modelo lógico em um determinado SGBD. Modelagem de Dados PROJETO DE BANCO DE DADOS Vantagens e resultados • Representar um ambiente observado. • Servir de instrumento para comunicação. • Favorecer o processo de verificação e validação. • Servir como referencial para a geração das estruturas de dados. • Estabelecer conceitos únicos a partir de visões diversas. Modelagem de Dados MODELO CONCEITUAL Modelagem de Dados MODELO CONCEITUAL A ABORDAGEM ENTIDADE-RELACIONAMENTO (E-R) • Apresentado por Peter Cher em 1976. Baseada no princÍpio que a torna completa e inquestionável: • “Observamos, manipulamos, reproduzimos ou simulamos coisas, seus relacionamentos e características e, portanto, assim devemos representá-las”. • O que seria uma possível abordagem, tornou-se um referencial definitivo. • Apresenta uma técnica de diagramação simples: Diagrama Entidade- Relacionamento (DER). • Notações: • Peter Chen; • Pé-de-galinha (Engenharia da Informação) • IDEF1X (US Air Force). Modelagem de Dados MODELO CONCEITUAL A ABORDAGEM ENTIDADE-RELACIONAMENTO (E-R) NOTAÇÕES Peter Chen Departamento Empregado DepartamentoDependente Projeto Fornecedor Peça emprega Trabalha em gerencia forneceutiliza gerenciatem QTD F# FNOME STATUS CIDADE EMP# ENOME PRIMEIRO ULTIMO SALARIO 1 M M M M M M M M M M 1 1 Modelagem de Dados MODELO CONCEITUAL A ABORDAGEM ENTIDADE-RELACIONAMENTO (E-R) NOTAÇÕES Pé-de-galinha Modelagem de Dados MODELO CONCEITUAL NOTAÇÕES IDEF1X (US Air Force) A ABORDAGEM ENTIDADE-RELACIONAMENTO (E-R) Modelagem de Dados MODELO CONCEITUAL E SEUS COMPONENTES ENTIDADES • Objeto que existe no mundo real com uma identificação distinta e com um significado próprio. Ex.: Mini-Mundo: Sistema de Matrícula Entidades: Aluno, Professor, Disciplina ATRIBUTOS • Informações “úteis” a respeito de uma entidade ou relacionamento. Ex.: Entidade: Aluno Atributos: Matrícula, Nome, TelContato, Endereço, Email RELACIONAMENTO • Associação entre uma ou várias entidades. Ex.: Relacionamento: Aluno cursa Disciplina Modelagem de Dados EXERCÍCIO Identifique as entidades, atributos e relacionamentos existentes no mini mundo descrito a seguir: Suponha que estamos fazendo a análise de dados da área de Recursos Humanos da empresa ABC e tenhamos obtido as seguintes informações: Cada funcionário é lotado em um departamento e tem um cargo de carreira. Para o cadastramento do funcionário. são registrados: nome, endereço, telefone, cargo, departamento, salário, horário, filiação, idade, CPF, identidade e nacionalidade. Para cada dependente do funcionário, são registrados: nome, idade, parentesco e sexo. Para cada departamento, deseja-se saber: nome, sigla, nome do chefe, número de funcionários. Para cada cargo, deseja-se saber: nome, sigla e salário base. MODELO CONCEITUAL E SEUS COMPONENTES Modelagem de Dados Modelagem de Dados MODELO CONCEITUAL ENTIDADES - REPRESENTAÇÃO • Objeto que existe no mundo real com uma identificação distinta e com um significado próprio. • A representação se realiza através de um retângulo, com o nome desta entidade em seu interior. Modelagem de Dados MODELO CONCEITUAL ATRIBUTOS - REPRESENTAÇÃO • Informações “úteis” a respeito de uma entidade ou relacionamento. • A representação se realiza através de uma elipse, com o nome do atributo no seu interior. REPRESENTAÇÃO Tipos de Atributos: -Atributo Simples -Atributo Determinante ou Identificador -Atributo Composto -Atributo Multivalorado -Atributos Derivado Modelagem de Dados MODELO CONCEITUAL ATRIBUTOS - REPRESENTAÇÃO Atributo Determinante ou Identificador. Seu valor representa um elemento da entidade. Seu valor é único para a entidade. Atributo Composto. Pode ser dividido em sub-atributos, para que seu significado seja melhor compreendido. Modelagem de Dados MODELO CONCEITUAL ATRIBUTOS - REPRESENTAÇÃO Atributo Multivalorado. • Pode assumir mais do que um valor para cada entidade. Atributos Derivado. • Seu valor pode ser obtido a partir de outros atributos. Modelagem de Dados MODELO CONCEITUAL • ATIVIDADE - Identifique qual os tipos de atributos no modelo ao lado . Modelagem de Dados MODELO CONCEITUAL RELACIONAMENTOS - REPRESENTAÇÃO • O fato ou acontecimento que liga dois objetos, duas “coisas” existentes no mundo real. • Associação entre entidades. • Estão intimamente ligados às ações realizadas pelos processos sobre os dados e representam os caminhos de navegação ou rotas de acesso do Modelo de Dados. • A representação se realiza através de um losângulo, com o verbo do relacionamento em seu interior. Ex.: Cliente faz empréstimo. Modelagem de Dados MODELO CONCEITUAL RELACIONAMENTOS Grau do Relacionamento • Um Relacionamento pode envolver duas ou mais Entidades. • O Grau do Relacionamento é determinado pelo número de Entidades envolvidas: Relacionamentos Binários: envolvem apenas duas entidades. Relacionamentos Ternários (N-ários): envolvem três ou mais entidades. Relacionamento ternárioRelacionamento binário Modelagem de Dados MODELO CONCEITUAL RELACIONAMENTOS Cardinalidade do Relacionamento • Identifica quantas vezes cada instância de uma entidade pode participar do relacionamento.• Cardinalidade Máxima é representada pelos símbolos 1 ou N (ou M). • Cardinalidade Mínima é representada pelos símbolos 0 ou 1. Modelagem de Dados MODELO CONCEITUAL RELACIONAMENTOS Cardinalidade máxima para relacionamentos binários: 1:1 - Um para Um. 1:N - Um para Muitos. M:N - Muitos para Muitos. Modelagem de Dados MODELO CONCEITUAL RELACIONAMENTOS Cardinalidade máxima para relacionamentos ternários: Exemplo: Escolha uma Entidade, por exemplo ALUNO, e pergunte: Quantos Alunos eu tenho, para cada par Professor-Disciplina? Escolha outra Entidade, por exemplo PROFESSOR, e pergunte: Quantos Professores eu tenho, para cada par Aluno-Disciplina? Escolha outra Entidade, por exemplo DISCIPLINA, e pergunte:Quantas Disciplinas eu tenho, para cada par Aluno-Professor? Modelagem de Dados MODELO CONCEITUAL RELACIONAMENTOS Cardinalidade Mínima é representada pelos símbolos 0 ou 1. Relacionamentos Condicionais (0): nem todos os elementos de uma entidade estão ligados com elementos de uma outra entidade. Relacionamentos Incondicionais (1): todos os elementos de uma entidade estão obrigatoriamente ligados a um elemento, no mínimo, da outra entidade. Modelagem de Dados MODELO CONCEITUAL ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS Auto-relacionamento: ocorre quando uma instância de uma Entidade, se relaciona com outra(s) instância(s) da mesma Entidade. Atributos de Relacionamento: Atributos de Relacionamento: Modelagem de Dados MODELO CONCEITUAL ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS Entidade Fraca: ocorre caso cada instância de uma entidade (Fraca) exista somente porque está associada a outra instância de uma outra entidade (Forte). Dependência de existência de outra entidade • Se uma instância da entidade a quem ela depende for excluída, ela será excluída também. Modelagem de Dados MODELO CONCEITUAL ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS Generalização e Especialização Utilizada quando ocorrer uma situação onde: • Uma entidade possui atributos que não fazem parte de todas as instâncias da entidade. • Quando as instâncias de uma entidade se relacionarem de maneira diferente com outras entidades. Modelagem de Dados MODELO CONCEITUAL ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS Generalização e Especialização Tipos: Exclusiva ou Compartilhada • Exclusiva uma instância pode ser membro de no máximo um subtipo. Exemplo: Um empregado só pode ser horista ou assalariado. • Compartilhada uma instância pode ser membro de mais de um subtipo Exemplo: Um empregado pode exercer uma ou mais função (engenheiro, supervisor, gerente, etc) na empresa. Modelagem de Dados MODELO CONCEITUAL Generalização e Especialização Tipos: Totalidade e Parcialidade Totalidade cada instância da superclasse deve ser um membro de alguma subclasse. Parcialidade uma instância de uma superclasse pode não ser membro de nenhuma subclasse. ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS Modelagem de Dados MODELO CONCEITUAL Entidade Associativa Tipo particular de entidade usada para eliminar os relacionamentos N:M. ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS Modelagem de Dados MODELO CONCEITUAL Agregação • Uma restrição do Modelo E-R é que não podemos expressar relacionamentos entre relacionamentos. • Agregação é uma abstração através da qual relacionamentos são tratados como entidades de nível superior. ATENÇÃO: Agregação não é um Relacionamento Ternário. ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS Modelagem de Dados Exercício • Considere o cenário abaixo e elabore o diagrama de entidades e relacionamentos correspondente Um restaurante deseja desenvolver um sistema para controle de vendas de comidas e bebidas. Quando o cliente chega ao restaurante é recepcionado por um garçom e conduzido a uma mesa. Neste momento o garçom abre a conta da mesa e começa a lançar os pedidos do cliente. Os pedidos são sempre consumo de produtos que podem ser bebidas ou comida. Existem produtos que estão em promoção então são oferecidos ao cliente quando ele consome outro produto (ex. na compra de uma rosca ganhe outra). Ao final do serviço, o garçom encerra a conta e o sistema calcula o valor. É acrescida na conta o valor correspondente a comissão do garçom. O sistema deverá fornecer o faturamento do restaurante em um dia e um relatório com a comissão a ser paga para cada garçom no dia. Modelagem de Dados MODELO CONCEITUAL REGRAS PARA DETERMINAÇÃO DE CHAVES DE IDENTIFICAÇÃO • Toda entidade deve ter um atributo identificador denominado de chave de identificação. • A chave de identificação (chave primária ) de uma entidade deve ter sempre algum valor, não nulo, para cada instância da entidade. • O valor da chave de identificação de cada instância deve ser único dentro da entidade. • Chave de Identificação Composta é formada por mais de um atributo e ocorre normalmente quando se tem Dependência de Existência. • Dependência de existência : as instâncias de uma entidade só podem ser identificadas em função da identificação de uma outra instância de uma outra entidade. • Dica: Evitar chaves compostas sempre que possível Modelagem de Dados MODELO CONCEITUAL Integridade de Entidade Toda instância de uma entidade possui um valor para chave de identificação própria da entidade. O valor da chave de identificação própria para uma instância é único dentro da entidade. O valor da chave de identificação própria de uma instância não pode ser modificado. REGRAS PARA DETERMINAÇÃO DE CHAVES DE IDENTIFICAÇÃO Modelagem de Dados MODELO CONCEITUAL CHAVE DE IDENTIFICAÇÃO PRÓPRIA (SURROGATE) • Criada para cada entidade • Identifica univocamente cada instância da entidade. NÃO precisa ser percebida pelos usuários NÃO é controlada pelos usuários NÃO é de preocupação dos usuários • Surrogates não são reutilizáveis. REGRAS PARA DETERMINAÇÃO DE CHAVES DE IDENTIFICAÇÃO Modelagem de Dados MODELO CONCEITUAL Representação de associações entre entidades é complicada quando se tem chaves compostas. Ex.: Departamento (Número da Diretoria, Número da Superintendência, Número do Departamento, Sigla, Nome) Ex.: Empregado (Matrícula, Nome, Data de Admissão, Número da Diretoria de Lotação, Número da Superintendência de Lotação, Número do Departamento de Lotação) Representação de associações entre entidades é simplificada se é usado surrogates Ex.: Departamento (Código do Departamento, Sigla, Nome, Código da Superintendência) Ex.: Empregado (Matrícula, Nome, Data de Admissão, Código do Departamento de lotação) REGRAS PARA DETERMINAÇÃO DE CHAVES DE IDENTIFICAÇÃO Modelagem de Dados MODELO CONCEITUAL Representação de associações entre entidades com chave composta: Ex.: Nota Fiscal (Número da Nota Fiscal, Série da Nota Fiscal, Código do Cliente, Código da Natureza da Operação) Ex.: Item de Nota Fiscal ( Número da Nota Fiscal, Número do Item da Nota Fiscal, Número da Linha, Código da Peça, Quantidade Vendida, Valor Unitário) Representação de associações entre entidades com surrogates: Ex.: Nota Fiscal (Identificação da Nota Fiscal, Número da Nota Fiscal, Série da Nota Fiscal, Código do Cliente, Código da Natureza da Operação) Ex.: Item de Nota Fiscal ( Identificação do Item da Nota Fiscal, Identificação da Nota Fiscal associada, Número da Linha, Código da Peça, Quantidade Vendida, Valor Unitário) REGRAS PARA DETERMINAÇÃO DE CHAVES DE IDENTIFICAÇÃO Modelagem de Dados MODELO CONCEITUAL VERIFICAÇÃO DO MODELO ER 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 mpregadospara modelar a realidade em questão. Pode-se distinguir entre dois tipos de erros, os erros sintáticos e os erros semânticos. Erros sintáticos ocorrem quando o modelo não respeita as regras de construção de um modelo ER. Exemplo: associar relacionamentos a outros relacionamentos. Erros semânticos ocorrem quando o modelo, apesar de obedecer as regras de construção de modelos ER (estar sintaticamente correto) reflete a realidade de forma inconsistente. Modelagem de Dados MODELO CONCEITUAL Modelo deve ser correto Exemplos de erros semânticos: Estabelecer associações incorretas. Um exemplo é associar a uma entidade um atributo que na realidade pertence a outra entidade. Por exemplo, em um modelo com entidades CLIENTE e FILIAL, associar a CLIENTE o nome da filial com o qual o cliente trabalha usualmente (nome de filial é um atributo de FILIAL). Usar uma entidade do modelo como atributo de outra entidade. Um exemplo seria ter, em um modelo, uma entidade BANCO e usar banco como atributo de uma outra entidade CLIENTE. Cada objeto da realidade modelada deve aparecer uma única vez no modelo ER. Usar o número incorreto de entidades em um relacionamento Um exemplo é o de fundir em um único relacionamento ternário dois relacionamentos binários independentes VERIFICAÇÃO DO MODELO ER Modelagem de Dados MODELO CONCEITUAL MODELOS EQUIVALENTES • De maneira informal, diz-se que dois modelos são equivalentes, quando expressam o mesmo, ou seja quando modelam a mesma realidade. • Para fins de projeto de BD, dois modelos ER são equivalentes, quando ambos geram o mesmo esquema de BD. • Para entender perfeitamente este conceito de equivalência de modelos, o leitor deve conhecer as regras de tradução de modelo ER para modelo relacional. Modelagem de Dados MODELO CONCEITUAL Relacionamento m:n versus uma entidade + 2 Relacionamentos 1:n. MODELOS EQUIVALENTES Modelagem de Dados MODELO CONCEITUAL Relacionamento m:n da agregação versus uma entidade + 2 Relacionamentos 1:n. MODELOS EQUIVALENTES Modelagem de Dados MODELO CONCEITUAL Atributo multi-valorado versus uma entidade. •“Lançamento pagamento” e “dependentes” possuem outras informações (atributos) ainda não representadas no modelo. MODELOS EQUIVALENTES Modelagem de Dados MODELO CONCEITUAL INDICATIVOS PARA A ESCOLHA DE CONSTRUÇÕES DE MODELAGEM Atributo versus entidade. Exemplo: em uma indústria de automóveis, como devemos registrar a cor de cada automóvel que sai da linha de produção? Alguns critérios para esta decisão são: Caso o objeto cuja modelagem está em discussão esteja vinculado a outros objetos (atributos, relacionamentos, entidades genéricas ou especializadas), o objeto deve ser modelado como entidade. Quando o conjunto de valores de um determinado objeto é fixo durante toda a vida do sistema ele pode ser modelado como atributo. (ex.: atributo sexo) Quando existem transações no sistema que alteram o conjunto de valores do objeto, o mesmo não deve ser modelado como atributo. Modelagem de Dados MODELO CONCEITUAL Atributo versus generalização/especialização. Exemplo: a categoria funcional de cada empregado de uma empresa deve ser modelada como atributo da entidade ou através de uma especialização (cada categoria funcional corresponde a uma especialização da entidade empregado)? Alguns critérios para esta decisão são: • Uma especialização deve ser usada quando sabe-se que as classes especializadas de entidades possuem propriedades (atributos, relacionamentos,generalizações, especializações) particulares. • O sexo do empregado é melhor modelado como atributo de empregado, caso não existam propriedades particulares de homens e mulheres a modelar na realidade considerada. INDICATIVOS PARA A ESCOLHA DE CONSTRUÇÕES DE MODELAGEM Modelagem de Dados Exercício • Considere um banco que possui vários correntistas. Cada correntista pode ter diversas contas correntes. Existem contas que são conjuntas, (dois correntistas, sendo um deles o titular da conta). Para estas contas são realizadas transações ao longo do tempo, tais como: saque caixa, deposito caixa, transferencia caixa, compensação de cheque. Toda e qualquer transação realizada fica armazenada no banco e pode modificar o saldo da conta. Devido a quantidade de transações realizadas diariamente pelos correntistas, a emissão de estrato fica disponível por até 3 meses. Após esta data precisam ser solicitadas na agência e são emitidos pelo gerente, pois os dados da conta são retirados no banco de dados diário do banco e guardados em outro local. • Correntistas que tem suas contas desativadas e encerradas não sem seu cadastro excluído, eles ficam guardados também em outro local. • Construa um modelo conceitual que atenda a este cenário.
Compartilhar