Projeto de Banco de Dados
Ceça Moraes Dezembro/09
ConteúdoTransformação ER para relacional
04/2
7/23
2
Onde estamos??? 04/2
7/23
3
Transformações ER/Relacional
Transformações entre Modelos 04
/27/
23
5
Passos Transformação ER/Relacional
1. Tradução inicial de entidades e respectivos atributos
2. Tradução de relacionamentos e respectivos atributos
3. Tradução de generalizações/especializações
04/2
7/23
6
Passos Transformação ER/Relacional
1. Tradução inicial de entidades e respectivos atributos
2. Tradução de relacionamentos e respectivos atributos
3. Tradução de generalizações/especializações
04/2
7/23
7
Entidade 04/2
7/23
8
EntidadeRelacionamento Identificador
04/2
7/23
9
EntidadeRelacionamento Identificador
04/2
7/23
10
EntidadeRelacionamento Identificador
04/2
7/23
11
EntidadeRelacionamento Identificador
04/2
7/23
12
EntidadeRelacionamento Identificador
04/2
7/23
13
EntidadeRelacionamento Identificador
04/2
7/23
14
EntidadeRelacionamento Identificador
04/2
7/23
15
Passos Transformação ER/Relacional
1. Tradução inicial de entidades e respectivos atributos
2. Tradução de relacionamentos e respectivos atributos
3. Tradução de generalizações/especializações
04/2
7/23
16
RelacionamentosOpções de implementação:–Tabela própria–Adição de colunas a uma das
tabelas–Fusão de tabelasA alternativa usada depende da cardinalidade (máxima e mínima do relacionamento)
04/2
7/23
17
RelacionamentosTabela Própria 04
/27/
23
18
RelacionamentosAdição de Colunas 04
/27/
23
19
RelacionamentosAdição de Colunas 04
/27/
23
20
RelacionamentosFusão de Tabelas 04
/27/
23
21
Ceça
Mor
aes
22
Relacionamentos 1:1
OK
OK
OKOK
Não
Não
Não
Não +-
Ceça
Mor
aes
23
Relacionamentos 1:N
OKNão
OK NãoOKOKOK Não
NãoNão
NãoNão
NãoNão
Ceça
Mor
aes
24
Relacionamentos N:N
OK Não
OK NãoNãoNão
OKOK
NãoNãoNão
Passos Transformação ER/Relacional
1. Tradução inicial de entidades e respectivos atributos
2. Tradução de relacionamentos e respectivos atributos
3. Tradução de generalizações/especializações
04/2
7/23
25
Generalização/Especialização
Duas alternativas básicas:–uma tabela para cada entidade–uma única tabela para toda
hierarquia
Outra alternativa (exótica):–Subdivisão de entidade genérica
04/2
7/23
26
04/2
7/23
27
Uma Única Tabela para Hierarquia
Todas tabelas referentes às especializações são fundidas em uma única tabela, contendo:– Chave primária correspondente ao identificador
da entidade mais genérica– Caso não exista, uma coluna Tipo– Uma coluna para cada atributo da entidade
genérica– Colunas referentes aos relacionamentos (1:N
ou 1:1) dos quais participa a entidade genérica– Uma coluna para cada atributo de cada
entidade especializada (opcional)– Colunas referentes aos relacionamentos (1:N
ou 1:1) dos quais participa cada entidade especializada (campo opcional)
04/2
7/23
28
04/2
7/23
29Tabela Única da Hierarquia
Entidades Relacionadas
04/2
7/23
30Tabela Única da Hierarquia
Relacionamentos
04/2
7/23
31Tabela Única da Hierarquia
Tabela da Hierarquia
04/2
7/23
32Tabela Única da Hierarquia
identificador da Tabela da Hierarquia
04/2
7/23
33Tabela Única da Hierarquia
Coluna de Tipo
04/2
7/23
34Tabela Única da Hierarquia
Atributos Entidade Genérica
04/2
7/23
35Tabela Única da Hierarquia Relacionamento Entidade Genérica
04/2
7/23
36Tabela Única da Hierarquia
Atributos Especializações
04/2
7/23
37Tabela Única da Hierarquia
Atributos Especializações
04/2
7/23
38Tabela Única da Hierarquia Relacionamentos Especializações
04/2
7/23
39Tabela Única da Hierarquia
Resultado
Uma Tabela por Especialização
Criar uma tabela para cada entidade da hierarquia
Incluir a chave primária da tabela da entidade genérica, em cada tabela correspondente a uma entidade especializada
04/2
7/23
40
04/2
7/23
41Uma Tabela por Especialização
Raiz da Hierarquia
04/2
7/23
42Uma Tabela por Especialização
Entidades Especializadas
04/2
7/23
43Uma Tabela por Especialização
Entidades Especializadas
04/2
7/23
44Uma Tabela por Especialização
Entidades Especializadas
04/2
7/23
45Uma Tabela por Especialização
Entidades Especializadas
04/2
7/23
46Uma Tabela por EspecializaçãoRelacionamento Entidade Especializada
04/2
7/23
47Uma Tabela por Especialização
Entidade Especializada
04/2
7/23
48Uma Tabela por Especialização
Resultado
Tabela ÚnicaVantagens
Dados referentes à entidade genérica + dados referentes às especializações:–em uma única linha.Minimiza junções.Menor número de chaves.
04/2
7/23
49
Uma Tabela por EntidadeVantagens
Não tem colunas opcionais:–apenas aquelas referentes a
atributos opcionais
04/2
7/23
50
Subdivisão da Entidade Genérica
Uma tabela para cada entidade especializada
A tabela contém:–dados da entidade especializada– +–dados da entidade genérica.
04/2
7/23
51
Subdivisão da Entidade Genérica 04
/27/
23
52
Subdivisão da Entidade Genérica 04
/27/
23
53
Subdivisão da Entidade Genérica 04
/27/
23
54
Subdivisão da Entidade Genérica 04
/27/
23
55
Subdivisão da Entidade GenéricaDesvantagens
Unicidade do identificador de empregado:–não é garantida pelo SGBD;– deve ser garantida pela aplicação.Não há como especificar ao SGBD restrições de integridade referenciais, que façam referência ao conjunto de empregados como um todo
04/2
7/23
56
ReferênciasProjeto de Banco de Dados – Carlos Alberto Heuser, Capítulos 3, 4 e 5
04/2
7/23
57
Exercícios
Lista de ExercíciosPara os exercícios 1 e 2 a seguir, pede-se:–Dado o DER e conjunto de
atributos de cada entidade e relacionamento no DER, construa o modelo lógico correspondente
04/2
7/23
59
Exercício 1 - DER 04/2
7/23
60
(0,n)
Exercício 1 - AtributosProduto– Número, NomeComercial, TipoEmbalagem, Quantidade,
PreçoUnitárioFabricante– CGC,Nome,Endereço
Medicamento– Tarja,Fórmula
Perfumaria– Tipo
Venda– Data, NúmeroNota, NomeCliente, CidadeCliente
PerfumariaVenda– Quantidade, Imposto
MedicamentoReceitaVenda– Quantidade, Imposto
ReceitaMédica – CRM,Número,Data
04/2
7/23
61
Exercício 2 - DER 04/2
7/23
62
Exercício 2 - AtributosEscritório – Número, Local
Cliente – NúmeroCartMotorista, EstadoCartMotorista, Nome,
Endereço, TelefoneContrato aluguel – Número, Data, Duração
Veículo – Número, DataPróximaManutenção, Placa
Tipo de Veículo – Código, Nome, ArCondicionado
Automóvel – NúmeroPortas, DireçãoHidráulica, CâmbioAutomático, Rádio
Ônibus – NúmeroPassageiros, Leito, Sanitário
04/2
7/23
63