2. Modelagem de Dados Usando o Modelo Entidade-Relacionamento
Prof. Anderson Theobaldo
Importância da Modelagem de
Dados
• A modelagem de dados é fundamental para o
sucesso da implementação
• Uma modelagem adequada ajuda a
estabelecer acordos entre os desenvolvedores e os usuários, através de uma linguagem
comum
• A modelagem conceitual do banco de dados é
cada vez mais vista como uma etapa comum entre o projeto de uma aplicação (engenharia de software) e o projeto do BD em si
• Existem diversas metodologias para projeto
Projeto de Bancos de Dados
• Etapas
– Coleta e análise de requisitos
• Levantamento dos requisitos necessários para a criação do banco de dados.
– Projeto conceitual
• Descreve a estrutura do banco de dados de forma independente de qualquer implementação. Exemplo: modelo Entidade-Relacionamento.
– Projeto lógico
• Descreve a estrutura do banco de dados em função de uma futura implementação. Exemplo: modelo Relacional.
– Projeto físico
• Descreve os detalhes de armazenamento (interno) dos dados e das formas de acesso a esses dados. São
Projeto de Bancos de Dados
• Outras etapas (ligadas ao desenvolvimento da aplicação)
– Análise funcional
• Produto: especificação de alto nível das transações previstas
– Projeto de programas
• Produto: especificação dos programas que serão necessários
– Implementação das transações
• Produto: programas que compõem a aplicação
Modelo
Entidade-Relacionamento (ER)
• Proposto por Peter Chen, em 1976.
• Baseado na percepção do mundo real.
• Consiste de um conjunto de objetos
básicos chamados de entidades, e no relacionamento entre esses objetos.
• Desenvolvido para facilitar o projeto de
bancos de dados.
• Este modelo é normalmente apresentado
através de um diagrama chamado
Entidade
Objeto do mundo real que possui
existência independente de outros objetos.
Ex: Ricardo Oliveira, CPF 123.456.789-99 é
uma entidade, ou instância de uma entidade (Pessoa).
Entidades podem ser concretas (aluno,
livro) ou abstratas (disciplina, nota).
Elementos do mesmo tipo são agrupadas
Atributos
Propriedades ou características de um
tipo de entidade.
Cada atributo terá um valor, que se
tornará parte do banco de dados.
Atributos são representados por ovais
Tipos de atributos
Simples: não são divisíveis
Compostos: podem ser divididos em
subpartes que representam outros atributos básicos com significados diferentes. Ex: endereço, data
Podem formar hierarquias
Tipos de atributos
• Valor único
– Têm um único valor para uma instância de
uma entidade.
• Ex.: matrícula; nome; data de nascimento.
• Multivalorados
– Vários valores simultâneos para a mesma
instância de uma entidade.
• Ex.: telefone residencial e comercial; email
particular e profissional.
– Podem existir limites inferior e superior
Tipos de atributos
• Derivados
– O valor é determinado a partir de outro(s) atributo(s)
usando determinada função.
• Ex.: Idade e DataDeNascimento
• A idade é calculável a partir da data de nascimento e de
um parâmetro variável, que é a data de hoje
• Diz-se então que a Idade é um atributo derivável da data
de nascimento
– Alguns valores podem ser derivados de entidades
relacionadas.
• Ex.: número de empregados de um departamento,
calculado contando os empregados que estão alocados ao departamento.
• Armazenados
– A data de nascimento é um atributo armazenado, ou
Tipos de atributos
• Atributos complexos
– É possível agrupar arbitrariamente atributos
compostos e multivalorados.
– Isso permite criar combinações que podem ser
úteis e complexas.
• Valor nulo
– Em alguns casos, o preenchimento de um
atributo pode não ser aplicável ou mesmo ser opcional.
• Ex.: “complemento” em Endereço.
– Pode ser permitido o uso de valor nulo se o
Tipos de atributos
• Atributo-Chave
– Atributo ou conjunto de atributos que
identificam de modo único cada instância de uma entidade. Exemplo: O número do seguro social do funcionário. O CPF do funcionário.
• Atributos opcionais:
– Quando uma entidade não possui valor para
determinado atributo ou quando seu valor é desconhecido, um valor especial chamado null é usado neste caso.
– Exemplo: O atributo Apartamento só se
Domínio de Atributo
Cada atributo simples de uma entidade
está associado a um conjunto de valores que formam o domínio dos possíveis
valores do atributo.
O domínio é, portanto, o conjunto de
Relacionamento
É uma associação de entidades, onde a associação
inclui exatamente uma entidade de cada tipo de
entidade participante.
Exemplo: TRABALHA_PARA, relacionamento entre FUNCIONÁRIO
e DEPARTAMENTO
Na notação do DER, o relacionamento é exibido como um
Instância de
relacionamento
Ocorrência particular de um
relacionamento, envolvendo instâncias específicas de cada uma das entidades envolvidas.
Exemplo: O Funcionário João da Silva
Atributos de
Relacionamentos
Os relacionamentos também podem ter
atributos, da mesma forma que as entidades.
Exemplo: Necessidade de se registrar o
O grau de um
relacionamento
Número de entidades participantes no relacionamento. Binários: Envolvem duas entidades.
Binários recursivos: Envolvem a associação entre duas
instâncias de uma única entidade as quais participam do relacionamento assumindo diferentes papeis.
Mapeamento de
Restrições
O mundo real pode impor certas restrições
que são refletidas nos relacionamentos.
Exemplo: Uma regra segundo a qual um
empregado trabalha apenas para um departamento.
Dois tipos principais de restrições de
relacionamentos são a razão de
Razão de Cardinalidade
A cardinalidade expressa o número de instâncias
de uma entidade às quais uma instância de outra entidade pode estar associada por meio de um relacionamento e é, obviamente, dependente das situações reais que estão sendo modeladas pelo relacionamento.
Para um relacionamento binário entre as entidades
A e B, a razão de cardinalidade pode ser:
Um para um (1:1)
Um para muitos (1:N)
Cardinalidade de 1:1
Uma instância da entidade A está
associada a no máximo uma instância da entidade B, e uma instância da
entidade B está associada a no
máximo uma instância da entidade A.
Exemplo:
Cardinalidade de 1:N
Uma instância da entidade A está
associada a várias instâncias da
entidade B, e uma instância da entidade B está associada a no
máximo uma instância da entidade A.
Exemplo:
Funcionário – Trabalha Para –
Cardinalidade de N:M
Muitos para muitos (N:M): Uma
instância da entidade A está associada
a várias instâncias da entidade B, e
uma instância da entidade B está
associada a várias instâncias da entidade
A.
Tipos de Entidades Fracas
• Tipos de entidades são considerados fracos
quando não possuem seus próprios atributos chave.
• Tipos de entidades regulares que possuem chave são às vezes chamados de tipos de entidades fortes.
• Tipos de entidades fracas são identificadas
através de seu relacionamento com entidades específicas de outro tipo, em combinação com alguns de seus atributos
– Entidade identificadora ou proprietária
Tipos de Entidades Fracas
• A entidade fraca possui uma chave
parcial, que identifica univocamente entidades fracas que estão ligadas à mesma entidade identificadora
• Entidades fracas e relacionamentos
Restrição de Participação
Participação Total: uma relação é total, se toda instância de uma determinada entidade participa do relacionamento na sua totalidade.
Ex.: no relacionamento abaixo, todas as instâncias da
entidade Departamento está relacionado a alguma instância da entidade Empregado, porque todo departamento tem que ter um gerente.
Participação Parcial: uma relação é parcial, se nem toda instância de uma determinada entidade participa do
relacionamento.
Ex.: no relacionamento abaixo, nem todas as instâncias
da entidade Empregado está relacionado a alguma