Bancos de Dados Prof. André Luiz Souza Korth-Cap2 Modelo Entidade-Relacionamento BD.
Transcript of Bancos de Dados Prof. André Luiz Souza Korth-Cap2 Modelo Entidade-Relacionamento BD.
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
BD
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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 :
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
Entidade = Tem um conjunto de propriedades, e os valores para estas propriedades podem ou não ser único.Exemplo :
Entidade = CarroPropriedades = Cor , modelo , número placa , ano de fabricação, quantidade de portas, renavan , combustivel, número chassi , etc . . .
2.1.1 Conjunto de Entidades
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
Entidade = Pode ser concreta ou abstrata.Exemplos :
2.1.1 Conjunto de Entidades
Viagem , venda ou compra,
empréstimo, aluguel, notícia,
cirurgia, etc...
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
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çãoQuantidade de portas
Combustível...
Fusca ClioRanger
Vermelho Prata Branco
GFR9387 RDF3829 ILI2731
1977 2002 2003
2 4 2
Gasolina Alcool Diesel
...
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.1.1 Conjunto de Entidades
Tipos de propriedades ou atributos :
Simples ou Composto
Cor = Verde
Idade = 45 anos
Peso = 65 kg
Salário = R$ 900,00
Endereço (rua+numero+cep)
Nascimento (dia+mês+ano)
Filiação(Nome pai + nome mãe)
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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
EndereçoResidencial, trabalho,
correspondência
TelefoneCelular,
Residencial, trabalho
DocumentosRG, Cpf, CNH
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
É uma associação entre uma ou várias entidades.
2.1.2 Conjuntos de Relacionamentos
Nome População
Uberaba280.000Campinas 1.320.000Araxá 86.000Igarapava 26.000Catalão 295.000Araguari 43.000Campos 134.500... ...
CIDADESSigla Nome
MG Minas GeraisSP São PauloRJ Rio de JaneiroGO GoiásPR ParanáSC Santa Catarina... ...
ESTADOS
CJ
Entid
ades
CJ
Ent
idad
es
CJ
Rel
acio
nam
ento
sA
trib
uto
Atr
ibut
o
Entidade
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.1.2 Conjuntos de Relacionamentos
Nome
Maria SoutoJonas CunhaTiago Moreira... ...
Corretor
RG Nome
22352 Pedro Silva45323 Rita Pinho93829 Mario Costa... ...
Comprador
Preço Endereço
80Mil Av. B, 8847Mil Rua Y, 8393Mil Al. J, 45... ...
Imóvel
Abaixo temos um exemplo ternário
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
Nos sistemas a maior parte são binários, como no exemplo abaixo
2.1.2 Conjuntos de Relacionamentos
Nome População
Uberaba280.000Campinas 1.320.000Araxá 86.000Igarapava 26.000Catalão 295.000Araguari 43.000Campos 134.500... ...
CIDADESSigla Nome
MG Minas GeraisSP São PauloRJ Rio de JaneiroGO GoiásPR ParanáSC Santa Catarina... ...
ESTADOS
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.2.1 O Uso de Conjuntos de Entidades ou Atributos
NomeFelix JrTadeu Mara...
FILHOS
RG Nome Filho
45254 Mário Silva Felix Jr95837 Joana Goes Felix Jr57392 Tiago Borges Tadeu Maia... ... ... ...
Funcionários
Atributo ?
RG Nome45254 Mário Silva95837 Joana Goes57392 Tiago Borges69304 Eva Gomes... ...
Funcionários Um funcionário pode ter :
1 filho ,vários ounenhum
Um filho pode ter o pai e a mãe
na mesmaempresa
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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.
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.3 Mapeamento de Restrições2.3.1 Mapeamento das CardinalidadesÉ o número de entidades às quais outra entidade pode estar associada, via um conjunto de relacionamentos.
Nome População
Uberaba280.000Campinas 1.320.000Araxá 86.000Igarapava 26.000Catalão 295.000Araguari 43.000Campos 134.500... ...
CIDADESSigla Nome
MG Minas GeraisSP São PauloRJ Rio de JaneiroGO GoiásPR ParanáSC Santa Catarina... ...
ESTADOS
Uma cidade pode estar associada a quantos estados ? Um estado pode estar associado a quantas cidades ?
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.3.1 Mapeamento das Cardinalidades - Um para Um
Uma entidade homem deve se casar apenas com uma entidade mulher. Uma entidade mulher deve se casar apenas com uma entidade homem.
Casamentos
11 Cardinalidade
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.3.1 Mapeamento das Cardinalidades – Um para Muitos ou Muitos para Um
Uma pessoa é proprietária de N veículos, 1 veículo é de propriedade de uma pessoa.
Propriedade
N1 Cardinalidade
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.3.1 Mapeamento das Cardinalidades – Muitos para Muitos
Um médico trata de vários pacientes, um paciente pode ser tratado por vários médicos
Tratamento
NN Cardinalidade
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
Veiculos
2.3.2 Dependência de Existência
EntidadeDominante Subordinada
Saida Origem Destino12/05/2003 Uberaba Araxá13/05/2003 Campinas Itapipoca14/02/2004 Araxá BH17/03/2004 Jubaí Anápolis... ...
Viagens
As entidades do conjunto de entidades Viagens dependem das entidades do conjunto de entidades veículos
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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 Entidades2.4.2 Conjuntos de Relacionamentos
Superchave, Chave candidata, chave primária, ...
Usaremos apenas o termo chave primária
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.4 Chaves chave primáriaQual atributo é a melhor opção para ser a chave primária :
Veículos Placa
Vendas Número NF
Médicos CRM
Pessoa CPF
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.5 DER – Diagrama Entidade-Relacionamento
Retângulos = CJ de entidades
Elipses = Atributos
Losangos = CJ Relacionamentos
Linhas = ligação entre objetos
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.5 DER – Diagrama Entidade-Relacionamento
abc
ghi
klm def
rst
A chave primária
deve ser sublin
hada
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.5 DER – Diagrama Entidade-Relacionamento
Um para muitos
abc
ghi
klm def
rst
hyg
plm
Cardinalidade
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
abc
ghi
klm def
rst
hyg
plmMuitos para muitos
2.5 DER – Diagrama Entidade-Relacionamento
Cardinalidade
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.5 DER – Diagrama Entidade-Relacionamento
Um para um
abc
ghi
klm def
rst
hyg
plm
Cardinalidade
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.5 DER – Diagrama Entidade-Relacionamento
abc
ghi
klm def
rst
hyg
plmopl
Atributo atrelado ao conjunto de relacionamentos
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.5 DER – Diagrama Entidade-Relacionamento
Pessoas
cpf
tem
nome
aluno
ResponsávelIndicadoresde papéis
Cj de relacionamentosMostra relação entre entidades do mesmo
conjunto
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.5 DER – Diagrama Entidade-Relacionamento
abc
ghi
klm def
rst
hyg
plm
fvc
azs
eds
Cj Relacionamentos
ternário
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.7 Recursos de Extensão do E-R2.7.1 Especialização
alunos
ra
pofessores
curso
codigo
formação
pessoascpf
nome
ISA
funcionarios
ctps
admissão
Especialização
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.7 Recursos de Extensão do E-R2.7.2 Generalização : é o contrário da especialização
alunos
ra
professores
curso
codigo
formação
pessoascpf
nome
ISA
funcionarios
ctps
admissão
Todos os atributos são adaptados no conjunto de entidades de nível superior, logicamente cada caso deve ser avaliado.
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.7 Recursos de Extensão do E-R2.7.3 Herança de Atributos
alunos
ra
professores
curso
codigo
formação
pessoascpf
nome
ISA
funcionarios
ctps
admissão
Um aluno tem :Cpf
NomeRa
Curso
Um funcionário tem :Cpf
NomeCtps
Admissão
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.7 Recursos de Extensão do E-R2.7.4 Restrições de Projeto : Determinação das entidades que podem participar do CJ -Definida por condição
alunos
ra
pofessores
curso codigo
formação
pessoascpf
nome
ISA
funcionarios
ctps
admissão
tipo
Esse tipo de generalização é chamado: Definida_por_atributo
Se o valor parao atributo tipo do Cj de entidades pessoas for alunos, então será selecionado tambémRa e curso
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.7 Recursos de Extensão do E-R2.7.4 Restrições de Projeto : Determinação das entidades que podem participar do CJ -Definida pelo usuário
alunos
ra
pofessores
curso codigo
formação
pessoascpf
nome
ISA
funcionarios
ctps
admissão
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.7 Recursos de Extensão do E-R2.7.4 Restrições de Projeto : Pode ou não pertencer a mais de um CJ de entidades de nível inferior -Mutuamente exclusivos
alunos
ra
pofessores
curso codigo
formação
pessoascpf
nome
ISA
funcionarios
ctps
admissão
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...
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.7 Recursos de Extensão do E-R2.7.4 Restrições de Projeto : Pode ou não pertencer a mais de um CJ de entidades de nível inferior -Sobrepostos
alunos
ra
pofessores
curso codigo
formação
pessoascpf
nome
ISA
funcionarios
ctps
admissão
Uma pessoa pode ser aluno e professor ou funcionário, ou ainda ser aluno, funcionário e professor.
Etc...
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.7 Recursos de Extensão do E-R2.7.5 Agregação - No modelo E-R Não é possível expressar relacionamentos entre relacionamentos
abc
ghi
klm def
rst
hygplm
lmn
opq
hij
DER com agregação
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.8 Projeto de um Esquema de Banco de Dados E-R
Atributo ou CJ de entidades
?
CJ de entidades ou CJ de
relaconamentos?
CJ de relaconamentos
ternário ou 2 binários?
Generalização ?
Agregação ?
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
Modelo Entidade-Relacionamento
2.8 Projeto de um Esquema de Banco de Dados E-R2.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,
Bancos de Dados
Prof. André Luiz SouzaKorth-Cap2
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
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