Modelo Entidade-Relacionamento

Propaganda
Programação com acesso a BD
Prof.: Clayton Maciel Costa
[email protected]
1
Processo de Projeto de Banco de
Dados
Projeto Lógico
(Mapeamento do
Modelo de Dados)
Minimundo
1
Levantamento e
Análise de Requisitos
2
Esquema Lógico
(Modelo do SGBD)
4
3
Projeto Físico
Esquema
Interno
Requisitos do
Banco de Dados
Projeto Conceitual
Esquema Conceitual
(Alto Nível)
BD
Catálogo do SGBD
2
Projeto Conceitual: Modelo ER
• Modelo de dados ER
• Não é implementado por nenhum SBD;
• Utilizado como modelo conceitual para projeto de BDs:
• Ferramenta para a modelagem de BDs.
• Proposto por P. Chen em 1976;
Princípio Básico:
Representar dados através:
Entidades;
Relacionamentos entre as entidades;
Atributos: propriedades de entidades ou relacionamentos.
3
Projeto Conceitual: Modelo ER
•
1976
O Dr. Peter Chen (visite bit.csc.lsu.edu/~chen/chen.html) propôs o modelo
Entidade-Relacionamento (ER) para projetos de banco de dados dando
uma nova e importante percepção dos conceitos de modelos de dados.
Assim como as linguagens de alto nível, a modelagem ER possibilita ao
projetista concentrar-se apenas na utilização dos dados, sem se preocupar
com estrutura lógica de tabelas.
Dr. Peter Chen, criador do
modelo ER.
4
Aplicação Exemplo
Considere o BD chamado EMPRESA e seus requisitos.
• Organizada em departamentos:
•
•
•
•
um nome único;
um número único;
um empregado que gerencia o departamento;
a data de quando o empregado começou a gerenciar o departamento
deve ser registrada;
• um departamento pode ter varias localizações.
• Um departamento controla um número de projetos:
• cada qual com um nome e número únicos;
• uma única localização.
5
Aplicação Exemplo
• Cada empregado:
• nome, identidade, endereço, salário, sexo, data nascimento;
• um empregado é assinalado a um departamento;
• pode trabalhar em diversos projetos, os quais não são
necessariamente controlados pelo mesmo departamento;
• o número de horas por semana que o empregado trabalha em cada
projeto e o supervisor direto de cada empregado;
• Registro para cada empregado:
• número de dependentes (para seguro);
• para cada dependente:
• primeiro nome, sexo, data de nascimento e relacionamento com
o empregado.
6
Aplicação Exemplo
Esquema Conceitual do BD EMPRESA
7
Modelo ER: Entidades e Atributos
Entidade
• Representação abstrata de um objeto do mundo
real;
• Exemplos de entidades do mundo real:
• Objeto concreto:
• Um empregado, um carro, um estudante.
• Objeto abstrato:
• Uma empresa, uma conta bancária, uma disciplina.
• Conjunto de entidades (tipo de entidade):
• Entidades que apresentam características semelhantes;
• Exemplo:
• Estudantes, Empregados, Contas.
8
Modelo ER: Entidades e Atributos
Atributos de uma entidade
• Propriedades que caracterizam uma entidade.
• Exemplos:
• Atributos de empregados:
• matrícula, nome, endereço, rg, cpf, data-nasc, salário, lotação, dataadmissão.
• Atributos de estudantes:
• matrícula, nome, curso, rg, cpf, data-ingresso.
• A cada atributo de uma entidade deve estar associado um
valor.
9
Modelo ER: Entidades e Atributos
Atributos de uma entidade
• Atributos chave de uma entidade:
• Conjunto de atributos que identificam univocamente uma entidade
• Exemplo:
• Matrícula é atributo chave para Estudante.
• Chave pode ser formada por vários atributos: chave
composta
• Exemplo:
• Numero e Nome são chaves compostas da entidade Departamento.
• Domínio de um atributo:
• Conjunto de valores que podem ser atribuídos a um atributo para
cada entidade individualmente:
• Exemplo:
• RG:Integer; Nome do Empregado:String.
10
Modelo ER: Entidades e Atributos
11
Modelo ER: Entidades e Atributos
Atributos de uma entidade
• Tipos de atributos:
• Atributo atômico:
• Atributo que não pode ser subdividido. Exemplo: Salário.
• Atributo composto:
• Atributo formado por vários atributos. Exemplo: Endereço.
• Atributo monovalorado:
• Atributo para o qual está associado um único valor. Exemplo: Nome.
• Atributo multivalorado:
• Atributo para qual podem estar associados vários valores. Exemplo:
Para o atributo telefone podem estar associados vários valores, como
telefone residencial, comercial e celular.
• Atributo derivado:
• Atributo cujo valor é derivado com base no valor de um outro atributo
(atributo base). Exemplo: Atributo idade pode ser derivado do
atributo data-nasc.
12
Modelo ER: Entidades e Atributos
13
Modelo ER: Relacionamentos
Relacionamento
• Abstração que representa associações entre
diferentes conjuntos de entidades.
• Exemplo:
• Empregado John Smith trabalha para Departamento
pesquisa.
• Empregado Fred Brown gerencia Departamento pesquisa.
• Departamento pesquisa controla Projeto X.
14
Modelo ER: Relacionamentos
Tipo de Relacionamento
• Define um conjunto de associações entre n tipos de
entidade E1, E2,...,En
• Exemplo:
• Trabalha_para entre Empregado e Departamento
15
Modelo ER: Relacionamentos
Tipo de Relacionamento
• Formalmente, um tipo de relacionamento R é um conjunto
de (instâncias de) relacionamentos ri, onde cada ri associa n
(instâncias de) entidades (e1,...,en) e cada ej pertence a um
tipo de entidade Ej
• R ∈ E1 x E2 x ... x En
• ri = (e1, ..., en)
• Grau de um Tipo de Relacionamento
• Número de tipos de entidade participantes de um tipo de
relacionamento.
16
Modelo ER: Relacionamentos
17
Modelo ER: Relacionamentos
18
Modelo ER: Relacionamentos
Restrições sobre Relacionamento
• Limitam as possíveis combinações de entidades que podem
participar no conjunto de relacionamentos;
• Cardinalidade: número de instâncias de um tipo de
relacionamento do qual uma entidade pode participar;
• Participação: se a existência de uma entidade depende de seu
relacionamento com outra entidade através de um tipo de
relacionamento  parcial ou total:
• Exemplo: Todo empregado deve trabalhar p/ um departamento. (total)
• Exemplo: Nem todo empregado gerencia um departamento. (parcial)
• Cardinalidade + Participação  Restrições Estruturais
19
Modelo ER: Relacionamentos
20
Modelo ER: Relacionamentos
21
Modelo ER: Relacionamentos
Relacionamentos Recursivos
• Auto relacionamento
• Relacionamento envolvendo um único conjunto de entidades;
• Exemplo:
• Cada departamento possui vários supervisores:
• Responsáveis por um subconjunto de empregados do departamento.
• Modelagem do relacionamento entre empregado e supervisor:
• Um supervisor também é uma entidade do tipo Empregado;
• Relacionamento supervisiona.

Empregado desempenha dois papéis
- é-supervisionado-por (1)
- é-supervisor-de (2)
1





1
1
1
Empregado
2
2
Supervisiona
22
Modelo ER: Relacionamentos
23
Aplicação Exemplo
Esquema Conceitual do BD EMPRESA
24
Modelo ER: Entidades
Entidade Fraca
• Entidade cuja existência depende de estar associada, via um
relacionamento (relacionamento de identificação), com uma
outra entidade (entidade forte);
• Exemplo:
• Considere o relacionamento dependência entre os conjuntos
de entidades Empregado e Dependente.
• Dependente contém os dependentes dos empregados da empresa.
• A existência de um dependente Bárbara:
• Depende da existência de um empregado André e que
• Bárbara esteja relacionada a André através do relacionamento
dependência.
• Uma entidade fraca é identificada
• Por estar relacionada com uma entidade forte:
• Pelo atributo chave da entidade forte.
• Atributos da própria entidade fraca:
• Chave parcial.
25
Aplicação Exemplo
Esquema Conceitual do BD EMPRESA
26
Modelo ER: Notação
Símbolo
Representação
Conjunto de entidades
Conjunto de entidades
fracas
Conjunto de relacionamentos
(relacionamento)
Relacionamento de
identificação
Nome atributo
Atributo
27
Modelo ER: Notação
Símbolo
*
Representação
Nome atributo
Atributo chave
Nome atributo
Atributo derivado
Nome atributo
Atributo multivalorado
Nome atributo
Atributo composto
Nome atributo
Nome atributo
28
Modelo ER: Notação
Símbolo
Representação
Atributo chave parcial de
uma entidade fraca
Nome atributo
E1
1
R
E1
R
(min,max)
R
N
E2
Cardinalidade 1:N
E
Restrição estrutural de
participação de E em R
E2
Participação total de E2
em R
29
FIM
30
Download