SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
O Modelo
Entidade-Relacionamento
Bancos de Dados
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 2
Tópicos
s Fases do Projeto de Bases de Dados
s Definição e Objetivo do Modelo E-R
s Entidades e Conjuntos-Entidade
s Atributos e Domínio de um Atributo
s Relacionamentos e Conjuntos-Relacionamento
s Restrições de Mapeamento
s Projeto de Chaves
s Auto-Relacionamentos
s Agregação
s Generalização ou Particionamento
s Dependência Existencial e Entidades Fracas
s Relacionamentos de Grau Superior a 2
s Notação, Variações e Exemplos
s Dicas para Elaboração de Modelos E-R
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 3
Fases do Projeto de
Bases de Dados (EN94)
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 4
O Modelo Entidade-Relacionamento
s Definição: modelo baseado na percepção do
mundo real, que consiste em um conjunto de
objetos básicos chamados entidades e nos
relacionamentos entre esses objetos
s Objetivo: facilitar o projeto de banco de dados,
possibilitando a especificação da estrutura lógica
geral do banco de dados
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 5
Diagrama Entidade-Relacionamento
A estrutura lógica geral de um banco de dados pode ser
expressa graficamente por um Diagrama Entidade-
Relacionamento
s Componentes do Diagrama E-R (Peter Chen):
- Retângulos: representam conjuntos-entidade
- Elipses: representam atributos
- Losangos: representam conjuntos-relacionamento
- Linhas: ligam atributos a conjuntos-entidade e
conjuntos-entidade a conjuntos-relacionamento
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 6
Entidades e Conjuntos-Entidade
s Entidade: é uma representação abstrata de um objeto do
mundo real
Ex.: O fornecedor Pedro, com código F1
s Conjuntos-Entidade: grupo de entidades que possui
características semelhantes
Ex.: Conjunto-entidade Fornecedor
Cidade
Estado
Cod-Forn
Fornecedor
Nome
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 7
Atributos (campos)
s Atributo: Elemento de dado que contém informação que
descreve uma entidade
Ex.:
s Atributo Monovalorado: assume um único valor para cada
elemento do conjunto-entidade
Ex.: Nome
s Atributo Composto: formado por um ou mais sub-atributos
Ex.: Endereço
EstadoCidade
Endereço
Dependentes
Cod-Func
Funcionário
Nome
*
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 8
Atributo Multivalorado: uma única entidade tem diversos
valores para este atributo (seu nome é sempre representado
no plural)
Ex.: Dependentes
Atributo Determinante: identifica cada entidade de um
conjunto-entidade (também conhecido com atributo chave)
Ex.: Cod_Func
Domínio de um Atributo: conjunto de valores permitidos para
o atributo
Ex.: Sexo {M, F}
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 9
s Relacionamento: estrutura que indica a associação de
elementos de duas ou mais entidades
Ex.:
ProdutoFornecedor Pedido
N N
Quantidade
PreçoCod-Prod
Cod-Forn Cod-Prod
Cod-Forn
ProdutoPedidoFornecedor
N N
Relacionamentos
Atributo de Relacionamento: depende de todos os conjuntos-entidade
associados entre si
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 10
a) Um-para-um: uma entidade em A está associada no
máximo a uma entidade em B e uma entidade em B está
associada no máximo a uma entidade em A
Conjunto-Entidade A Conjunto-Entidade B
b3
b2
b1
a3
a2
a1
1 1
Funcionário DepartamentoGerencia
Obs.: Chave estrangeira em uma das entidades.
Restrições de Mapeamento (cardinalidade)
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 11
b) Um-para-muitos: uma entidade em A está associada a
qualquer número de entidades em B, enquanto uma
entidade em B está associada no máximo a uma entidade
em A
a1
a2
b4
b3
b2
b1
Conjunto-Entidade A Conjunto-Entidade B
Lotação
N1
Departamento Funcionário
Obs.: Chave estrangeira na direção muitos.
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 12
c) Muitos-para-muitos: Uma entidade em A está associada a
qualquer número de entidades em B, e uma entidade em B
está associada a qualquer número de entidades em A.
a1
a2
a3 b3
b2
b1
Conjunto-Entidade BConjunto-Entidade A
TrabalhaFuncionário Projeto
NN
Obs.: Requer tabela extra para representa-lo.
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 13
Projeto de Chaves
s Chave: é um conjunto de um ou mais atributos que,
tomados coletivamente, permite-nos identificar unicamente
uma entidade no conjunto-entidade
s Integridade de Entidade: Nenhum atributo que participe da
chave de um conjunto-entidade deve aceitar valores nulos
Aspectos Relevantes
s A questão fundamental do projeto de chaves é reduzir ao
máximo os efeitos de redundância
s A alteração dos valores de campos constituintes da chave
primária ou a remoção de uma entidade de um conjunto-
entidade pode ocasionar problemas de integridade
referencial
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 14
Quantidade
PreçoCod-Prod
Cod-Forn Cod-ProdCod-Forn
ProdutoPedidoFornecedor
N N
s Entidade Fornecedor: Cod_Forn
s Entidade Produto: Cod_Prod
s Relacionamento Pedido: Cod_Forn e Cod_Prod
Exemplo de chaves no modelo ER
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 15
Auto-Relacionamento
Relaciona elementos de um conjunto-entidade E a
elementos desse mesmo conjunto-entidade
Ex.:
Gerenciamento
de Pessoal
Funcionário
Gerencia É Gerenciado
N1
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 16
Agregação
s Uma limitação do modelo E-R é que não é possível
expressar relacionamentos entre relacionamentos.
s Agregação é uma abstração através da qual
relacionamentos são tratados como entidades de nível
superior.
TrabalhaFuncionário
N N
Projeto
Máquina
N
Utiliza
N N
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 17
s Usando Agregação
TrabalhaFuncionário
N N
Projeto
Máquina
N
Utiliza
N
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 18
Generalização e Especialização
s Existem casos em que um conjunto-entidade pode ser
dividido em categorias, cada qual com atributos específicos.
Ex.:
Pessoa
Física
Cliente
Pessoa
Jurídica
Filial atende
Código
Nome
Sexo
CIC
CGC
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 19
s Gereralização/Especialização Total e Parcial
Pessoa
Física
Cliente
Pessoa
Jurídica
t
Motorista
Funcionário
Secretária
p
Cargo
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 20
s Generalização/Especialização não-Exclusiva
Professor
Pessoa
AlunoFuncionário
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 21
s Herança Múltipla
Automóvel
Veículo
Barco
Veículo
Anfíbio
Terrestre Aquático
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 22
Dependência Existencial e Entidades Fracas
s Dependência existencial ocorre quando a existência de
uma determinada entidade está condicionada à existência
de uma outra entidade a ela relacionada.
trabalha
N1
Departamento Funcionário
s Uma entidade fraca não possui sequer identidade
própria, sendo sua chave primária composta pela chave
estrangeira proveniente da entidade dona concatenada a
um identificador de si própria (que pode repetir para
diferentes instâncias da entidade dona).
mantém
N1
Funcionário Dependente
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 23
Relacionamentos de grau superior a 2
Quantidade
Cod-Peça
Cod-ProjCod-Forn
ProjetoForneceFornecedor
Peça
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 24
Relacionamentos de grau superior a 2 (cont. 1)
Cod-Peça
Cod-ProjCod-Forn
ProjetoForneceFornecedor
Peça
usa
pode
fornecer
M N
NN
MM
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 25
Relacionamentos de grau superior a 2 (cont. 2)
Cod-Peça
Cod-ProjCod-Forn
ProjetoForneceFornecedor
Peça
Quantidade
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 26
Síntese da notação de Peter Chen (EN94)
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 27
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 28
BD de uma Companhia - Peter Chen (EN94)
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 29
Companhia - James Martin (Power Designer)
utiliza
eh_gerente eh_gerenciado
controla
trabalha_para
eh_dependente
Funcionário
cod_func
nome_func
sexo_func
dta_nasc_func
salario_func
ender_func
cidade_func
uf_func
Departamento
nro_depto
nome_depto
nro_func_depto
Projeto
nro_proj
nome_proj
descr_proj
Dependente
nro_depend
nome_depend
sexo_depend
dta_nasc_depend
parent_depend
gerencia
dta_ini_ger
Local
cod_loc
nome_loc
cidade_loc
uf_loc
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 30
Companhia - conceitual (Power Designer)
eh_gerente eh_gerenciado
controla
trabalha_para
eh_dependente
utiliza
Funcionário
cod_func
nome_func
sexo_func
dta_nasc_func
salario_func
ender_func
cidade_func
uf_func
Departamento
nro_depto
nome_depto
nro_func_depto
Projeto
nro_proj
nome_proj
descr_proj
Dependente
nro_depend
nome_depend
sexo_depend
dta_nasc_depend
parent_depend
gerencia
dta_ini_ger
Local
cod_loc
nome_loc
cidade_loc
uf_loc
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 31
Companhia - lógico/físico (Power Designer)
NRO_PROJ = NRO_PROJCOD_LOC = COD_LOC
COD_FUNC = COD_FUNC
NRO_DEPTO = NRO_DEPTO
NRO_DEPTO = NRO_DEPTO
NRO_DEPTO = NRO_DEPTO
COD_FUNC = COD_FUNC
FUNCIONARIO
COD_FUNC LongInteger
NRO_DEPTO LongInteger
NOME_FUNC Text(25)
SEXO_FUNC Text(1)
DTA_NASC_FUNC DateTime
SALARIO_FUNC Currency
ENDER_FUNC Text(35)
CIDADE_FUNC Text(25)
UF_FUNC Text(2)
DEPARTAMENTO
NRO_DEPTO LongInteger
NOME_DEPTO Text(20)
NRO_FUNC_DEPTO LongInteger
PROJETO
NRO_PROJ LongInteger
NRO_DEPTO LongInteger
NOME_PROJ Text(25)
DESCR_PROJ MemoDEPENDENTE
COD_FUNC LongInteger
NRO_DEPEND LongInteger
NOME_DEPEND Text(25)
SEXO_DEPEND Text(1)
DTA_NASC_DEPEND DateTime
PARENT_DEPEND Text(1)
GERENCIA
NRO_DEPTO LongInteger
COD_FUNC LongInteger
DTA_INI_GER DateTime
LOCAL
COD_LOC Text(3)
NOME_LOC Text(25)
CIDADE_LOC Text(25)
UF_LOC Text(2)
UTILIZA
COD_LOC Text(3)
NRO_PROJ LongInteger
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 32
Companhia - IDEF1X (ERwin)
enquadra
supervisiona
tem_alocado
trabalha_no
trabalha_para
controla
mantém
Departamento
nro_depto: Long Integer
nome: Text(20)
nro_func: Integer
gerente: Long Integer
dta_inic_ger: Date/Time
Funcionário
cod_func: Long Integer
nome: Text(25)
sexo: Sexo
dta_nasc: Date/Time
salario: Currency
ender: Text(35)
cidade: Text(25)
uf: UF
supervisor: Long Integer (FK)
nro_depto: Long Integer (FK)
cod_cargo: Integer (FK)
Projeto
nro_proj: Long Integer
nro_depto: Long Integer (FK)
nome: Text(25)
descricao: Memo
Dependente
cod_func: Long Integer (FK)
nro_depend: Long Integer
nome: Text(25)
sexo: Sexo
dta_nasc: Date/Time
parentesco: Parentesco
Trabalha
cod_func: Long Integer (FK)
nro_proj: Long Integer (FK)
horas_trab: Integer
Cargo
cod_cargo: Integer
nome: Text(20)
descricao: Memo
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 33
Companhia - Domínios de Atributos
s Parentesco
C Conjuge
F Filho(a)
I Irmao/Irma
P Pai/Mae
s Sexo
M Masculino
F Feminino
s UF (Unidade da Federação)
AC Acre
AL Alagoas
AM Amazonas
: :
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 34
- A presença de um substantivo usualmente indica
uma entidade.
- A presença de um verbo é uma forte indicação de
um relacionamento
- Um adjetivo, que é uma qualidade, é uma forte
indicação de um atributo
- Um advérbio temporal, qualificando o verbo, é
uma indicação de um atributo do
relacionamento
Dicas para a elaboração de Diagramas E-R
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 35
Exercícios:
1.Construa um diagrama E-R para um hospital com
um conjunto de pacientes e um conjunto de
médicos. Registros de diversos testes realizados
são associados a cada paciente.
2. Construa um diagrama E-R para uma companhia
de seguros de automóveis com um conjunto de
clientes, onde cada um possui um certo número de
carros. Cada carro tem um número de acidentes
associados a ele.
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 36
3.Construa um possível diagrama de ocorrências
para cada um dos relacionamentos abaixo.
composta
componente
compõe
supervisor
supervisionado
supervisiona
Funcionário Peça
(a) (b)
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 37
4.Mostre como o diagrama abaixo pode ser
representado apenas por relacionamentos binários.
Cidade Distribuidor
Produto
distribuição
N
1N
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 38
5. Para que a restrição de cardinalidade mínima do
diagrama a seguir seja obedecida, que ocorrências
de entidade devem existir no banco de dados
quando for incluída uma ocorrência de
Empregado ? E quando for incluída uma
ocorrência de Mesa ?
Empregado Mesaalocação
(0,1) (1,1)
aloca
Empregado Mesa
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 39
6. Construa um diagrama ER para modelar a mesma
realidade mostrada no diagrama do exercício
anterior, utilizando apenas relacionamentos 1:N.
7. Explique a diferença entre uma entidade (conjunto-
entidade) e uma ocorrência (instância) de uma
entidade.
8. O que é o papel de uma entidade em um
relacionamento ? Quando é necessário
especificá-lo ?
9. Construa um diagrama ER em que o conceito de
entidade associativa seja utilizado.
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 40
10. Considere, no projeto abaixo, que um dependente
de um empregado possa ser também um
empregado. Como o diagrama deve ser
modificado para evitar o armazenamento
redundante de informações sobre pessoas que
sejam tanto empregados quanto dependentes ?
possui
Empregado Dependente
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 41
11. Modifique o diagrama abaixo para especificar o
seguinte:
liberadora liberada
pré_requisito
inclui
está_inscrito
é_responsável
Departamento Disciplina
Aluno Curso
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 42
a) Um curso não pode estar vazio, isto é, deve
possuir alguma disciplina em seu currículo.
b) Um aluno, mesmo que não inscrito em nenhum
curso, deve permanecer por algum tempo no
banco de dados.
c) Um aluno pode fazer mais de um curso.
12. Esboce o diagrama do exercício anterior na
notação de Peter Chen, especificando as
cardinalidades mínimas e máximas (min,max).
13. Escreva um esquema textual (em DDL/SQL)
equivalente ao diagrama do exercício 11.
Bancos de Dados
Parte 3: O Modelo Entidade-Relacionamento Pag.: 43
14. Sem usar atributos opcionais, nem atributos
multivalorados, construa um diagrama ER com as
mesmas informações do diagrama abaixo.
Telefone
Código
Cliente
Nome
*

Más contenido relacionado

La actualidad más candente

Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalDaniel Brandão
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfMarcelo Silva
 
Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosJuh Souza
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indroduçãoRafael Pinheiro
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dadosinfo_cimol
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Leinylson Fontinele
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 

La actualidad más candente (20)

Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
O que é um Banco de Dados Relacional?
O que é um Banco de Dados Relacional?O que é um Banco de Dados Relacional?
O que é um Banco de Dados Relacional?
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
 
Aula 3 banco de dados
Aula 3   banco de dadosAula 3   banco de dados
Aula 3 banco de dados
 
Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dados
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indrodução
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Modelação de Dados
Modelação de DadosModelação de Dados
Modelação de Dados
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dados
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 

Destacado

SBBD2013/MC3: Modelagem Conceitual de Bancos de Dados Geográficos: Modelo OMT-G
SBBD2013/MC3: Modelagem Conceitual de Bancos de Dados Geográficos: Modelo OMT-GSBBD2013/MC3: Modelagem Conceitual de Bancos de Dados Geográficos: Modelo OMT-G
SBBD2013/MC3: Modelagem Conceitual de Bancos de Dados Geográficos: Modelo OMT-Gbrabello
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetosPaulo Carvalho
 
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLDesenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLRogerio de Moraes
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosjulianaveregue
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E ClassesCursoSENAC
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitualMario Sergio
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 
Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Vitor Leal Diniz
 

Destacado (14)

Html 7
Html 7Html 7
Html 7
 
Análise e Modelagem com UML
Análise e Modelagem com UMLAnálise e Modelagem com UML
Análise e Modelagem com UML
 
Apostila modelagem de banco de dados
Apostila modelagem de banco de dadosApostila modelagem de banco de dados
Apostila modelagem de banco de dados
 
SBBD2013/MC3: Modelagem Conceitual de Bancos de Dados Geográficos: Modelo OMT-G
SBBD2013/MC3: Modelagem Conceitual de Bancos de Dados Geográficos: Modelo OMT-GSBBD2013/MC3: Modelagem Conceitual de Bancos de Dados Geográficos: Modelo OMT-G
SBBD2013/MC3: Modelagem Conceitual de Bancos de Dados Geográficos: Modelo OMT-G
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Apostila 5 s
Apostila 5 sApostila 5 s
Apostila 5 s
 
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLDesenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
 
Gerenciamento de projetos Aula05 -exercício cpm-parte1
Gerenciamento de projetos Aula05 -exercício cpm-parte1Gerenciamento de projetos Aula05 -exercício cpm-parte1
Gerenciamento de projetos Aula05 -exercício cpm-parte1
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dados
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E Classes
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitual
 
Aula 7 banco de dados
Aula 7   banco de dadosAula 7   banco de dados
Aula 7 banco de dados
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Exercícios de relacionamento 2012
Exercícios de relacionamento 2012
 

Similar a 03 mer2

Aula 3 modelagem de dados
Aula 3   modelagem de dadosAula 3   modelagem de dados
Aula 3 modelagem de dadosHélio Martins
 
ModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfValdeir7
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfCelestino24
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfedilson42986
 
Modelagem
ModelagemModelagem
Modelagemprsimon
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptJoberthSilva
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade RelacionamentoCris Fidelix
 
BANCO DE DADOS - Modelo conceitual - MER e DER.pdf
BANCO DE DADOS - Modelo conceitual - MER e DER.pdfBANCO DE DADOS - Modelo conceitual - MER e DER.pdf
BANCO DE DADOS - Modelo conceitual - MER e DER.pdfssusera5d99a
 
Aula De Projeto De Bd E Mer
Aula De Projeto De Bd E MerAula De Projeto De Bd E Mer
Aula De Projeto De Bd E Merlinux.certifield
 
Atps de banco de dados rel 1 3-4 atualizado formato ok
Atps de banco de dados rel 1 3-4  atualizado formato okAtps de banco de dados rel 1 3-4  atualizado formato ok
Atps de banco de dados rel 1 3-4 atualizado formato okThyvis Kalevi
 
02 2 - modelagem er
02   2 - modelagem er02   2 - modelagem er
02 2 - modelagem erElton Costa
 
08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_erWalter Alves Pereira
 
Modelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de DadosModelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de Dadosinfo_cimol
 
Desenvolvimento Delphi
Desenvolvimento DelphiDesenvolvimento Delphi
Desenvolvimento Delphihildebertomelo
 

Similar a 03 mer2 (20)

Aula02c mer
Aula02c merAula02c mer
Aula02c mer
 
Aula 3 modelagem de dados
Aula 3   modelagem de dadosAula 3   modelagem de dados
Aula 3 modelagem de dados
 
ModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdf
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdf
 
Modelagem
ModelagemModelagem
Modelagem
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.ppt
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento
 
BANCO DE DADOS - Modelo conceitual - MER e DER.pdf
BANCO DE DADOS - Modelo conceitual - MER e DER.pdfBANCO DE DADOS - Modelo conceitual - MER e DER.pdf
BANCO DE DADOS - Modelo conceitual - MER e DER.pdf
 
Banco de dados [ aula 2 ]
Banco de dados [ aula 2 ]Banco de dados [ aula 2 ]
Banco de dados [ aula 2 ]
 
Aula De Projeto De Bd E Mer
Aula De Projeto De Bd E MerAula De Projeto De Bd E Mer
Aula De Projeto De Bd E Mer
 
Modelo ER.pdf
Modelo ER.pdfModelo ER.pdf
Modelo ER.pdf
 
Atps de banco de dados rel 1 3-4 atualizado formato ok
Atps de banco de dados rel 1 3-4  atualizado formato okAtps de banco de dados rel 1 3-4  atualizado formato ok
Atps de banco de dados rel 1 3-4 atualizado formato ok
 
02 2 - modelagem er
02   2 - modelagem er02   2 - modelagem er
02 2 - modelagem er
 
Naked Objects
Naked ObjectsNaked Objects
Naked Objects
 
Bd aula2
Bd aula2Bd aula2
Bd aula2
 
08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er
 
Modelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de DadosModelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de Dados
 
Desenvolvimento Delphi
Desenvolvimento DelphiDesenvolvimento Delphi
Desenvolvimento Delphi
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 

Más de Fabiano Sales

Sistemas supervisórios e sdcd
Sistemas supervisórios e sdcdSistemas supervisórios e sdcd
Sistemas supervisórios e sdcdFabiano Sales
 
Controladores Lógicos Programáveis - CLP
Controladores Lógicos Programáveis - CLPControladores Lógicos Programáveis - CLP
Controladores Lógicos Programáveis - CLPFabiano Sales
 
Medição de temperatura
Medição de temperaturaMedição de temperatura
Medição de temperaturaFabiano Sales
 
Medição de pressão
Medição de pressãoMedição de pressão
Medição de pressãoFabiano Sales
 
Estratégias de controle
Estratégias de controleEstratégias de controle
Estratégias de controleFabiano Sales
 
Instrumentação básica
Instrumentação básicaInstrumentação básica
Instrumentação básicaFabiano Sales
 
Apostila visual basic 5
Apostila visual basic 5Apostila visual basic 5
Apostila visual basic 5Fabiano Sales
 
Apostila visual basic 5
Apostila visual basic 5Apostila visual basic 5
Apostila visual basic 5Fabiano Sales
 

Más de Fabiano Sales (13)

Sistemas supervisórios e sdcd
Sistemas supervisórios e sdcdSistemas supervisórios e sdcd
Sistemas supervisórios e sdcd
 
Controladores Lógicos Programáveis - CLP
Controladores Lógicos Programáveis - CLPControladores Lógicos Programáveis - CLP
Controladores Lógicos Programáveis - CLP
 
Medição de temperatura
Medição de temperaturaMedição de temperatura
Medição de temperatura
 
Medição de pressão
Medição de pressãoMedição de pressão
Medição de pressão
 
Medição de nível
Medição de nívelMedição de nível
Medição de nível
 
Estratégias de controle
Estratégias de controleEstratégias de controle
Estratégias de controle
 
Medição de vazão
Medição de vazãoMedição de vazão
Medição de vazão
 
Instrumentação básica
Instrumentação básicaInstrumentação básica
Instrumentação básica
 
Apostila visual basic 5
Apostila visual basic 5Apostila visual basic 5
Apostila visual basic 5
 
Apostila visual basic 5
Apostila visual basic 5Apostila visual basic 5
Apostila visual basic 5
 
Apostila de html
Apostila de htmlApostila de html
Apostila de html
 
02 introducao
02 introducao02 introducao
02 introducao
 
04 formais
04 formais04 formais
04 formais
 

03 mer2

  • 2. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 2 Tópicos s Fases do Projeto de Bases de Dados s Definição e Objetivo do Modelo E-R s Entidades e Conjuntos-Entidade s Atributos e Domínio de um Atributo s Relacionamentos e Conjuntos-Relacionamento s Restrições de Mapeamento s Projeto de Chaves s Auto-Relacionamentos s Agregação s Generalização ou Particionamento s Dependência Existencial e Entidades Fracas s Relacionamentos de Grau Superior a 2 s Notação, Variações e Exemplos s Dicas para Elaboração de Modelos E-R
  • 3. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 3 Fases do Projeto de Bases de Dados (EN94)
  • 4. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 4 O Modelo Entidade-Relacionamento s Definição: modelo baseado na percepção do mundo real, que consiste em um conjunto de objetos básicos chamados entidades e nos relacionamentos entre esses objetos s Objetivo: facilitar o projeto de banco de dados, possibilitando a especificação da estrutura lógica geral do banco de dados
  • 5. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 5 Diagrama Entidade-Relacionamento A estrutura lógica geral de um banco de dados pode ser expressa graficamente por um Diagrama Entidade- Relacionamento s Componentes do Diagrama E-R (Peter Chen): - Retângulos: representam conjuntos-entidade - Elipses: representam atributos - Losangos: representam conjuntos-relacionamento - Linhas: ligam atributos a conjuntos-entidade e conjuntos-entidade a conjuntos-relacionamento
  • 6. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 6 Entidades e Conjuntos-Entidade s Entidade: é uma representação abstrata de um objeto do mundo real Ex.: O fornecedor Pedro, com código F1 s Conjuntos-Entidade: grupo de entidades que possui características semelhantes Ex.: Conjunto-entidade Fornecedor Cidade Estado Cod-Forn Fornecedor Nome
  • 7. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 7 Atributos (campos) s Atributo: Elemento de dado que contém informação que descreve uma entidade Ex.: s Atributo Monovalorado: assume um único valor para cada elemento do conjunto-entidade Ex.: Nome s Atributo Composto: formado por um ou mais sub-atributos Ex.: Endereço EstadoCidade Endereço Dependentes Cod-Func Funcionário Nome *
  • 8. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 8 Atributo Multivalorado: uma única entidade tem diversos valores para este atributo (seu nome é sempre representado no plural) Ex.: Dependentes Atributo Determinante: identifica cada entidade de um conjunto-entidade (também conhecido com atributo chave) Ex.: Cod_Func Domínio de um Atributo: conjunto de valores permitidos para o atributo Ex.: Sexo {M, F}
  • 9. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 9 s Relacionamento: estrutura que indica a associação de elementos de duas ou mais entidades Ex.: ProdutoFornecedor Pedido N N Quantidade PreçoCod-Prod Cod-Forn Cod-Prod Cod-Forn ProdutoPedidoFornecedor N N Relacionamentos Atributo de Relacionamento: depende de todos os conjuntos-entidade associados entre si
  • 10. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 10 a) Um-para-um: uma entidade em A está associada no máximo a uma entidade em B e uma entidade em B está associada no máximo a uma entidade em A Conjunto-Entidade A Conjunto-Entidade B b3 b2 b1 a3 a2 a1 1 1 Funcionário DepartamentoGerencia Obs.: Chave estrangeira em uma das entidades. Restrições de Mapeamento (cardinalidade)
  • 11. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 11 b) Um-para-muitos: uma entidade em A está associada a qualquer número de entidades em B, enquanto uma entidade em B está associada no máximo a uma entidade em A a1 a2 b4 b3 b2 b1 Conjunto-Entidade A Conjunto-Entidade B Lotação N1 Departamento Funcionário Obs.: Chave estrangeira na direção muitos.
  • 12. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 12 c) Muitos-para-muitos: Uma entidade em A está associada a qualquer número de entidades em B, e uma entidade em B está associada a qualquer número de entidades em A. a1 a2 a3 b3 b2 b1 Conjunto-Entidade BConjunto-Entidade A TrabalhaFuncionário Projeto NN Obs.: Requer tabela extra para representa-lo.
  • 13. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 13 Projeto de Chaves s Chave: é um conjunto de um ou mais atributos que, tomados coletivamente, permite-nos identificar unicamente uma entidade no conjunto-entidade s Integridade de Entidade: Nenhum atributo que participe da chave de um conjunto-entidade deve aceitar valores nulos Aspectos Relevantes s A questão fundamental do projeto de chaves é reduzir ao máximo os efeitos de redundância s A alteração dos valores de campos constituintes da chave primária ou a remoção de uma entidade de um conjunto- entidade pode ocasionar problemas de integridade referencial
  • 14. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 14 Quantidade PreçoCod-Prod Cod-Forn Cod-ProdCod-Forn ProdutoPedidoFornecedor N N s Entidade Fornecedor: Cod_Forn s Entidade Produto: Cod_Prod s Relacionamento Pedido: Cod_Forn e Cod_Prod Exemplo de chaves no modelo ER
  • 15. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 15 Auto-Relacionamento Relaciona elementos de um conjunto-entidade E a elementos desse mesmo conjunto-entidade Ex.: Gerenciamento de Pessoal Funcionário Gerencia É Gerenciado N1
  • 16. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 16 Agregação s Uma limitação do modelo E-R é que não é possível expressar relacionamentos entre relacionamentos. s Agregação é uma abstração através da qual relacionamentos são tratados como entidades de nível superior. TrabalhaFuncionário N N Projeto Máquina N Utiliza N N
  • 17. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 17 s Usando Agregação TrabalhaFuncionário N N Projeto Máquina N Utiliza N
  • 18. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 18 Generalização e Especialização s Existem casos em que um conjunto-entidade pode ser dividido em categorias, cada qual com atributos específicos. Ex.: Pessoa Física Cliente Pessoa Jurídica Filial atende Código Nome Sexo CIC CGC
  • 19. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 19 s Gereralização/Especialização Total e Parcial Pessoa Física Cliente Pessoa Jurídica t Motorista Funcionário Secretária p Cargo
  • 20. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 20 s Generalização/Especialização não-Exclusiva Professor Pessoa AlunoFuncionário
  • 21. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 21 s Herança Múltipla Automóvel Veículo Barco Veículo Anfíbio Terrestre Aquático
  • 22. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 22 Dependência Existencial e Entidades Fracas s Dependência existencial ocorre quando a existência de uma determinada entidade está condicionada à existência de uma outra entidade a ela relacionada. trabalha N1 Departamento Funcionário s Uma entidade fraca não possui sequer identidade própria, sendo sua chave primária composta pela chave estrangeira proveniente da entidade dona concatenada a um identificador de si própria (que pode repetir para diferentes instâncias da entidade dona). mantém N1 Funcionário Dependente
  • 23. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 23 Relacionamentos de grau superior a 2 Quantidade Cod-Peça Cod-ProjCod-Forn ProjetoForneceFornecedor Peça
  • 24. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 24 Relacionamentos de grau superior a 2 (cont. 1) Cod-Peça Cod-ProjCod-Forn ProjetoForneceFornecedor Peça usa pode fornecer M N NN MM
  • 25. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 25 Relacionamentos de grau superior a 2 (cont. 2) Cod-Peça Cod-ProjCod-Forn ProjetoForneceFornecedor Peça Quantidade
  • 26. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 26 Síntese da notação de Peter Chen (EN94)
  • 27. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 27
  • 28. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 28 BD de uma Companhia - Peter Chen (EN94)
  • 29. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 29 Companhia - James Martin (Power Designer) utiliza eh_gerente eh_gerenciado controla trabalha_para eh_dependente Funcionário cod_func nome_func sexo_func dta_nasc_func salario_func ender_func cidade_func uf_func Departamento nro_depto nome_depto nro_func_depto Projeto nro_proj nome_proj descr_proj Dependente nro_depend nome_depend sexo_depend dta_nasc_depend parent_depend gerencia dta_ini_ger Local cod_loc nome_loc cidade_loc uf_loc
  • 30. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 30 Companhia - conceitual (Power Designer) eh_gerente eh_gerenciado controla trabalha_para eh_dependente utiliza Funcionário cod_func nome_func sexo_func dta_nasc_func salario_func ender_func cidade_func uf_func Departamento nro_depto nome_depto nro_func_depto Projeto nro_proj nome_proj descr_proj Dependente nro_depend nome_depend sexo_depend dta_nasc_depend parent_depend gerencia dta_ini_ger Local cod_loc nome_loc cidade_loc uf_loc
  • 31. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 31 Companhia - lógico/físico (Power Designer) NRO_PROJ = NRO_PROJCOD_LOC = COD_LOC COD_FUNC = COD_FUNC NRO_DEPTO = NRO_DEPTO NRO_DEPTO = NRO_DEPTO NRO_DEPTO = NRO_DEPTO COD_FUNC = COD_FUNC FUNCIONARIO COD_FUNC LongInteger NRO_DEPTO LongInteger NOME_FUNC Text(25) SEXO_FUNC Text(1) DTA_NASC_FUNC DateTime SALARIO_FUNC Currency ENDER_FUNC Text(35) CIDADE_FUNC Text(25) UF_FUNC Text(2) DEPARTAMENTO NRO_DEPTO LongInteger NOME_DEPTO Text(20) NRO_FUNC_DEPTO LongInteger PROJETO NRO_PROJ LongInteger NRO_DEPTO LongInteger NOME_PROJ Text(25) DESCR_PROJ MemoDEPENDENTE COD_FUNC LongInteger NRO_DEPEND LongInteger NOME_DEPEND Text(25) SEXO_DEPEND Text(1) DTA_NASC_DEPEND DateTime PARENT_DEPEND Text(1) GERENCIA NRO_DEPTO LongInteger COD_FUNC LongInteger DTA_INI_GER DateTime LOCAL COD_LOC Text(3) NOME_LOC Text(25) CIDADE_LOC Text(25) UF_LOC Text(2) UTILIZA COD_LOC Text(3) NRO_PROJ LongInteger
  • 32. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 32 Companhia - IDEF1X (ERwin) enquadra supervisiona tem_alocado trabalha_no trabalha_para controla mantém Departamento nro_depto: Long Integer nome: Text(20) nro_func: Integer gerente: Long Integer dta_inic_ger: Date/Time Funcionário cod_func: Long Integer nome: Text(25) sexo: Sexo dta_nasc: Date/Time salario: Currency ender: Text(35) cidade: Text(25) uf: UF supervisor: Long Integer (FK) nro_depto: Long Integer (FK) cod_cargo: Integer (FK) Projeto nro_proj: Long Integer nro_depto: Long Integer (FK) nome: Text(25) descricao: Memo Dependente cod_func: Long Integer (FK) nro_depend: Long Integer nome: Text(25) sexo: Sexo dta_nasc: Date/Time parentesco: Parentesco Trabalha cod_func: Long Integer (FK) nro_proj: Long Integer (FK) horas_trab: Integer Cargo cod_cargo: Integer nome: Text(20) descricao: Memo
  • 33. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 33 Companhia - Domínios de Atributos s Parentesco C Conjuge F Filho(a) I Irmao/Irma P Pai/Mae s Sexo M Masculino F Feminino s UF (Unidade da Federação) AC Acre AL Alagoas AM Amazonas : :
  • 34. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 34 - A presença de um substantivo usualmente indica uma entidade. - A presença de um verbo é uma forte indicação de um relacionamento - Um adjetivo, que é uma qualidade, é uma forte indicação de um atributo - Um advérbio temporal, qualificando o verbo, é uma indicação de um atributo do relacionamento Dicas para a elaboração de Diagramas E-R
  • 35. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 35 Exercícios: 1.Construa um diagrama E-R para um hospital com um conjunto de pacientes e um conjunto de médicos. Registros de diversos testes realizados são associados a cada paciente. 2. Construa um diagrama E-R para uma companhia de seguros de automóveis com um conjunto de clientes, onde cada um possui um certo número de carros. Cada carro tem um número de acidentes associados a ele.
  • 36. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 36 3.Construa um possível diagrama de ocorrências para cada um dos relacionamentos abaixo. composta componente compõe supervisor supervisionado supervisiona Funcionário Peça (a) (b)
  • 37. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 37 4.Mostre como o diagrama abaixo pode ser representado apenas por relacionamentos binários. Cidade Distribuidor Produto distribuição N 1N
  • 38. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 38 5. Para que a restrição de cardinalidade mínima do diagrama a seguir seja obedecida, que ocorrências de entidade devem existir no banco de dados quando for incluída uma ocorrência de Empregado ? E quando for incluída uma ocorrência de Mesa ? Empregado Mesaalocação (0,1) (1,1) aloca Empregado Mesa
  • 39. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 39 6. Construa um diagrama ER para modelar a mesma realidade mostrada no diagrama do exercício anterior, utilizando apenas relacionamentos 1:N. 7. Explique a diferença entre uma entidade (conjunto- entidade) e uma ocorrência (instância) de uma entidade. 8. O que é o papel de uma entidade em um relacionamento ? Quando é necessário especificá-lo ? 9. Construa um diagrama ER em que o conceito de entidade associativa seja utilizado.
  • 40. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 40 10. Considere, no projeto abaixo, que um dependente de um empregado possa ser também um empregado. Como o diagrama deve ser modificado para evitar o armazenamento redundante de informações sobre pessoas que sejam tanto empregados quanto dependentes ? possui Empregado Dependente
  • 41. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 41 11. Modifique o diagrama abaixo para especificar o seguinte: liberadora liberada pré_requisito inclui está_inscrito é_responsável Departamento Disciplina Aluno Curso
  • 42. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 42 a) Um curso não pode estar vazio, isto é, deve possuir alguma disciplina em seu currículo. b) Um aluno, mesmo que não inscrito em nenhum curso, deve permanecer por algum tempo no banco de dados. c) Um aluno pode fazer mais de um curso. 12. Esboce o diagrama do exercício anterior na notação de Peter Chen, especificando as cardinalidades mínimas e máximas (min,max). 13. Escreva um esquema textual (em DDL/SQL) equivalente ao diagrama do exercício 11.
  • 43. Bancos de Dados Parte 3: O Modelo Entidade-Relacionamento Pag.: 43 14. Sem usar atributos opcionais, nem atributos multivalorados, construa um diagrama ER com as mesmas informações do diagrama abaixo. Telefone Código Cliente Nome *