Post on 13-Jun-2021
Modelagem de Dados
MODELAGEM DE DADOS
Projeto de Banco de DadosModelo Conceitual
Profa. Rosemary Melo
Modelagem de Dados
PROJETO DE BANCO DE DADOS
OBJETIVOS
Gerar um banco de dados que permita armazenarinformações sem redundância e recuperá-las com facilidade.
O projeto cuidadoso de um banco de dados é algoobrigatório que não pode ser negligenciado ou deixado nasmãos de quem não tem conhecimento técnico para tal.
Modelagem de Dados
PROJETO DE BANCO DE DADOS
Mini Mundo: parcela do mundo realde interesse do usuário. Equivale aoDomínio do Problema. Tudo o queestá fora do mini-mundo éirrelevante no momento.
Mecanismo de Abstração:processo através do qual o serhumano “foca” algumaspropriedades (características) defenômenos da realidade e seabstrai (não considera) de outraspropriedades 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 umavisão global dos principais dados erelacionamentos.
• Nesta etapa o projetista de banco dedados deve se concentrar naespecificação das propriedades dosdados, sem se preocupar com osdetalhes de armazenamento dosmesmos.
• Atualmente o Modelo de DadosConceitual mais difundido e utilizadopara a modelagem de dados é oModelo 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, deacordo com o tipo particular deSGBD, mas sem considerar, ainda,nenhuma característica específicade um SGBD.
• Transforma um modelo de dadosde alto nível em um modelo dedados voltado para um SGBDespecífico.
• O modelo mais difundido devidoao predomínio do SGBDR é omodelo de tabelas baseado nomodelo 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 (taiscomo: tamanho de campos e tipode preenchimento) e os métodosde indexação mais adequados,projetados de acordo com osrequisitos de processamento e usomais eficiente dos recursoscomputacionais.
• É a implementação do modeloló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ÇÕESPeter-Chen
Modelagem de Dados
MODELO CONCEITUAL
A ABORDAGEM ENTIDADE-RELACIONAMENTO (E-R)
NOTAÇÕESPé-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 minimundo descrito a seguir:
Suponha que estamos fazendo a análise de dados da área de RecursosHumanos da empresa ABC e tenhamos obtido as seguintes informações:
Cada funcionário é lotado em um departamento e tem um cargo decarreira. 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ãoregistrados: nome, idade, parentesco e sexo. Para cada departamento,deseja-se saber: nome, sigla, nome do chefe, número de funcionários. Paracada 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ÇÃOTipos 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
EXERCÍCIO - DESCRIÇÃO DE UM PROBLEMA (DOMÍNIO-RH DE UMA EMPRESA)
• O setor de RH de uma determinada empresa pretende elaborar umbanco de dados para manter as seguintes informações referente a estesetor: Os dados sobre cada empregado como: matrícula, nome, cpf,
salário, endereço, telefone para contato, salário, dependentes, etc. Os dados sobre cada dependente como: nome, idade e grau de
parentesco. Os dados sobre cada departamento como: código do departamento,
nome e empregados pertencentes a cada departamento. Os dados sobre cada projeto realizado na empresa como : nome do
projeto, empregados alocados, peças, fornecedor da peça equantidade utilizada em cada projeto.
Os dados sobre as peças fornecidas como: nome da peça e númerodo lote.
Os dados sobre todos os fornecedores de peças utilizadas naempresa, como: nome do fornecedor, endereço para contato, peçasfornecidas.
Modelagem de Dados
MODELO CONCEITUAL
EXERCÍCIO - DESCRIÇÃO DE UM PROBLEMA (DOMÍNIO-RH DE UMA EMPRESA)
Considere que: Um departamento pode ter um ou vários funcionários, sendo que
cada funcionário só pode pertencer a um departamento. Um dependente mesmo tendo pai e mãe sendo funcionários da
empresa, só podem ser dependentes de apenas um deles. Um projeto pode ter vários empregados alocados e um empregado
pode está alocado em vários projetos. Um projeto só pode ter um gerente, mas um funcionário pode
gerenciar vários projetos. Cada projeto pode utilizar diversas peças, estas por sua vez podem
ser utilizadas por um ou vários projetos. Cada peça pode ter diversos fornecedores, este por sua vez pode
fornecer várias peças para a empresa.
Modelagem de Dados
MODELO CONCEITUAL
A ABORDAGEM ENTIDADE-RELACIONAMENTO (E-R)
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 subtipoExemplo: 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 devendas de comidas e bebidas. Quando o cliente chega ao restaurante érecepcionado por um garçom e conduzido a uma mesa. Nestemomento o garçom abre a conta da mesa e começa a lançar ospedidos do cliente. Os pedidos são sempre consumo de produtos quepodem ser bebidas ou comida. Existem produtos que estão empromoção então são oferecidos ao cliente quando ele consome outroproduto (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 naconta o valor correspondente a comissão do garçom. O sistema deveráfornecer o faturamento do restaurante em um dia e um relatório coma 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 deidentificação.
• A chave de identificação (chave primária ) de uma entidade deve ter semprealgum 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 daentidade.
• Chave de Identificação Composta é formada por mais de um atributo e ocorrenormalmente quando se tem Dependência de Existência.
• Dependência de existência : as instâncias de uma entidade só podem seridentificadas em função da identificação de uma outra instância de uma outraentidade.
• 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çãoprópria da entidade.
O valor da chave de identificação própria para uma instância é único dentro daentidade.
O valor da chave de identificação própria de uma instância não pode sermodificado.
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áriosNÃO é controlada pelos usuáriosNÃ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 chavescompostas.
Ex.: Departamento (Número da Diretoria, Número da Superintendência, Número doDepartamento, Sigla, Nome)
Ex.: Empregado (Matrícula, Nome, Data de Admissão, Número da Diretoria deLotação, Número da Superintendência de Lotação, Número do Departamento deLotação)
Representação de associações entre entidades é simplificada quando não se temchaves compostas
Ex.: Departamento (Código do Departamento, Sigla, Nome, Código daSuperintendência)
Ex.: Empregado (Matrícula, Nome, Data de Admissão, Código do Departamento delotação)
REGRAS PARA DETERMINAÇÃO DE CHAVES DE IDENTIFICAÇÃO
Modelagem de Dados
MODELO CONCEITUAL
Representação de 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 entidades com surrogates:
Ex.: Nota Fiscal (Identificação da Nota Fiscal, Número da Nota Fiscal, Série da NotaFiscal, 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 NotaFiscal associada, Número da Linha, Código da Peça, Quantidade Vendida, ValorUnitá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 empregados para 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 relacionamentoUm 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, transferência 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 extrato 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 tem seu cadastro excluído, eles ficam guardados também em outro local.
• Construa um modelo conceitual que atenda a este cenário.