Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.
Transcript of Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.
![Page 1: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/1.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1
BANCO DE BANCO DE DADOSDADOS
Aula 3Aula 3
![Page 2: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/2.jpg)
Revisão
![Page 3: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/3.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 3
PARTE – IPARTE – I
Modelo E-RModelo E-R(Entidade-Relacionamento)(Entidade-Relacionamento)
![Page 4: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/4.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 4
MODELAGEM DE DADOS
Atividade de definição de um esquema de dados em um certo nível de abstração
modelagem conceitual
abstração de mais alto nível
objetivo: representação dos requisitos de dados do domínio
independente de modelo de BD
modelagem lógica
representação da modelagem conceitual em um modelo de BD
ênfase na eficiência de armazenamento
evitar: muitas tabelas (e junções); tabelas sub-utilizadas, ...
modelagem física ou implementação
esquema SQL para a modelagem lógica
dependente de SGBD
ênfase na eficiência de acesso
implementação de consultas, índices, ...
![Page 5: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/5.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 5
MODELAGEM CONCEITUAL
Vantagens
Independente de detalhes de implementação em um SGBD
Facilita a compreensão da semântica dos dados de um domínio
Melhor compreendido por usuários leigos
Pode ser mapeado para qualquer modelo de BD
Facilita a manutenção do modelo lógico
Propicia a engenharia reversa
![Page 6: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/6.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 6
INTRODUÇÃO AO MODELO E-R
Modelo desenvolvido por Chen em 1976;
Diversas extensões e notações foram definidasao longo do tempo
Provê ao usuário um alto nível de abstração, e por conseguinte facilita a construção de um esquema de BD;
A estrutura lógica do BD pode ser expressa graficamente pelo diagrama E-R
Um banco de dados representado por um modelo E-R, pode ser representado por uma coleção de tabelas.
O mapeamento entre os modelos E-R e Relacional é relativamente simples.
Existem várias ferramentas destinadas a mapear o Modelo E-R para Relacional;
É também chamado de esquema E-R ou diagrama E-R
![Page 7: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/7.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 7
COMPONENTES DO MODELO
Entidade – representação abstrata de um objeto do mundo real.
Relacionamento – abstração de uma associação entre (ocorrências de) entidades
Atributos – características de uma entidade
NOME MATRI DTA_NASC ENDERECO
Funcionário Departamentoatende
![Page 8: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/8.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 8
TIPOS DE ATRIBUTOS
Simples- Não há sub-atributo (Ex. salário)
Composto – múltiplos sub-atributos (Ex. endereço)
Multivalorados – podem assumir um conjunto de valores
NOME MATRI DTA_NASC
NUMRUA CIDADE
ENDERECO
TELEFONESFuncionário
![Page 9: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/9.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 9
TIPOS DE ATRIBUTOS
obrigatórios X opcionais
monovalorados X multivalorados
simples X compostos
![Page 10: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/10.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 10
TIPOS DE ATRIBUTOS
Atributos identificadores distinguem unicamente ocorrências de entidade
Toda entidade deve ter uma identificação
![Page 11: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/11.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 11
CARDINALIDADE MÁXIMA
Quantidade máxima de ocorrências de entidadesque podem estar associadas a uma ocorrência de outra entidade (1 ou N)
“um empregado está lotado no máximo em 1departamento. Um departamento tem até N empregados
lotados nele.”
![Page 12: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/12.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 12
CARDINALIDADE MÁXIMA
Exemplos:
![Page 13: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/13.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 13
CARDINALIDADE MÍNIMA E MÁXIMA
indica se a participação das ocorrências de entidades no relacionamento é obrigatória ou opcional
“um empregado pode estar lotado no máximo em 1departamento. Um departamento obrigatoriamente tem até N
empregados lotados nele.”
![Page 14: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/14.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 14
CARDINALIDADE MÍNIMA E MÁXIMA
Exemplos:
![Page 15: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/15.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 15
AUTO-RELACIONAMENTO
Representa uma associação entre ocorrências de uma mesma entidade
Requer a identificação de papéis
“um empregado pode ser supervisionado por no máximo1 empregado. Um empregado pode supervisionar no
máximo N empregados.”
![Page 16: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/16.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 16
RELACIONAMENTO TERNÁRIO
Abstração de uma associação entre três(ocorrências de) entidadesRequer a identificação de papéis
“um produto em uma cidade pode ser entregue por no máximo 1 distribuidor.”
![Page 17: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/17.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 17
ENTIDADE FRACA
A identificação de suas ocorrências depende da identificação de outra(s) entidade(s)
![Page 18: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/18.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 18
PARTE - IIPARTE - II
Extensões do Extensões do Modelo E-RModelo E-R
![Page 19: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/19.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 19
EXTENSÕES DO MODELO E-R
Possuem o objetivo de aumentar o poder de expressão do modelo provendo novos meios de representações.
As principais extensões são:
Especialização
Generalização
Herança de Atributos
Agregação
Existem muitas outras extensões. Como por exemplo, as relacionadas com aplicações para BD Distribuídos e BD Geográficos.
![Page 20: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/20.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 20
EspecializaçãoDefinição de uma entidade que é um subconjunto de uma outra entidade
GeneralizaçãoDefinição de uma entidade que é um superconjunto de uma outra entidade
Na prática, uma Fundamentos ou uma generalização produzem o mesmo conjunto de entidades. O que as diferem é a ordem que as entidades são geradas
![Page 21: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/21.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 21
Tipo de Generalização/Especialização
- Total ou Parcial - No tipo total, toda ocorrência de uma entidade genérica tem que possuir uma ocorrência de uma entidade especializada
- Exclusiva e não- exclusiva - No tipo exclusiva, uma ocorrência da entidade genérica só pode ter uma especialização
![Page 22: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/22.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 22
Agregação
- Ocorre quando um conjunto de entidades e relacionamentos comportam-se como se fosse uma entidade. Podendo desta forma associar-com com outras entidades.
![Page 23: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/23.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 23
Outra Representação para Agregação
![Page 24: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/24.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 24
Uma Extensão do Modelo E-R para Modelos Distribuídos
PEDIDO
CLIENTE
VENDEDOR
CTA_SALDO CTA_MOVTO
REGIÃO
CIDADE PRODUTO
FAZ
ATUA
SITUA-SE EM
POSSUI
ATENDE
PERTENCE A
ATUALIZ
A
COD_CIDADE
NOME
UF CEP
NOME
AREA
PERC_VENDA
COD_PED
DATA_PED
VL_PED
SITUACAO
IDENT
NOME
MATRICULA
CPF
MATRÍCULA VL_SAL
DO
DATA_ATU
HORA_ATU
CGC
NOME_FANT
ENDEREÇO
COD_MOVTO
HORA_MOVTO
VL_MOVTO
DATA_MOVTO
SITUACAO
IND_DEB_CRED
COD_PRODD NO
MEPREÇO
COD_PED
COD_PRODOD
QUANT
1
1
1
N
1
1 N
1 N
1
N
N
M N
COD_REGIAO
GERA
1
1
![Page 25: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/25.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 25
Uma Extensão do Modelo E-R para Modelos Distribuídos(Continuação)
VENDEDOR1
CTA_SALDO1
IDENT
NOME
MATRICULA
CPF
MATRÍCULA VL_SAL
DO
DATA_ATU
HORA_ATU
1NREGIÃO1
CIDADE1
ATUA
SITUA-SE EM
COD_CIDADE
NOME
UF CEP
NOME
AREA
PERC_VENDA
11
N
COD_REGIAO
1PERTEN
CE A
VENDEDOR2
CTA_SALDO2
IDENT
NOME
MATRICULA
CPF
MATRÍCULA VL_SAL
DO
DATA_ATU
HORA_ATU
1NREGIÃO2
CIDADE2
ATUA
SITUA-SE EM
COD_CIDADE
NOME
UF CEP
NOME
AREA
PERC_VENDA
11
N
COD_REGIAO
1PERTEN
CE A
[COD_REGIÃO = 1]
[ATUA.COD_REGIÃO = 1]
[PERTENCEA.ATUA.COD_REGIÃO = 1]
[SITUA-SEEM. COD_REGIÃO = 1]
[COD_REGIÃO = 2]
[ATUA.COD_REGIÃO = 2]
[PERTENCEA.ATUA.COD_REGIÃO = 2]
[SITUA-SEEM. COD_REGIÃO = 2]
![Page 26: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/26.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 26
PARTE - IIIPARTE - III
O Modelo RelacionalO Modelo Relacional
![Page 27: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/27.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 27
BREVE HISTÓRICO
• Foi introduzido por Codd (1970)
• Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance. Padrão este que ainda persiste até hoje.
• É um modelo formal, baseado na teoria matemática das relações. Fortemente fundamentada na Álgebra Relacional e no Cálculo Relacional.
• Um dos SGBD's precursores que implementaram este modelo foi o System R (IBM). Baseado em seus conceitos surgiram: DB2 (IBM), SQL-DS (IBM), Oracle, Informix, Ingres, Sybase entre outros.
![Page 28: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/28.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 28
CONCEITOS BÁSICOS
• O modelo relacional representa os dados num BD como uma coleção de tabelas (relações).
• Cada tabela terá um nome, que será único, e um conjunto de atributos com seus respectivos nomes e domínios.
• Todos os valores de uma coluna são do mesmo tipo de dados.
Exemplo de uma tabela:
![Page 29: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/29.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 29
CONCEITOS BÁSICOS (continuação)
•Terminologia do modelo:
Tabela é chamada de Relação
Linha é chamada de Tupla
Coluna é chamada de atributo
•Associado a um tipo de dados há um domínio.
•Um domínio D é um conjunto de valores atômicos. Exemplo: IdadeAluno: inteiro entre 16 e 70.
•Um esquema de relação R é denotado por R(A1,A2,...,An), onde é R representa um conjunto de atributos: R = {A1,A2,...,An}.
•O grau de uma relação é o número de atributos que seu esquema contém.
![Page 30: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/30.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 30
CONCEITOS BÁSICOS (continuação)
•Um instante (snapshot) de relação r, do esquema R(A1, A2, ...,An), denotado por r(R), é o conjunto de n-tuplas r = {t1,t2,...,tn}. Cada tupla t é uma lista ordenada de valores t = <v1,v2,...,vn>
•Uma instância r(R) é um subconjunto do produto cartesiano dos domínios de R.
•r(R) C (dom(A1) X dom(A2) X ... X dom(An))
![Page 31: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/31.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 31
ASPECTOS IMPORTANTES DAS RELAÇÕES
•A ordem das tuplas e dos atributos não tem importância.
•Todo atributo possui valor atômico.
•Cada atributo numa relação tem um nome que é único dentro da relação.
•Todas as tuplas devem ser únicas (conjunto).
•A fundamentação matemática está sempre presente.
![Page 32: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/32.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 32
CONCEITO DE CHAVE
•Superchave -Conjunto de um ou mais atributos que, tomados coletivamente nos permite identificar de maneira unívoca uma tupla em um conjunto de tuplas.
•Chave candidata - É uma superchave para qual nenhum subconjunto possa ser uma superchave.
•Chave primária é a chave candidata que é escolhida pelo projetista para identificar tuplas dentro de um conjunto de tuplas.
![Page 33: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/33.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 33
CHAVES DE UMA RELAÇÃO
•Convenciona-se sublinhar os atributos que compõem a chave primária. Ex.:Empregado (Matrícula, Nome, Endereço, Função,Salário)
•Um mesmo atributo pode ter nomes diferentes nas diversas relações em que participa. Ex.: Empregado (Matrícula, Nome, Endereço, Função, Salário, Dep) e Departamento(CodDepart, Nome, Endereço)
•Atributos que representam diferentes conceitos podem ter o mesmo nome.
![Page 34: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/34.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 34
RESTRIÇÕES DE INTEGRIDADE
• Integridade de Chave: Toda tupla tem um conjunto de atributos que a identifica de maneira única na relação.
• Integridade de Entidade: Nenhum valor de chave primária poderá ser NULO.
• Integridade Referencial: Uma relação pode ter um conjunto de atributos que contém valores com mesmo domínio de um conjunto de atributos que forma a chave primária de uma outra relação. Este conjunto é chamado chave estrangeira.
• Integridade Semântica: Define aspectos comportamentais do BD. Exemplo: Nenhum aluno que não cursou ICC poderá cursar Ling. de Programação.
![Page 35: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/35.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 35
PARTE - IVPARTE - IV
Mapeamento Mapeamento Modelo E-R para Modelo E-R para Modelo RelacionalModelo Relacional
![Page 36: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/36.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 36
MAPEAMENTO E-R -> RELACIONAL
•Para cada modelo conceitual E-R pode existir vários modelos Relacionais.
•A maioria das ferramentas de modelagem conceitual automatizam o mapeamento. Porém é importante conhecer as etapas deste mapeamento.
•A definição equivocada do modelo Relacional afeta a estrutura de todo o projeto.
•Muitas vezes a maneira como implementar as tabelas no modelo relacional dependem de decisões de projeto e não de regras pré-estabelecidas.
![Page 37: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/37.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 37
Um simples exemplos de mapeamento
![Page 38: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/38.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 38
ETAPAS DO MAPEAMENTO
ETAPA 1
Mapear todos os conjuntos de entidades não fracas.
Caso exista atributo composto, inclua todos os atributos elementares
Escolha um dos atributos chave de E como chave primária para a relação
Funcionário = {FNúmero, FNome, Endereço, Salário} Departamento = {DNúmero, DNome} Projeto = {PNúmero, PNome}
![Page 39: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/39.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 39
ETAPA 2Para cada conjunto de entidade fraca F no esquema ER cria-se uma relação R formada por todos os atributos do conjunto de entidade fraca, mais os atributos que são chave das entidades regulares com as quais a entidade se relaciona.
Dependente = {DependNome, FNúmero, DataNiver, Parentesco}
![Page 40: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/40.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 40
ETAPA 3Relacionamentos de cardinalidade 1 para 1 devem ser identificados e escolhida a entidade que receberá os atributos do relacionamento, assim como qual a entidade que receberá a chave estrangeira.
Funcionário = {FNúmero, FNome, Endereço, Salário} Departamento = {DNúmero, Dnome, FNúmero, DataIni}
![Page 41: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/41.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 41
ETAPA 4Para cada conjunto relacionamento de cardinalidade 1 para N, a chave primária da entidade que participa com cardinalidade N terá a chave primária da outra entidade como chave estrangeira.
Departamento = {DNúmero, Dnome, FNúmero, DataIni} Projeto = {PNúmero, Pnome, DNro}
![Page 42: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/42.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 42
ETAPA 5Para cada relacionamento binário M:N cria-se uma nova relação
Participar = {FNum, PNum, horas}
![Page 43: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/43.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 43
ETAPA 6Um relacionamento ternário produzirá uma relação
Oferecer = {OCod, CCod, FNum, Horário}
![Page 44: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/44.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 44
ETAPA 7
Existem duas maneiras de tratar atributos multivalorados no mapeamento:
1) Sabendo uma estimativa do número de ocorrências do atributo. Assim, pode-se adicionar à relação quantos atributos forem necessários.
2) Caso do número de ocorrências do atributo seja indefinido, cria-se uma nova relação.
LocalDep = {DNúmero, Localização} Departamento = {DNúmero, Dnome, FNúmero, DataIni, local1, local2, local3}
![Page 45: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/45.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 45
MAPEAMENTO DE ESPECIALIZAÇÕES
Três alternativas para mapeamento
1. tabela única para entidade genérica e suas especializações
2. tabelas para a entidade genérica e as entidades especializadas
3. tabelas apenas para as entidades especializadas
![Page 46: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/46.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 46
Alternativa 1
Tabela única para entidade genérica e suas especializações
![Page 47: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/47.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 47
Alternativa 2
Tabelas para a entidade genérica e as entidades especializadas
![Page 48: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/48.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 48
Alternativa 3
Tabelas apenas para as entidades especializadas
Não deve ser aplicado para especializações parciais
![Page 49: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/49.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 49
EXERCÍCIO
Baseado no modelo E-R, abordado em sala, para a Fórmula 1. Aplique todos os passos para o mapeamento E-R -> Relacional.
![Page 50: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1 BANCO DE DADOS Aula 3.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc178497959413d8efedf/html5/thumbnails/50.jpg)
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 50
Comentários sobre Exercício
•Esquema muito simples de ser gerado;
•Aplicação da etapa 1, abordada na aula passada, define praticamente todas as tabelas;
•O fato do modelo E-R ter sido representado através de uma ferramenta, facilita consideravelmente o processo de mapeamento;
Exemplos de Relações do Modelo
PILOTO(COD_PILOTO, NOME, DATA_NASC, COD_EQUIPE, COD_PAIS)
EQUIPE(COD_EQUIPE, NOME, NOME, COD_PAIS)
PAIS(COD_PAIS, NOME, POPULACAO)
CIRCUITO(COD_CIRCUITO, NOME, EXTENSAO, COD_PAIS)