Bancos de Dados
Modelo Entidade-Relacionamento
BD
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.1.1 Conjunto de Entidades
Entidade = Coisa ou objeto no mundo real que
pode ser identificada de forma unívoca em
relação a todos os outros objetos
Exemplos :
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.1.1 Conjunto de Entidades
Entidade = Tem um conjunto de propriedades,
e os valores para estas propriedades podem
ou não ser único.
Exemplo :
Entidade = Carro
Propriedades = Cor , modelo , número placa ,
ano de fabricação, quantidade de portas,
renavan , combustivel, número chassi , etc . . .
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.1.1 Conjunto de Entidades
Entidade = Pode ser concreta ou abstrata.
Exemplos :
Viagem , venda
ou compra,
empréstimo,
aluguel,
notícia,
cirurgia, etc...
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.1.1 Conjunto de Entidades
É um conjunto que abrange entidades de
mesmo tipo, que compartilham as mesmas
propriedades.
Exemplo : Entidade = Carros
Propriedades(Atributos)
Nome
Cor
Número placa
Ano de fabricação
Quantidade de portas
Combustível
...
Korth-Cap2
Fusca
Clio
Ranger
Vermelho
Prata
Branco
GFR9387
RDF3829
ILI2731
1977
2002
2003
2
4
2
Gasolina
Alcool
Diesel
...
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.1.1 Conjunto de Entidades
Tipos de propriedades ou atributos :
Simples
Cor = Verde
Idade = 45 anos
Peso = 65 kg
Salário = R$ 900,00
Korth-Cap2
ou
Composto
Endereço
(rua+numero+cep)
Nascimento
(dia+mês+ano)
Filiação
(Nome pai + nome mãe)
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.1.1 Conjunto de Entidades
Tipos de propriedades ou atributos :
Monovalorados ou Multivalorados
Cpf = 121.312.432-11
Placa = RTG3905
Peso = 65 kg
Nota da prova = 9,00
Korth-Cap2
Endereço
Residencial, trabalho,
correspondência
Telefone
Celular,
Residencial, trabalho
Documentos
RG, Cpf, CNH
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.1.1 Conjunto de Entidades
Tipos de propriedades ou atributos :
Nulos
Nome do Pai = um orfão não tem (nulo)
Titulo de eleitor = menores de 16 não tem
Dependentes = uma pessoa pode não ter
Conjuge = Um solteiro não tem
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.1.1 Conjunto de Entidades
Tipos de propriedades ou atributos :
Derivado
Idade = Diferença em anos da
data de hoje e a data de
nascimento
Salário líquido = salário bruto
retirando os descontos
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.1.2 Conjuntos de Relacionamentos
É uma associação entre uma ou várias
entidades.
CIDADES
Nome
População
Uberaba
Campinas
Araxá
Igarapava
Catalão
Araguari
Campos
...
280.000
1.320.000
86.000
26.000
295.000
43.000
134.500
...
Korth-Cap2
ESTADOS
Sigla
Nome
MG
SP
RJ
GO
PR
SC
...
Minas Gerais
São Paulo
Rio de Janeiro
Goiás
Paraná
Santa Catarina
...
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.1.2 Conjuntos de Relacionamentos
Abaixo temos um exemplo ternário
Imóvel
Preço
Endereço
80Mil
47Mil
93Mil
...
Av. B, 88
Rua Y, 83
Al. J, 45
...
Comprador
RG
Nome
22352
45323
93829
...
Pedro Silva
Rita Pinho
Mario Costa
...
Korth-Cap2
Corretor
Nome
Maria Souto
Jonas Cunha
Tiago Moreira
...
...
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.1.2 Conjuntos de Relacionamentos
Nos sistemas a maior parte são binários,
como no exemplo abaixo
CIDADES
Nome
População
Uberaba
Campinas
Araxá
Igarapava
Catalão
Araguari
Campos
...
280.000
1.320.000
86.000
26.000
295.000
43.000
134.500
...
Korth-Cap2
ESTADOS
Sigla
Nome
MG
SP
RJ
GO
PR
SC
...
Minas Gerais
São Paulo
Rio de Janeiro
Goiás
Paraná
Santa Catarina
...
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.2.1 O Uso de Conjuntos de Entidades ou Atributos
Funcionários
RG
Nome
Filho
45254
95837
57392
...
Mário Silva
Joana Goes
Tiago Borges
...
...
Felix Jr
Felix Jr
Tadeu Maia
...
Funcionários
RG
45254
95837
57392
69304
...
Korth-Cap2
Nome
Mário Silva
Joana Goes
Tiago Borges
Eva Gomes
...
FILHOS
Nome
Felix Jr
Tadeu Mara
...
Atributo ?
Um funcionário
Um filho pode
pode ter :
ter o pai
1 filho ,
e a mãe
vários ou
na mesma
nenhum
empresa
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.2.1 O Uso de Conjuntos de Entidades ou Atributos
O que constitui um atributo ?
O que constitui um conjunto de
entidades ?
Não existe uma resposta simples, as
distinções dependem, principalmente,
da estrutura real da empresa que está
sendo modelada e da semântica
associada aos atributos em questão.
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.2.2 Uso dos Conjuntos de Entidades e Conjunto de
Relacionamentos
•Conjuntos de Entidades: Usar para
descrever um agrupamento de objetos com
atributos comuns
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.2.2 Uso dos Conjuntos de Entidades e Conjunto de
Relacionamentos
Conjunto de relacionamentos: Usar
para descrever uma ação que ocorre
entre entidades
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.2.3 Conjuntos de Relacionamenos Binários X n-ésimos
Este tópico está
confuso no
livro, este
assunto estará
embutido
naturalmente
nos exemplos e
exercícios
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.3 Mapeamento de Restrições
2.3.1 Mapeamento das Cardinalidades
É o número de entidades às quais outra entidade pode estar
associada, via um conjunto de relacionamentos.
CIDADES
Nome
População
Uberaba
Campinas
Araxá
Igarapava
Catalão
Araguari
Campos
...
280.000
1.320.000
86.000
26.000
295.000
43.000
134.500
...
ESTADOS
Sigla
Nome
MG
SP
RJ
GO
PR
SC
...
Minas Gerais
São Paulo
Rio de Janeiro
Goiás
Paraná
Santa Catarina
...
Uma cidade pode estar associada a quantos estados ?
Um estado pode estar associado a quantas cidades ?
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.3.1 Mapeamento das Cardinalidades -
Um para Um
Casamentos
1
Cardinalidade
1
Uma entidade homem deve se casar apenas com uma entidade
mulher. Uma entidade mulher deve se casar apenas com uma
entidade homem.
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.3.1 Mapeamento das Cardinalidades –
Um para Muitos ou Muitos para Um
Propriedade
1
Cardinalidade
N
Uma pessoa é proprietária de N veículos, 1 veículo é de
propriedade de uma pessoa.
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.3.1 Mapeamento das Cardinalidades – Muitos para Muitos
Tratamento
N
Cardinalidade
N
Um médico trata de vários pacientes, um paciente
pode ser tratado por vários médicos
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.3.1 Mapeamento das Cardinalidades
O mapeamento apropriado de cardinalidades para
um conjunto de relacionamentos em particular é,
obviamente, dependente das situações reais que
estão sendo modeladas pelo conjunto de
relacionamentos
Depende do mini-mundo
Não há fórmula, depende do contexto, da
situação ou empresa que está sendo modelada
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.3.1 Mapeamento das Cardinalidades
•Pode afetar a colocação dos
atributos nos relacionamentos
•É impontante que a
cardinalidade represente
fielmente o contexto que está
sendo modelado
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.3.2 Dependência de Existência
Entidade
Dominante
Subordinada
Viagens
Veiculos
Saida
12/05/2003
13/05/2003
14/02/2004
17/03/2004
...
Origem
Uberaba
Campinas
Araxá
Jubaí
...
Destino
Araxá
Itapipoca
BH
Anápolis
As entidades do conjunto de entidades
Viagens dependem das entidades do
conjunto de entidades veículos
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.4 Chaves
É importante especificar como cada entidade é
identificada dentro do conjunto de entidades,
também como um relacionamento dentro de um
conjunto de relacionamentos.
2.4.1 Conjunto de Entidades
2.4.2 Conjuntos de Relacionamentos
Superchave, Chave candidata, chave primária, ...
Usaremos apenas o termo
chave primária
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.4 Chaves
chave primária
Qual atributo é a melhor opção para ser a chave primária :
Korth-Cap2
Veículos
Placa
Vendas
Número NF
Médicos
CRM
Pessoa
CPF
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.5 DER – Diagrama Entidade-Relacionamento
Retângulos = CJ de entidades
Elipses = Atributos
Losangos = CJ Relacionamentos
Linhas = ligação entre objetos
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.5 DER – Diagrama Entidade-Relacionamento
Elipses duplas = atributos multivalorados
linhas duplas = Indica participação total de
uma entidade em um conjunto de
relacionamentos
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.5 DER – Diagrama Entidade-Relacionamento
abc
klm
def
ghi
rst
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.5 DER – Diagrama Entidade-Relacionamento
Cardinalidade
abc
klm
def
hyg
ghi
plm
rst
Um para muitos
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.5 DER – Diagrama Entidade-Relacionamento
Cardinalidade
abc
klm
hyg
ghi
rst
Korth-Cap2
def
Muitos para muitos
plm
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.5 DER – Diagrama Entidade-Relacionamento
Cardinalidade
abc
klm
def
hyg
ghi
plm
rst
Um para um
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.5 DER – Diagrama Entidade-Relacionamento
abc
ghi
rst
Korth-Cap2
klm
def
hyg
opl
plm
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.5 DER – Diagrama Entidade-Relacionamento
Indicadores
de papéis
Responsável
Pessoas
cpf
tem
aluno
nome
Cj de relacionamentos
Mostra relação entre
entidades do mesmo
conjunto
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.5 DER – Diagrama Entidade-Relacionamento
fvc
azs
eds
abc
ghi
rst
Korth-Cap2
def
klm
hyg
plm
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.6 Conjunto de Entidades Fracas
•Se Não tem atributos suficientes para formar
uma chave primária
•Conceitos de Cj de entidades Fortes e Fracas
estão relacionados às dependencias
existentes,
•Blá, blá, blá, ...
•Este tópico será tratado de forma
mais concreta na correção dos
exercícios
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.7 Recursos de Extensão do E-R
2.7.1 Especialização
pessoas
cpf
nome
ISA
alunos
pofessores
funcionarios
ra
curso
codigo
ctps
formação
admissão
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.7 Recursos de Extensão do E-R
2.7.2 Generalização : é o contrário da especialização
pessoas
cpf
nome
ISA
alunos
professores
funcionarios
ra
curso
codigo
ctps
formação
admissão
Todos os atributos são adaptados no conjunto de entidades
de nível superior, logicamente cada caso deve ser avaliado.
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.7 Recursos de Extensão do E-R
2.7.3 Herança de Atributos
pessoas
cpf
nome
ISA
alunos
funcionarios
ra
curso
ctps
Um aluno tem :
Cpf
Nome
Ra
Curso
Um funcionário tem :
professores
Cpf
Nome
Ctps
codigo
Admissão
formação
admissão
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.7 Recursos de Extensão do E-R
2.7.4 Restrições de Projeto : Determinação das entidades que
podem participar do CJ -Definida por condição
pessoas
cpf
nome
ISA
tipo
alunos
pofessores
funcionarios
ra
curso
ctps
admissão
codigo
formação
Se o valor para
o atributo tipo
do Cj de
entidades
pessoas for
alunos, então
será selecionado
também
Ra e curso
Esse tipo de generalização é chamado: Definida_por_atributo
Korth-Cap2
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.7 Recursos de Extensão do E-R
2.7.4 Restrições de Projeto : Determinação das entidades que
podem participar do CJ -Definida pelo usuário
pessoas
cpf
nome
ISA
alunos
pofessores
funcionarios
ra
curso
ctps
admissão
Korth-Cap2
codigo
formação
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.7 Recursos de Extensão do E-R
2.7.4 Restrições de Projeto : Pode ou não pertencer a mais
de um CJ de entidades de nível inferior
-Mutuamente exclusivos
pessoas
Uma pessoa pode
ser aluno e não
pode ser professor
ou funcionário.
Um funcionário não
pode ser aluno ou
professor
Etc...
Korth-Cap2
cpf
nome
ISA
alunos
pofessores
funcionarios
ra
curso
codigo
ctps
admissão
formação
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.7 Recursos de Extensão do E-R
2.7.4 Restrições de Projeto : Pode ou não pertencer a mais
de um CJ de entidades de nível inferior
-Sobrepostos
Uma pessoa pode
ser aluno e
professor ou
funcionário, ou
ainda ser aluno,
funcionário e
professor.
pessoas
cpf
nome
ISA
alunos
pofessores
funcionarios
ra
curso
Etc...
Korth-Cap2
codigo
ctps
admissão
formação
Prof. André Luiz Souza
Modelo Entidade-Relacionamento
Bancos de Dados
2.7 Recursos de Extensão do E-R
2.7.5 Agregação - No modelo E-R Não é possível
expressar relacionamentos entre relacionamentos
abc
klm
def
hyg
plm
ghi
rst
hij
DER com
agregação
Korth-Cap2
lmn
opq
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.8 Projeto de um Esquema de Banco de Dados E-R
Atributo
ou CJ de
entidades
?
Generalização
?
CJ de
entidades ou
CJ de
relaconamento
s?
Agregação ?
CJ de
relaconamentos
ternário ou 2
binários?
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.8 Projeto de um Esquema de Banco de Dados E-R
2.8.1 Fases de Projeto
-Caracterizar todos os dados necessários na
perspectiva do usuário,
-O projetista escolhe o modelo de dados, e
aplicando os conceitos transcreve as
necessidades,
-Desenvolvimento completo do esquema
conceitual,
-Transporte do modelo de dados abstrato,
para sua implementação, ocorre nas 2 fases
finais do projeto,
Korth-Cap2
Prof. André Luiz Souza
Bancos de Dados
Modelo Entidade-Relacionamento
2.8 Projeto de um Esquema de Banco de Dados E-R
2.8.2 Dados Necessários
a uma empresa da área
bancária
2.8.3 Designação de
conjuntos de entidades
2.8.4 Designação de
conjuntos de
relacionamentos
2.8.5 Diagrama E-R
Korth-Cap2
Especificação dos
requisitos
identificação dos Cj de
entidades e seus atributos
identificação dos Cj de
relacionamentos e
cardinalidades
Elaboração do Modelo
Prof. André Luiz Souza
Download

BD-korth-capitulo2 - Professor André Luiz Souza