Aula 2
2. Modelo Entidade/Relacionamento
2.1. Fases do Projeto de um BD:
-
Coleta e Analise de Requisitos
-
Analise Funcional: operacoes definidas pelo
usuario que serao aplicadas no BD
-
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
-
Projeto Logico: mapeamento do modelo conceitual
para o modelo de dados de implementacao (relacional, OO)
-
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:
-
definir um conjunto de subclasses de um tipo
de entidade
-
estabelecer atributos especificos adicionais
com cada subclasse
-
estabelecer tipos de relacionamentos especificos
adicionais entre cada subclasse e outros tipos de entidades ou outras subclasses.
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]
|