Aula 2
2. Modelo Entidade/Relacionamento




2.1. Fases do Projeto de um BD:

  1. Coleta e Analise de Requisitos
  2. Analise Funcional: operacoes definidas pelo usuario que serao aplicadas no BD
  3. Projeto Conceitual: gera o esquema conceitual, uma descricao concisa dos requisitos de dados feitos pelos usuarios e inclui descricoes detalhadas dos tipos de entidades, relacionamentos e restricoes expressas utilizando os conceitos fornecidos pelo modelo de dados (ER).
    • usado para comunicacao com usuarios nao tecnicos
    • assegurar que todos os requisitos de dados sejam atendidos
  4. Projeto Logico: mapeamento do modelo conceitual para o modelo de dados de implementacao (relacional, OO)
  5. Projeto Fisico: especificacao de estruturas de armazenamento interno, caminhos de acesso, e organizacoes para arquivos do banco de daodos.


2.2. Modelo Entidade-Relacionamento

Conceitos Básicos:

2.2.1. Entidade: é uma "coisa" no mundo real com uma existência independente. Pode existir fisicamente (pessoa, carro) ou existência conceitual (curso na universidade, serviço).

observação: nao confundir Tipo de Entidade e Conjunto de Entidades

2.2.2. Atributo: propriedades de entidades. Ex: nome de pessoa. Eles podem ser dos seguintes tipos:

  • simples: que nao sao divisiveis. Ex: idade de pessoa compostos: formam uma hierarquia Ex: nome (primeiro Nome, sobrenome)
  • valor unico ou multivalorado: conjunto de valores do mesmo tipo. Ex: telefones
  • armazenado (Ex: data de nascimento) ou derivado, que pode ser obtido (calculado) a partir de atributos armazenados. (Ex: idade)
  • obrigatorio ou opcional


Exemplo (parte 1):

"A empresa é organizada em departamentos. Cada departamento possui um nome único, um código único, numero de empregados e um determinado empregado que gerencia o departamento. Acompanhamos a data inicial quando o empregado começou a gerenciar o departamento. Um
departamento pode possuir diversas localizações."

  • Atributo Chave (de um tipo de entidade): conjunto de atributos que sao distintos para cada entidade. Ex: CPF de pessoa


Exemplo (parte 2):

"Um departamento controla um numero de projetos, cada um deles possuindo um nome unico, um codigo unico e uma unica localizacao".

"Armazenamos o nome, numero da carteira de trabalho, endereco, salario, sexo e data de nascimento de cada empregado. Um empregado e'alocado a um departamento, mas pode trabalhar em diversos projetos, que nao sao necessariamente controlados pelo mesmo departamento. Acompanhamos o numero de horas por semana que um empregado trabalha em cada projeto. Tambem acompanhamos o supervisor direto de cada empregado."

2.2.3. Relacionamento:

  • Tipo de Relacionamento, Conjunto de Relacionamentos
  • Se R e' um tipo de relacionamento entre tipos de entidades E1, ...En, entao um conjunto de Relacionamentos de R e' um subconjunto do produto cartesiano dos conjuntos de entidades E1 x ...x En.
  • Grau de Relacionamento: numero de entidade participantes (binario, ternario, ...)
  • Relacionamento versus Atributo: Exemplo: Empregado gerencia Departamento
  • Nome de Papeis e Auto-relacionamento
  • Restricao de cardinalidade: 1:1, 1:N, N:1, M:N
  • Restricao de participacao (total e parcial): participacao total tambem e' chamada de dependencia de existencia
  • Atributos de Tipos de Relacionamentos: Ex: Horas em Trabalha_Em entre Empregado e Projeto.
  • Tipo de Entidade Fraca: que nao possui nenhuma Chave.
    • Entidade Identificadora ou proprietaria
    • Relacionamento Identificador
    • Chave da Entidade Fraca:
      • Chave da entidade identificadora +
      • Chave parcial da Entidade Fraca


Exemplo (parte 3):

"Desejamos acompanhar os dependentes de cada empregado para fins de previdencia. Mantemos para cada dependente o nome, sexo, data de nascimento e grau de parentesco com o empregado."

  • Forma Alternativa de Representar Restricao de cardinalidade e restricao de participacao: cada entidade participante de um relacionamento possui valores (min, max)
Refinamentos do Projeto:
  • Atributo ==> Relacionamento
  • Atributo <==> Entidade
2.3. Modelo ER Estendido

2.3.1. Relacionamentos de Grau Maior que Dois

Exemplo:

Um fornecedor possui um nome e endereco. Uma peca possui um codigo e nome, e um projeto possui nome e responsavel. O sistema deve controlar a quantidade e data do fornecimento de pecas por um fornecedor para um determinado projeto.

  • 3 relacionamentos binarios nao sao equivalentes ao relacionamento ternario.
  • restricoes de cardinalidade
2.3.2. Agregacao

Exemplo:

Agencia de Emprego: De cada empresa mantem-se o nome e endereco, e para candidato o RG, nome, endereco e telefone. Acompanha-se as entrevistas marcadas, mantendo-se a data, nome de contato e tel. de contato. A entrevista pode ou nao resultar em uma oferta de emprego. Quando ela existir, devemos manter a data inicial de trabalho e salario inicial.

2.3.3. Especializacao/Generalizacao

  • subclasse / superclasse
  • relacionamento "is-a"
  • heranca de atributos


Parte 1: Exemplo:

Banco de dados de uma universidade: Para cada pessoa a univ. mantem info. sobre o nome, RG e endereco. Existem dois tipos de pessoas: professor e aluno. Para os professores sao mantidos: nivel, numero da sala e salario. Cada professor esta'relacionado aos departamentos que pertence. Cada aluno possui um RA, curso, e um conjunto de disciplinas que esta' frequentando.

Um depto. academico possui como atributos: nome, telefone, e chefe que e' tambem um professor. Um disciplina possui codigo, nome e professor.

  • Se E1 tem como subclasses S1,...,Sn entao para qualquer conjunto de entidades CE1, CS1,... CSn. CSi subconjunto CE1 para todo 1 <= i <= n
  • Caracteristicas da especializacao (generalizacao):
    • definidas por atributo (p.ex. se pessoa tivesse um atributo "tipo") definidas pelo usuario
  • total: todos as entidades da superclasse pertencem a alguma subclasse CS1 uniao CS2 uniao ... uniao CSn = CE1 parcial
  • disjuncao: CSi intersecao CSj = vazio para qualquer i diferente de j sobreposicao
O processo de especializacao permite:
  1. definir um conjunto de subclasses de um tipo de entidade
  2. estabelecer atributos especificos adicionais com cada subclasse
  3. estabelecer tipos de relacionamentos especificos adicionais entre cada subclasse e outros tipos de entidades ou outras subclasses.
  • Hierarquia / Grade


Parte 2:

Um aluno pode ser de graduacao ou pos-graduacao. O aluno de graduacao tem como atributo especifico seu IRA e o aluno de pos-graduacao possui um orientador. Um assistente de ensino e' um aluno de pos-graduacao que atua como professor em algumas disciplinas na universidade. Ele tem como atributos a data de inicio e termino de suas atividades.

  • Tipo Uniao usando Categoria


Parte 3:

Um pesquisador pode ser um professor ou um aluno de pos-graduacao. Um pesquisador pode atuar em projetos, que possuem um nome, data de inicio e termino o orgao financiador.

Equivalencia de especializacao total/disjunta e uniao:

empregado assalariado horista
|| \ /
d u
/ \ ||
assalariado horista empregado



[voltar]