SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Banco de Dados
Modelagem Conceitual
por: Mário Sergio da Silva
Banco de Dados
Modelagem Conceitual
Prof. Mário Sergio da Silva
mariosergio30@gmail.com
Lattes: http://lattes.cnpq.br/1161794053211014
Atualizado em Maio/2016
Este material é uma adaptação didática que utiliza ilustrações e textos retirados de uma seleção criteriosa de publicações
disponíveis livremente na internet, juntamente com conteúdo inédito. (bibliografia disponível no final dos slides)
Conteúdo
 Modelagem Conceitual:
 Entidade, Atributos, Relacionamento
 Atributos de relacionamento e identificadores
 Cardinalidades: Máxima e Mínima
 Graus de um Relacionamento
 Tipos de Entidade: Forte, Fraca e Associativa
 Exercícios
44
Prof. Mário Sergio
4
Modelagem de Dados
Definições:
 Modelo Entidade Relacionamento (ER)
 É a técnica mais conhecida
 Tem como objetivo auxiliar na especificação geral do
sistema
 O modelo de dados é representado graficamente através
de um Diagrama de Entidade-Relacionamento (DER).
 Principais conceitos do Modelo ER são:
 Entidades
 Atributos e
 Relacionamentos
 Notação: Criada por Peter Chen em 1976
55
Prof. Mário Sergio
5
Modelagem de Dados
Notações DER
Entidade Associativa
Atributo Derivado
666
Modelagem de Dados
Entidade
 É um conjunto de objetos do mundo real sobre os quais se
deseja manter informações no banco de dados
 É distinguível de outros objetos
 Representada através de um retângulo
 Pussui existência própria, pode representar:
 objetos concretos (uma pessoa)
 objetos abstratos (um departamento) Departamento
Contabilidade
Financeiro
Jurídico
Pessoal
Empregado
João
Pedro
Paulo
Maria
Possui propriedades
Atributos e Relacionamentos
777
Modelagem de Dados
Atributo
 É um dado que é associado a cada ocorrência
de uma entidade ou de um relacionamento
 Exemplos de atributos de entidades:
Empregado
Nome
Endereço
Salário
Departamento
Descrição
númeroDeFuncionários
888
Modelagem de Dados
Exercício
 Considerando um sistema acadêmico, envolvendo
entidades que todos conhecemos, defina pelo
menos 3 atributos para cada uma das entidades
Aluno
Disciplina
Professor
Turma
999
Modelagem de Dados
Relacionamento
 Como expressamos que João trabalha no
Departamento de Contabilidade?
Empregado DepartamentoLotação
João
Pedro
Paulo
Maria
Contabilidade
Financeiro
Jurídico
Pessoal
Diagrama de Ocorrências (instâncias)
101010
Modelagem de Dados
Relacionamento
 É uma associação entre entidades
 Representado através de um losângulo e
linhas que ligam as entidades relacionadas
nomeDoRelacionamentoA B
111111
Modelagem de Dados
Relacionamento
 Exemplos de Relacionamentos
Cliente ContaContaCliente
Medico PacienteConsulta
Cidade
Residência
121212
Modelagem de Dados
Relacionamento
 Relacionamentos também possuem Atributos. Exemplo 1:
Médico PacienteConsulta
dataDaConsultanome celular nome endereço
Dr. Paulo
Dr. Flora
Vania
José
22/10/2007
05/02/2009
20/03/2009
instâncias
esquema
131313
Modelagem de Dados
Relacionamento
Empregado ProjetoAtuação
funçãonome salario sigla
Vania
Pedro
Gabriel
AATOM
Sinpli
coordenador
pesquisador
bolsista
 Relacionamentos também possuem Atributos. Exemplo 2:
instâncias
esquema
141414
Modelagem de Dados
Atributos Identificadores
 Cada entidade deve ter um identificador
 Identificador (também conhecido como chave):
 É o conjunto de um ou mais atributos ou
relacionamentos cujos valores servem para distinguir
uma ocorrência da entidade das demais ocorrências da
mesma entidade
Exemplos:
 os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um
cidadão brasileiro
 O CRM identifica um médico dentro do conselho regional.
Cliente
CPF
Nome
Endereco
Atributo Identificador Simples
Médico
CRM nome celular
151515
Modelagem de Dados
Atributos Identificadores (Composto)
Prateleira
NumeroCorredor
NumeroPrateleira
Capacidade
Suponha que temos um edifício de 4 andares
(1,2,3,4) e cada andar possua 4 apartamentos
(1,2,3,4). Neste caso, como os números dos
apartamentos são iguais em todos os andares,
fica impossível dizer qual ocorrência de
apartamento se deseja acessar. Para
solucionar o problema você deve informar
além do número do apartamento, o numero
do andar
Identificadores Compostos
161616
Modelagem de Dados
Atributos Identificadores
 Quando parte da chave é um relacionamento
 Exemplo: CPF do Empregado e numero sequencial na entidade
Dependente
 Entidade Fraca: entidade sem chave
 A entidade é identificada por algum atributo da entidade +
algum relacionamento
 Entidade Forte: entidade com chave
 A entidade é identificada por atributos da própria entidade
Empregado Dependente
Numero
Nome
Cpf
Nome
Endereco
Chave=CPF +
numero
possui
171717
Modelagem de Dados
Exercício
 Considerando o sistema acadêmico do exercício
anterior, já com os atributos, agora defina os
relacionamentos entre as entidades:
Aluno
Disciplina
Professor
Turma
nomeDoRelacionamentoA B
181818
Modelagem de Dados
Problema
A cooperativa de pesca PescaFácil possui 280 pescadores
associados, mas nem todos trabalham todos os dias. Você foi
contratado pelo diretor da PescaFácil para desenvolver um
programa que lhe permite fazer o controle da produção de peixes.
Ele disse: “A medida que cada pescador chega na cooperativa eu
preciso registrar o nome dele, assim como a espécie e o peso de
cada peixe que ele pescou no dia”.
Cada espécie possui um preço por Kg, e eu pago o valor total no
ato. Mas eu não quero toda vez digitar o nome por extenso da
espécie, para isso usamos a seguinte codificação:
1 – Serra (R$ 12,5)
2 - Dourado (R$ 8,0)
3 - Atum (R$ 13,8)
4 - Robalo (R$ 15,0)
5 - Sardinha (R$ 7,8)
Ah, e ainda tem mais, no futuro podem aparecer outras espécies.
Exercício:
Realize o levantamento de requisitos do
problema e elabore um DER, por
enquanto apenas com Entidades,
Relacionamentos e Atributos
191919
Modelagem de Dados
Cardinalidade
 Uma propriedade importante dos relacionamentos é a especificação
de quantas ocorrências de uma entidade podem estar associadas a
uma determinada ocorrência de outra entidade.
Cardinalidades:
1:1 (um-para-um)
1:N (um-para-muitos)
N:N (muitos-para-muitos)
Exemplo de notação 1:N
Representação
20
Modelagem de Dados
Cardinalidade 1 : 1 (Um Para Um)
 Uma ocorrência de A está associada a no máximo uma ocorrência
de B, e uma ocorrência em B está associada a no máximo uma
ocorrência em A.
João
Pedro
Paulo
Maria
Jurídico
Contabilidade
Financeiro
Conjunto A
(Empregado)
Conjunto B
(Departamento)
Empregado DepartamentoGerencia 11
cada
cada
Modelagem de Dados
Cardinalidade 1 : 1 (Um Para Um)
Outros Exemplos:
Auto Relacionamento
222222
Modelagem de Dados
Cardinalidade 1 : N (Um Para Muitos)
 Uma ocorrência de A está associada a várias ocorrências de B, porém
uma ocorrência de B deve estar associada a no máximo uma
ocorrência em A
Conjunto A
(Departamento)
EmpregadoDepartamento Lotação
N1
Contabilidade
Financeiro
Ana
Pedro
João
Sandro
Conjunto B
(Empregado)
cada
cada
Modelagem de Dados
Cardinalidade 1 : N (Um Para Muitos)
1 N
Outro Exemplo:
cada
cada
24
Modelagem de Dados
Cardinalidade M:N ou N:N (Muitos Para Muitos)
 Uma ocorrência de A está associada a qualquer número de ocorrências
de B, e uma ocorrência em B está associada a qualquer número de
ocorrências em A
Sigmoda
MM-TOM
Sinpli
AATOM
Conjunto A
(Empregado)
Conjunto B
(Projeto)
Empregado ProjetoAtua NN
João
Pedro
Paulo
Maria
cada
cada
Modelagem de Dados
Cardinalidade M:N ou N:N (Muitos Para Muitos)
25
Auto Relacionamento
Modelagem de Dados
Cardinalidade: Exemplos
26
Modelagem de Dados
Cardinalidade: Exemplos
27
Modelagem de Dados
Cardinalidade: Exemplos
28
292929
Modelagem de Dados
Cardinalidades (Mínima, Máxima)
 O modelo ER permite tambem expressar cardinalidades
mínimas. Que é o número mínimo de ocorrências de uma
entidade A com relação a uma outra entidade B
 Representação separada por vírgula:
(cardinalidade mínima, cardinalidade máxima)
Cardinalidades Possíveis:
(0,1) (1,1) (0,N) (1,N)
 Cardinalidade mínima = 1 (relacionamento obrigatório)
 Cardinalidade mínima = 0 (relacionamento opcional)
303030
Modelagem de Dados
Cardinalidades (Mínima, Máxima)
 Exemplos de Relacionamentos:
cada
cada
cada
313131
Modelagem de Dados
Cardinalidades (Mínima, Máxima)
 Exemplos de Relacionamentos:
cada
cada
cada
323232
Modelagem de Dados
Cardinalidades (Mínima, Máxima)
Cliente ContaContaCliente(1,1) (1,N)
 Exemplo de Relacionamento Obrigatório:
 Exemplo de Relacionamento Opcional:
Empregado DepartamentoGerencia(1,1) (0,1)
cada
cada
cada
cada
333333
Modelagem de Dados
Cardinalidade (Mínima, Máxima)
 Exemplo “Projeto Engenharia”:
Explicativo cardinalidades do DER acima:
Cada Engenheiro pode estar atuando em 0 projetos (em nenhum projeto), ou
seja, é opcional. Mas também pode estar atuando em vários (N) projetos.
Enquanto que, Cada projeto precisa da atuação de pelo menos 1 engenheiro,
ou seja, é obrigatório ter um engenheiro responsável. Assim como, podem
haver mais de um (N) engenheiros atuando no projeto.
343434
 Agora e a sua vez, descreva em detalhes as cardinalidades do DER ilustrado a seguir.
Modelagem de Dados
Exercícios
35
Defina as cardinalidades dos DER:
“Cooperativa de pesca PescaFácil“
“Sistema Acadêmico”.
Modelagem de Dados
Exercícios
36
Modelagem de Dados
Grau de um Relacionamento
É Dado pelo Total de Entidades envolvidas em um Relacionamento:
A grande maioria dos relacionamentos são de grau 2 :
Observe que, nos DER ao lado,
só há relacionamentos de GRAU 2,
Pois, cada um dos relacionamentos
possui apenas duas entidades
relacionadas.
Os relacionamentos são classificados
quanto ao seu GRAU, em:
Unário - Grau 1
Binário - Grau 2
Ternário - Grau 3
37
Modelagem de Dados
Grau de um Relacionamento: Unário (auto relacionamento)
Relacionamentos de Grau 1
Empregado
(0,N)
supervisiona
supervisor
(1,1)
supervisionado
Pessoa
(0,1)(0,1)
casadoCom
EsposaMarido
38
Modelagem de Dados
Grau de um Relacionamento: Ternário (grau 3)
Exemplo:
Cidade Distribuidor
Produto
distribuição
(1,1)(1,N)
(1,N)
39
Modelagem de Dados
Grau de um Relacionamento: Ternário (grau 3)
Mais
Exemplos:
40
Modelagem de Dados
Entidade Associativa
Tem o objetivo de eliminar relacionamentos com grau maior que 2
Assim, este DER que
possui relacionamento grau 3
que, na verdade,
quer dizer o seguinte:
Relacionamento de
Relacionamento
41
Modelagem de Dados
Entidade Associativa
Assim, com o uso de uma Entidade Associativa, o DER passa a ser de
Grau 2:
Entidade
Associativa
42
Modelagem de Dados
Ferramentas CASE
As ferramentas CASE permitem
a criação de diagramas de forma
simples em um ambiente de fácil
utilização e com recursos para
incluir as principais regras de
composição dos diagramas.
Exemplos comuns de ferramentas
profissionais: Star UML e
DBDesigner. O BrModelo é uma
ferramentas para fins
educacionais
Do inglês Computer-Aided Software Engineering, as
chamadas ferramentas CASE são aquelas baseadas em computadores
(softwares) utilizadas na Engenharia de Software para auxílio nas
atividades desde análise de requisitos até modelagem de dados.
434343
1. Construa um diagrama E-R para um hospital, com um conjunto de
pacientes e um conjunto de médicos. Registros de diversos exames e
avaliações 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 certo número
de carros. Cada carro tem um número de acidentes associados a ele.
3 Mostre como o projeto de banco de dados do diagrama abaixo pode ser
representado apenas por relacionamentos binários, expressando as mesmas
restrições.
Além disso,
defina os possíveis
atributos
Modelagem de Dados
Exercícios (nível médio)
444444
Um estabelecimento comercial contratou seus serviços para
modelar o banco de dados de VENDAS da empresa. Segundo o
gerente comercial, a empresa precisa ter um cadastro de clientes,
e armazenar cpf, nome, data de nascimento e cidade onde ele
mora. Os cliente podem fazer pedidos, inclusive mais de um por
dia. Os pedidos são numerados sequencialmente e devem ser
classificados em ATACADO ou a VAREJO, e podemos oferecer
descontos de acordo com a quantidade comprada. Além disso,
cada pedido pode ter mais de um produto e cada produto possui
uma marca, peso unitário e um preço padrão pré-cadastrado.
Ah, os vendedores conquistam novos clientes e acompanham os
cliente atuais, e por isso eles ganham comissão sobre os pedidos.
Modelagem de Dados
Problema Proposto (nível médio)
454545
A companhia discográfica PimbaParaTodos decidiu criar uma base de dados com
informação sobre os seus músicos bem como outra informação da companhia. A
informação dada ao desenhador foi a seguinte:
Cada músico tem um nro. de BI, um nome, uma morada e um número de telefone. Os
músicos em início de carreira muitas vezes partilham um endereço e além disso assume-se que
cada endereço só tem um telefone.
Cada instrumento usado nos estúdios tem um nome (ex. guitarra, bateria, etc.) e um código
interno.
Cada disco gravado na companhia tem um título, uma data, um formato (ex. CD, MC, K7), e
um identificador do disco.
Cada música gravada na companhia tem um título e um autor.
Cada músico pode tocar vários instrumentos, e cada instrumento pode ser tocado por vários
músicos.
Cada disco tem um certo número de músicas, mas cada música só pode aparecer num disco.
Cada música pode ter a participação de vários músicos, e cada músico pode participar em
várias músicas.
Cada disco tem um músico que é o seu produtor. Os músicos podem produzir vários discos.
Modelagem de Dados
Problema Proposto (nível avançado)
46
Bibliografia
 Elmasri & Navathe – Fundamentos de Bancos de
Dados
 Carlos Alberto Heuser – Projeto de Banco de
Dados
 Korth e Silberchatz – Sistema de Bancos de
Dados
 Baseado nos Slides de Vania Bogorny – UFSC
Universidade de Santa Catarina
47
Links sobre Linguagens/Banco de Dados
 http://www.dialetodigital.com/blog/conteudos-programacao/

Mais conteúdo relacionado

Mais procurados

Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Estrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na práticaEstrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na práticaLeinylson Fontinele
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dadossamlobo
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Leinylson Fontinele
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane FidelixCris Fidelix
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosElaine Cecília Gatto
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Leinylson Fontinele
 
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...Leinylson Fontinele
 
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
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Leinylson Fontinele
 

Mais procurados (20)

Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Estrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na práticaEstrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na prática
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Modelo E-R
Modelo E-RModelo E-R
Modelo E-R
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dados
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Aula 7 banco de dados
Aula 7   banco de dadosAula 7   banco de dados
Aula 7 banco de dados
 
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dados
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
 
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
 
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
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
03 mer2
03 mer203 mer2
03 mer2
 

Destaque

Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Vitor Leal Diniz
 
Diagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDiagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDjonathas Cardoso
 
Respostas exercício 1 bdi
Respostas exercício 1   bdiRespostas exercício 1   bdi
Respostas exercício 1 bdiPatty Muniz
 
Educação Tecnológica com Raspberry Pi
Educação Tecnológica com Raspberry PiEducação Tecnológica com Raspberry Pi
Educação Tecnológica com Raspberry PiMario Sergio
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamentoCarlos Melo
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosCláudio Amaral
 
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
 
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
 
Banco de dados model-er
Banco de dados model-erBanco de dados model-er
Banco de dados model-erCarlos Melo
 
Aula modelagem de dados
Aula modelagem de dadosAula modelagem de dados
Aula modelagem de dadosGabriel Moura
 
Bdm aula 8 - algebra relacional básica e consultas sql - ticianne darin
Bdm   aula 8 - algebra relacional básica e consultas sql - ticianne darinBdm   aula 8 - algebra relacional básica e consultas sql - ticianne darin
Bdm aula 8 - algebra relacional básica e consultas sql - ticianne darinTicianne Darin
 

Destaque (16)

Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Exercícios de relacionamento 2012
Exercícios de relacionamento 2012
 
Diagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDiagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados I
 
Respostas exercício 1 bdi
Respostas exercício 1   bdiRespostas exercício 1   bdi
Respostas exercício 1 bdi
 
Educação Tecnológica com Raspberry Pi
Educação Tecnológica com Raspberry PiEducação Tecnológica com Raspberry Pi
Educação Tecnológica com Raspberry Pi
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
 
5 bdoo+bdor
5 bdoo+bdor5 bdoo+bdor
5 bdoo+bdor
 
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de DadosPOO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
 
Database Design
Database DesignDatabase Design
Database Design
 
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
 
08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er
 
Banco de dados model-er
Banco de dados model-erBanco de dados model-er
Banco de dados model-er
 
Aula modelagem de dados
Aula modelagem de dadosAula modelagem de dados
Aula modelagem de dados
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
Bdm aula 8 - algebra relacional básica e consultas sql - ticianne darin
Bdm   aula 8 - algebra relacional básica e consultas sql - ticianne darinBdm   aula 8 - algebra relacional básica e consultas sql - ticianne darin
Bdm aula 8 - algebra relacional básica e consultas sql - ticianne darin
 

Semelhante a Modelagem conceitual de banco de dados

Modelagem
ModelagemModelagem
Modelagemprsimon
 
ModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfValdeir7
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Miguel Aquino
 
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
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Gustavo Zimmermann
 
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
 
Banco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfBanco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfPauloVictor415128
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfedilson42986
 
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdfLista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdfMárcio Finamor
 
Analise estruturada
Analise estruturadaAnalise estruturada
Analise estruturadaUNIPsystem
 
bd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfbd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfssuser69006f
 
Aulas de banco de dados
Aulas de banco de dadosAulas de banco de dados
Aulas de banco de dadosOseas_Lima
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dadosmlima72
 
Modelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de DadosModelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de Dadosinfo_cimol
 

Semelhante a Modelagem conceitual de banco de dados (20)

Modelo ER.pdf
Modelo ER.pdfModelo ER.pdf
Modelo ER.pdf
 
Banco de dados [ aula 2 ]
Banco de dados [ aula 2 ]Banco de dados [ aula 2 ]
Banco de dados [ aula 2 ]
 
Modelagem
ModelagemModelagem
Modelagem
 
Si modelação dados
Si   modelação dadosSi   modelação dados
Si modelação dados
 
Si modelação dados
Si   modelação dadosSi   modelação dados
Si modelação dados
 
ModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdf
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]
 
Bases De Dados
Bases De DadosBases De Dados
Bases De Dados
 
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
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
 
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
 
Banco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfBanco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdf
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdf
 
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdfLista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
 
Analise estruturada
Analise estruturadaAnalise estruturada
Analise estruturada
 
bd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfbd_aula02-IPMY.pdf
bd_aula02-IPMY.pdf
 
Aulas de banco de dados
Aulas de banco de dadosAulas de banco de dados
Aulas de banco de dados
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Modelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de DadosModelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de Dados
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 

Mais de Mario Sergio

Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)Mario Sergio
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)Mario Sergio
 
Curso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTCurso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTMario Sergio
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationMario Sergio
 
Curso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-endCurso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-endMario Sergio
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)Mario Sergio
 
Introdução a Banco de Dados (Parte 3)
Introdução a Banco de Dados (Parte 3)Introdução a Banco de Dados (Parte 3)
Introdução a Banco de Dados (Parte 3)Mario Sergio
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Mario Sergio
 
Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Mario Sergio
 
Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaMario Sergio
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)Mario Sergio
 
Curso de Java (Parte 1)
Curso de Java (Parte 1)Curso de Java (Parte 1)
Curso de Java (Parte 1)Mario Sergio
 

Mais de Mario Sergio (12)

Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
Curso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTCurso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service REST
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
Curso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-endCurso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-end
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)
 
Introdução a Banco de Dados (Parte 3)
Introdução a Banco de Dados (Parte 3)Introdução a Banco de Dados (Parte 3)
Introdução a Banco de Dados (Parte 3)
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)
 
Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)
 
Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs Java
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)
 
Curso de Java (Parte 1)
Curso de Java (Parte 1)Curso de Java (Parte 1)
Curso de Java (Parte 1)
 

Modelagem conceitual de banco de dados

  • 1. Banco de Dados Modelagem Conceitual por: Mário Sergio da Silva
  • 2. Banco de Dados Modelagem Conceitual Prof. Mário Sergio da Silva mariosergio30@gmail.com Lattes: http://lattes.cnpq.br/1161794053211014 Atualizado em Maio/2016 Este material é uma adaptação didática que utiliza ilustrações e textos retirados de uma seleção criteriosa de publicações disponíveis livremente na internet, juntamente com conteúdo inédito. (bibliografia disponível no final dos slides)
  • 3. Conteúdo  Modelagem Conceitual:  Entidade, Atributos, Relacionamento  Atributos de relacionamento e identificadores  Cardinalidades: Máxima e Mínima  Graus de um Relacionamento  Tipos de Entidade: Forte, Fraca e Associativa  Exercícios
  • 4. 44 Prof. Mário Sergio 4 Modelagem de Dados Definições:  Modelo Entidade Relacionamento (ER)  É a técnica mais conhecida  Tem como objetivo auxiliar na especificação geral do sistema  O modelo de dados é representado graficamente através de um Diagrama de Entidade-Relacionamento (DER).  Principais conceitos do Modelo ER são:  Entidades  Atributos e  Relacionamentos  Notação: Criada por Peter Chen em 1976
  • 5. 55 Prof. Mário Sergio 5 Modelagem de Dados Notações DER Entidade Associativa Atributo Derivado
  • 6. 666 Modelagem de Dados Entidade  É um conjunto de objetos do mundo real sobre os quais se deseja manter informações no banco de dados  É distinguível de outros objetos  Representada através de um retângulo  Pussui existência própria, pode representar:  objetos concretos (uma pessoa)  objetos abstratos (um departamento) Departamento Contabilidade Financeiro Jurídico Pessoal Empregado João Pedro Paulo Maria Possui propriedades Atributos e Relacionamentos
  • 7. 777 Modelagem de Dados Atributo  É um dado que é associado a cada ocorrência de uma entidade ou de um relacionamento  Exemplos de atributos de entidades: Empregado Nome Endereço Salário Departamento Descrição númeroDeFuncionários
  • 8. 888 Modelagem de Dados Exercício  Considerando um sistema acadêmico, envolvendo entidades que todos conhecemos, defina pelo menos 3 atributos para cada uma das entidades Aluno Disciplina Professor Turma
  • 9. 999 Modelagem de Dados Relacionamento  Como expressamos que João trabalha no Departamento de Contabilidade? Empregado DepartamentoLotação João Pedro Paulo Maria Contabilidade Financeiro Jurídico Pessoal Diagrama de Ocorrências (instâncias)
  • 10. 101010 Modelagem de Dados Relacionamento  É uma associação entre entidades  Representado através de um losângulo e linhas que ligam as entidades relacionadas nomeDoRelacionamentoA B
  • 11. 111111 Modelagem de Dados Relacionamento  Exemplos de Relacionamentos Cliente ContaContaCliente Medico PacienteConsulta Cidade Residência
  • 12. 121212 Modelagem de Dados Relacionamento  Relacionamentos também possuem Atributos. Exemplo 1: Médico PacienteConsulta dataDaConsultanome celular nome endereço Dr. Paulo Dr. Flora Vania José 22/10/2007 05/02/2009 20/03/2009 instâncias esquema
  • 13. 131313 Modelagem de Dados Relacionamento Empregado ProjetoAtuação funçãonome salario sigla Vania Pedro Gabriel AATOM Sinpli coordenador pesquisador bolsista  Relacionamentos também possuem Atributos. Exemplo 2: instâncias esquema
  • 14. 141414 Modelagem de Dados Atributos Identificadores  Cada entidade deve ter um identificador  Identificador (também conhecido como chave):  É o conjunto de um ou mais atributos ou relacionamentos cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade Exemplos:  os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um cidadão brasileiro  O CRM identifica um médico dentro do conselho regional. Cliente CPF Nome Endereco Atributo Identificador Simples Médico CRM nome celular
  • 15. 151515 Modelagem de Dados Atributos Identificadores (Composto) Prateleira NumeroCorredor NumeroPrateleira Capacidade Suponha que temos um edifício de 4 andares (1,2,3,4) e cada andar possua 4 apartamentos (1,2,3,4). Neste caso, como os números dos apartamentos são iguais em todos os andares, fica impossível dizer qual ocorrência de apartamento se deseja acessar. Para solucionar o problema você deve informar além do número do apartamento, o numero do andar Identificadores Compostos
  • 16. 161616 Modelagem de Dados Atributos Identificadores  Quando parte da chave é um relacionamento  Exemplo: CPF do Empregado e numero sequencial na entidade Dependente  Entidade Fraca: entidade sem chave  A entidade é identificada por algum atributo da entidade + algum relacionamento  Entidade Forte: entidade com chave  A entidade é identificada por atributos da própria entidade Empregado Dependente Numero Nome Cpf Nome Endereco Chave=CPF + numero possui
  • 17. 171717 Modelagem de Dados Exercício  Considerando o sistema acadêmico do exercício anterior, já com os atributos, agora defina os relacionamentos entre as entidades: Aluno Disciplina Professor Turma nomeDoRelacionamentoA B
  • 18. 181818 Modelagem de Dados Problema A cooperativa de pesca PescaFácil possui 280 pescadores associados, mas nem todos trabalham todos os dias. Você foi contratado pelo diretor da PescaFácil para desenvolver um programa que lhe permite fazer o controle da produção de peixes. Ele disse: “A medida que cada pescador chega na cooperativa eu preciso registrar o nome dele, assim como a espécie e o peso de cada peixe que ele pescou no dia”. Cada espécie possui um preço por Kg, e eu pago o valor total no ato. Mas eu não quero toda vez digitar o nome por extenso da espécie, para isso usamos a seguinte codificação: 1 – Serra (R$ 12,5) 2 - Dourado (R$ 8,0) 3 - Atum (R$ 13,8) 4 - Robalo (R$ 15,0) 5 - Sardinha (R$ 7,8) Ah, e ainda tem mais, no futuro podem aparecer outras espécies. Exercício: Realize o levantamento de requisitos do problema e elabore um DER, por enquanto apenas com Entidades, Relacionamentos e Atributos
  • 19. 191919 Modelagem de Dados Cardinalidade  Uma propriedade importante dos relacionamentos é a especificação de quantas ocorrências de uma entidade podem estar associadas a uma determinada ocorrência de outra entidade. Cardinalidades: 1:1 (um-para-um) 1:N (um-para-muitos) N:N (muitos-para-muitos) Exemplo de notação 1:N Representação
  • 20. 20 Modelagem de Dados Cardinalidade 1 : 1 (Um Para Um)  Uma ocorrência de A está associada a no máximo uma ocorrência de B, e uma ocorrência em B está associada a no máximo uma ocorrência em A. João Pedro Paulo Maria Jurídico Contabilidade Financeiro Conjunto A (Empregado) Conjunto B (Departamento) Empregado DepartamentoGerencia 11 cada cada
  • 21. Modelagem de Dados Cardinalidade 1 : 1 (Um Para Um) Outros Exemplos: Auto Relacionamento
  • 22. 222222 Modelagem de Dados Cardinalidade 1 : N (Um Para Muitos)  Uma ocorrência de A está associada a várias ocorrências de B, porém uma ocorrência de B deve estar associada a no máximo uma ocorrência em A Conjunto A (Departamento) EmpregadoDepartamento Lotação N1 Contabilidade Financeiro Ana Pedro João Sandro Conjunto B (Empregado) cada cada
  • 23. Modelagem de Dados Cardinalidade 1 : N (Um Para Muitos) 1 N Outro Exemplo: cada cada
  • 24. 24 Modelagem de Dados Cardinalidade M:N ou N:N (Muitos Para Muitos)  Uma ocorrência de A está associada a qualquer número de ocorrências de B, e uma ocorrência em B está associada a qualquer número de ocorrências em A Sigmoda MM-TOM Sinpli AATOM Conjunto A (Empregado) Conjunto B (Projeto) Empregado ProjetoAtua NN João Pedro Paulo Maria cada cada
  • 25. Modelagem de Dados Cardinalidade M:N ou N:N (Muitos Para Muitos) 25 Auto Relacionamento
  • 29. 292929 Modelagem de Dados Cardinalidades (Mínima, Máxima)  O modelo ER permite tambem expressar cardinalidades mínimas. Que é o número mínimo de ocorrências de uma entidade A com relação a uma outra entidade B  Representação separada por vírgula: (cardinalidade mínima, cardinalidade máxima) Cardinalidades Possíveis: (0,1) (1,1) (0,N) (1,N)  Cardinalidade mínima = 1 (relacionamento obrigatório)  Cardinalidade mínima = 0 (relacionamento opcional)
  • 30. 303030 Modelagem de Dados Cardinalidades (Mínima, Máxima)  Exemplos de Relacionamentos: cada cada cada
  • 31. 313131 Modelagem de Dados Cardinalidades (Mínima, Máxima)  Exemplos de Relacionamentos: cada cada cada
  • 32. 323232 Modelagem de Dados Cardinalidades (Mínima, Máxima) Cliente ContaContaCliente(1,1) (1,N)  Exemplo de Relacionamento Obrigatório:  Exemplo de Relacionamento Opcional: Empregado DepartamentoGerencia(1,1) (0,1) cada cada cada cada
  • 33. 333333 Modelagem de Dados Cardinalidade (Mínima, Máxima)  Exemplo “Projeto Engenharia”: Explicativo cardinalidades do DER acima: Cada Engenheiro pode estar atuando em 0 projetos (em nenhum projeto), ou seja, é opcional. Mas também pode estar atuando em vários (N) projetos. Enquanto que, Cada projeto precisa da atuação de pelo menos 1 engenheiro, ou seja, é obrigatório ter um engenheiro responsável. Assim como, podem haver mais de um (N) engenheiros atuando no projeto.
  • 34. 343434  Agora e a sua vez, descreva em detalhes as cardinalidades do DER ilustrado a seguir. Modelagem de Dados Exercícios
  • 35. 35 Defina as cardinalidades dos DER: “Cooperativa de pesca PescaFácil“ “Sistema Acadêmico”. Modelagem de Dados Exercícios
  • 36. 36 Modelagem de Dados Grau de um Relacionamento É Dado pelo Total de Entidades envolvidas em um Relacionamento: A grande maioria dos relacionamentos são de grau 2 : Observe que, nos DER ao lado, só há relacionamentos de GRAU 2, Pois, cada um dos relacionamentos possui apenas duas entidades relacionadas. Os relacionamentos são classificados quanto ao seu GRAU, em: Unário - Grau 1 Binário - Grau 2 Ternário - Grau 3
  • 37. 37 Modelagem de Dados Grau de um Relacionamento: Unário (auto relacionamento) Relacionamentos de Grau 1 Empregado (0,N) supervisiona supervisor (1,1) supervisionado Pessoa (0,1)(0,1) casadoCom EsposaMarido
  • 38. 38 Modelagem de Dados Grau de um Relacionamento: Ternário (grau 3) Exemplo: Cidade Distribuidor Produto distribuição (1,1)(1,N) (1,N)
  • 39. 39 Modelagem de Dados Grau de um Relacionamento: Ternário (grau 3) Mais Exemplos:
  • 40. 40 Modelagem de Dados Entidade Associativa Tem o objetivo de eliminar relacionamentos com grau maior que 2 Assim, este DER que possui relacionamento grau 3 que, na verdade, quer dizer o seguinte: Relacionamento de Relacionamento
  • 41. 41 Modelagem de Dados Entidade Associativa Assim, com o uso de uma Entidade Associativa, o DER passa a ser de Grau 2: Entidade Associativa
  • 42. 42 Modelagem de Dados Ferramentas CASE As ferramentas CASE permitem a criação de diagramas de forma simples em um ambiente de fácil utilização e com recursos para incluir as principais regras de composição dos diagramas. Exemplos comuns de ferramentas profissionais: Star UML e DBDesigner. O BrModelo é uma ferramentas para fins educacionais Do inglês Computer-Aided Software Engineering, as chamadas ferramentas CASE são aquelas baseadas em computadores (softwares) utilizadas na Engenharia de Software para auxílio nas atividades desde análise de requisitos até modelagem de dados.
  • 43. 434343 1. Construa um diagrama E-R para um hospital, com um conjunto de pacientes e um conjunto de médicos. Registros de diversos exames e avaliações 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 certo número de carros. Cada carro tem um número de acidentes associados a ele. 3 Mostre como o projeto de banco de dados do diagrama abaixo pode ser representado apenas por relacionamentos binários, expressando as mesmas restrições. Além disso, defina os possíveis atributos Modelagem de Dados Exercícios (nível médio)
  • 44. 444444 Um estabelecimento comercial contratou seus serviços para modelar o banco de dados de VENDAS da empresa. Segundo o gerente comercial, a empresa precisa ter um cadastro de clientes, e armazenar cpf, nome, data de nascimento e cidade onde ele mora. Os cliente podem fazer pedidos, inclusive mais de um por dia. Os pedidos são numerados sequencialmente e devem ser classificados em ATACADO ou a VAREJO, e podemos oferecer descontos de acordo com a quantidade comprada. Além disso, cada pedido pode ter mais de um produto e cada produto possui uma marca, peso unitário e um preço padrão pré-cadastrado. Ah, os vendedores conquistam novos clientes e acompanham os cliente atuais, e por isso eles ganham comissão sobre os pedidos. Modelagem de Dados Problema Proposto (nível médio)
  • 45. 454545 A companhia discográfica PimbaParaTodos decidiu criar uma base de dados com informação sobre os seus músicos bem como outra informação da companhia. A informação dada ao desenhador foi a seguinte: Cada músico tem um nro. de BI, um nome, uma morada e um número de telefone. Os músicos em início de carreira muitas vezes partilham um endereço e além disso assume-se que cada endereço só tem um telefone. Cada instrumento usado nos estúdios tem um nome (ex. guitarra, bateria, etc.) e um código interno. Cada disco gravado na companhia tem um título, uma data, um formato (ex. CD, MC, K7), e um identificador do disco. Cada música gravada na companhia tem um título e um autor. Cada músico pode tocar vários instrumentos, e cada instrumento pode ser tocado por vários músicos. Cada disco tem um certo número de músicas, mas cada música só pode aparecer num disco. Cada música pode ter a participação de vários músicos, e cada músico pode participar em várias músicas. Cada disco tem um músico que é o seu produtor. Os músicos podem produzir vários discos. Modelagem de Dados Problema Proposto (nível avançado)
  • 46. 46 Bibliografia  Elmasri & Navathe – Fundamentos de Bancos de Dados  Carlos Alberto Heuser – Projeto de Banco de Dados  Korth e Silberchatz – Sistema de Bancos de Dados  Baseado nos Slides de Vania Bogorny – UFSC Universidade de Santa Catarina
  • 47. 47 Links sobre Linguagens/Banco de Dados  http://www.dialetodigital.com/blog/conteudos-programacao/