109
Transformações entre modelos Capítulo 5

Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $

Transformações entre modelos

Capítulo 5

Page 2: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # �

Transformações entre modelos

Modelo ER(conceitual)

Modelo relacional(lógico)

cCiclo de

re-engenhariade BD

Projeto lógicode BD relacional

Engenhariareversa de

BD relacional

Page 3: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # �

Projeto lógico

� � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � � � �

� � � � � � � � � �

� � � � � � � � �

� � � � � � � � � � � � � �

� � � � ! " � # � $ % "

& ' ( � � �

� ) * � + , " � � *

' ) ! , � � # ) � - "

. " # " . ) * "

� ) * � + , " � � *

Page 4: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # �

Transformação ER para relacional

• Regras gerais

� � � � � � � � � � � � � � � � � �

� � � � � � �

� � � � � � � � � � � ! " # ! ! � $ � ! % & � ' � ( ) � � " * ! � � ! * � � ) � "

" & � ( " ! # � "

+, - . / 0 - 0 1 2 3 4 3 5 0 - 6 0 7 7 3 - 0 1 2 3 5 8 9 : ;

• Objetivos básicos:

+

< = 3 . 0 7 6 = 7 - 3 1 > 0

+

: ? - . / ? 6 ? > 3 7 = 4 0 5 0 1 @ = / @ ? - 0 1 2 =

Page 5: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $

Regras gerais de tradução

• Evitar junções• Diminuir o número de chaves• Evitar campos opcionais

Page 6: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # �

Junção

• Operação para buscar dados de diversas linhas associadas pela igualdade de campos

• Exemplo:

+

� � 5 > 3 7 = 5 4 3 4 = 5 4 0 � - 0 - . 7 0 � 3 4 = 0 = 5 4 3 4 = 5 4 0

5 0 � 4 0 . 3 7 2 3 - 0 1 2 = � 4 � 3 5 2 3 � 0 / 3 5 4 ? 6 0 7 0 1 2 0 5 �

Page 7: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # �

Evitar junções

• SGBD relacional normalmente armazena os dados de uma linha contiguamente em disco

• Junção envolve diversos acessos a disco• Preferível

+ 2 0 7 = 5 4 3 4 = 5 1 0 > 0 5 5 � 7 ? = 5 3 � - 3 > = 1 5 � / 2 3 0 - � - 3

� 1 ? > 3 / ? 1 � 3

Page 8: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # �

Chave e índice

• Implementação eficiente do controle de chaves: SGBD usa um índice

+�1 4 ? > 0 5 2 0 1 4 0 - 3 = > � . 3 7 0 5 . 3 � = > = 1 5 ? 4 0 7 � @ 0 / 0 -

4 ? 5 > =

• Inserção e remoção de entradas em um índice

+

� = 4 0 - 0 � ? � ? 7 4 ? @ 0 7 5 = 5 3 > 0 5 5 = 3 4 ? 5 > =

Page 9: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # �

Diminuir o número de chaves

• Usar implementações com menos chaves • Exemplo

� � � � � � � � � � � � � � � � �

� � � �

� � � � � � � � � �

� � � � � � �

� � � � � � � � �

� �� � � � � � � � � � � � � � � � �

� � � �

� � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � �

� � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � �

Page 10: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # � �

Campos opcionais

• Campo opcional = campo que podem assumir o valor VAZIO (NULL em SQL).

• SGBD relacional não desperdiça espaço pelo fato de campos de uma linha estarem vazios

• Campo opcional não tem influência na performance

Page 11: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # � �

Evitar campos opcionais

• Controle de campo opcional pode complicar programação

+

� 0 7 ? 6 ? > 3 7 � � 3 ? 5 > 3 - . = 5 . = 4 0 - 0 5 2 3 7 @ 3 � ? = 5�

� � 3 1 4 = ? 5 2 = 4 0 . 0 1 4 0 4 = 2 ? . = 4 0 / ? 1 � 3

• Regra mais "fraca" que as precedentes

Page 12: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # � �

Exercício 5.1

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � �

� � � � � � � � �

� � � � � � � � � �

� � � �

� � � � � � �

� � � � � � � �

� � � � � � � �

� � � � � � � � � �

� � � �

� � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � �

� � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �� � � �� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � ��

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � �

� � � � � � � � � � � � � � � � � � ��

Page 13: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # � �

Passos da transformaçãoER para relacional

• Tradução inicial de entidades e respectivos atributos

• Tradução de relacionamentos e respectivos atributos

• Tradução de generalizações/especializações

Page 14: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # � �

Implementação inicial de entidades

• Cada entidade é traduzida para uma tabela• Cada atributo da entidade define uma colunadesta tabela

• Atributos identificadores da entidade correspondem a chave primária da tabela.

• Tradução inicial:

+

� 0 � 7 3 5 � � 0 5 0 � � 0 - . = 4 0 - 6 � 1 4 ? 7 2 3 � 0 / 3 5

Page 15: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # � $

Implementação de entidadeexemplo

� � � � � �

� � � � � � �

� � � � �

� � � �

� �

� � � � � � � � �

� �

� � � � � �

� � � � � � � � � � � � � � �

� � � �

� � � � � � � �

� � � � � � � �

� � � � � � � �

Page 16: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ %

Tradução de entidaderelacionamento identificador

& ' ( ) & * + , - , & ( & . , & . / &

0 12

1 3 0 42

5 3

5 6 7 89 8 : ; < 5 = > ?

= @ A > B 6

5 C 7 8 D 6

5 6 7 8

Dependente (CodigoEmp,NoSeq,Nome)

Page 17: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Relacionamento identificadorrecursão

� ��� �

* ) � ( -

� � � � �

� �

� �

� ��� �

� � � � � �

� � � � � � � �

� � � � � � �

� � � � � � � �

� � � � � � � � �

� � � � � � � � � � � � � � � �

� �

� � ��� �

� � � �

� � ! " � � � �

� � � � � � � �

� � � �

� � � �

� � � � * D # $ 6 0 % 6 A * D # $2

. 6 7 8 3

& 7 $ D 8 9 ? 0 % 6 A * D # $2

. 6 & 7 $ D 8 9 ?2

. 6 7 8 3

& 7 $ D 8 B ? A 6

0 % 6 A * D # $2

. 6 & 7 $ D 8 9 ?2

. 6 & 7 $ D 8 B2

. 6 7 8 3

, 8 $ 8 5 A 8 5 & 8

0 % 6 A * D # $2

. 6 & 7 $ D 8 9 ?2

. 6 & 7 $ D 8 B2

. 6 ' 8 :2

. 6 7 8 3

Page 18: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Nomes de colunas

• Referenciados freqüentemente em programas e outras formas de texto em computador

• Para diminuir o trabalho de programadores

� � � � � � � � � � � � � � � � � � � � � � �

• SGBD relacional

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Page 19: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Nomes de atributose nomes de colunas

• Não transcrever os nomes de atributos para nomes de colunas.

• Nomes de atributos compostos de diversas palavras devem ser abreviados

• Nomes de colunas não necessitam conter o nome da tabela

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � ��

� � � �

Page 20: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

Nome da coluna chave primária

• Chave primária

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � �

• Recomendável

� � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � ! "

# $ � � � � � % � � �

Page 21: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ %

Implementação de relacionamento alternativas

• Tabela própria• Adição de colunas a uma das tabelas• Fusão de tabelas

• Alternativa depende da cardinalidade (máxima e mínima do relacionamento)

Page 22: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ $

Tabela própria

� � � � � � � � � � � � � � � � � � � � �

� ��

� � � ��

� �

� � � � � � � � � � � � � � �! � " # $ � � � � � � �

Engenheiro (CodEng,Nome)Projeto (CodProj,Título)Atuação (CodEng,CodProj,Função)

CodEng referencia EngenheiroCodProj referencia Projeto

Page 23: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

Adição de colunas

� � � � � � � � � � � �

� � � � � � � � � � � � � � �

� ��� � � �

�� �

� � � � � � � � � � � � � �� � � � � � � # $ � � � � � � �

Departamento (CodDept,Nome)Empregado (CodEmp,Nome,CodDept,DataLota)

CodDept referencia Departamento

Page 24: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

Fusão de tabelas

� � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� ��� � � ��� �

� � � � � � � � � �

� " � � �� � � � � " � � � # $ �

� � � � � � � � � � � � � � �

� � � ��

� � � � � � � � � � � � ��

� � � � � � � � � �

Page 25: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

Implementação de relacionamentos 1:1

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � �

� � �� � �

� �! " �

#! $ � �

% � � � � � $

& '(

) * & '(

) * + , -

& '(

) * & )(

) * - + ,

& )(

) * & )(

) * - - ,

, . / 0 1 2 3 4 0 5 6 4 7 2 1 8 1 2 5 9 4 +

: ; 9 1 < 1 2 = < 4 9 4

- > ? ; = < 4 2

Page 26: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ %

1:1 - ambas entidades opcionais exemplo

& ' ( ) ( * + , + ( ) - . ' ( / 0 & ) 1

2 34

5 6 2 34

5 6

7 8 9 : ; < 8 = 8 9 - > ? 9 7 8 9 : ; < 8 = 8 9@ = ; = 1 9 A < ? 9 - > ? 9

Page 27: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ �

1:1 - ambas opcionaisadição de colunas

Mulher (IdentM,Nome,IdentH,Data,Regime)IdentH referencia Homem

Homem (IdentH,Nome)

� � � � � � � � � � � � � � � � � �

��

� � ��

� �

� � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � �

Page 28: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ %

1:1 - ambas opcionaistabela própria

� � � � � � � � � � � � � � � � � �

��

� � ��

� �

� � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � �

& ' ( ) * + , - . * / 0 &1

2 3 4 * 5

6 3 4 * 4 , - . * / 0 61

2 3 4 * 5

7 8 9 8 : ; < = > ? @ A ; < = BC

@ A ; < = DC

E 8 = 8C

F ; G H : ; I

@ A ; < = B J ; K ; J ; < L H 8 B M N O ; J

@ A ; < = D J ; K ; J ; < L H 8 D > : ; :

Page 29: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

1:1 - ambas opcionaisfusão de tabelas

� � � � � � � � � � � � � � � � � �

��

� � ��

� �

� � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � �

Casamento (IdentH, NomeH, Data,Regime, IdentM,NomeM)

Page 30: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

1:1 - ambas opcionaisdiscussão

• Solução por fusão de tabelas é inviável

� � � � � � � � � � � � � �

• Solução por adição de colunas melhor

� � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �• Solução por tabela própria aceitável

Page 31: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

1:1 - Uma entidade opcionaloutra obrigatória

� � � � � � � � �

� � � � �

� � � � � � � �

��

� � ��

� �

� � . � � 3 2 3 4 * � � . � � 3 � 0 � �

Page 32: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � $

1:1 - opcional/obrigatóriafusão de tabelas

� � � � � � � � �

� � � � �

� � � � � � � �

��

� � ��

� �

� � . � � 3 2 3 4 * � � . � � 3 � 0 � �

Correntista (CodCorrent,Nome,CodCartão,DataExp)

Page 33: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

1:1 - opcional/obrigatóriaadição de colunas

� � � � � � � � �

� � � � �

� � � � � � � �

��

� � ��

� �

� � � � � � � � � � � � � � � � � � � � � � ��

Correntista (CodCorrent,Nome)Cartão(CodCartão,DataExp,CodCorrent)

CodCorrent referencia Correntista

Page 34: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

1:1 - opcional/obrigatóriatabela própria

� � � � � � � � �

� � � � �

� � � � � � � �

��

� � ��

� �

� � � � � � � � � � � � � � � � � � � � � � ��

Correntista (CodCorrent,Nome)Cartão(CodCartão,DataExp)CartãoCorrentista(CodCartão,CodCorrent)

CodCorrent referencia CorrentistaCodCartão referencia Cartão

Page 35: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

1:1 - opcional/obrigatóriadiscussão

• Solução por tabela própria é pior que a solução por adição de colunas

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Page 36: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

1:1 - opcional/obrigatóriadiscussão

• Adição de colunas versus fusão de tabelas

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

Page 37: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

1:1 - Ambas entidades tem participação obrigatória

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

��

� � ��

� �

� � � � � � � � � �

� � � � �

� � � � � � � � � � � � �

Page 38: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � %

1:1 - ambas obrigatóriasfusão de tabelas

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

��

� � ��

� �

� � � � � � � � � �

� � � � �

� � � � � � � � � � � � �

� 3 / � * + � / � � , � 3 . � 3 / �1

2 3 4 *1

� 0 - / � 0 � 3 4 � + �1

/ . * + � 3 4 � + � 5

Page 39: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

1:1 - Ambas obrigatórias

• Nenhuma das demais alternativas atende plenamente

• Em ambas

� � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

Page 40: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

Relacionamentos 1:n

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � �

� � � � � � �

� � �� � �

� � � ! �

" # � �

$ � � � � � #

% &'

( ) % &' *

) + , -

. /0

1 2 . 10 3

2 + , -

4 56

5 7 4 86 9

7 - , -

. 10

1 2 . 10 3

2 - , -

, : ; < = > ? @ < A B @ C > = D = > A E @ +

F G E = H = > I H @ E @

- J K G I H @ >

Page 41: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ %

1:n - caso 1

• A entidade que tem cardinalidade máxima 1 é obrigatória

& ' ( ) * + ) , ' - + . / . + ) 0 1 . ' , ( * ' 2 ) & .

3 45

4 6 3 75

8 6

9 : ; < = > - > ? @ - > ? @& A B A C > B A D E > 9 : ; < = >

Page 42: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ %

1:n - caso 1adição de colunas

& ' ( ) * + ) , ' - + . / . + ) 0 1 . ' , ( * ' 2 ) & .

3 45

4 6 3 &5

8 6

9 : ; < = > - > ? @ - > ? @& A B A C > B A D E > 9 : ; < = >

Departamento (CodDept,Nome)Empregado (CodEmp,Nome,CodDept,DataLota)

CodDept referencia Departamento

Page 43: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

1:n - caso 1tabela própria

& ' ( ) * + ) , ' - + . / . + ) 0 1 . ' , ( * ' 2 ) & .

3 45

4 6 3 &5

8 6

9 : ; < = > - > ? @ - > ? @& A B A C > B A D E > 9 : ; < = >

Departamento (CodDept,Nome)Empregado (CodEmp,Nome,Lotacao(CodEmp,CodDept,DataLota)

CodDept referencia DepartamentoCodEmp referencia Empregado

Page 44: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ $

1:n - caso 1discussão

• Fusão de tabelas

� � � � � � � � �

�� � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � �

• Adição de colunas é melhor que tabela própria

! � " � " # � � � $ � % � & � �

! � " � " # � � � $ � ' ( " ) * � �

� � � % + � � � , � � � � $ � � � � � � � � � " � �

Page 45: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

1:n - caso 2

• A entidade que tem cardinalidade máxima 1 é opcional

� � � � � � � � � � � � � � � � � � � � �

� �

� �

� � � � � � � � � � �� � � �

� � � � � � � � � � � �

� � ! " � � � # � � � � � �

Page 46: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

1:n - caso 2adição de colunas

� � � � � � � � � � � � � � � � � � � � �

� �

� �

� � � � � � � � � � �� � � �

� � � � � � � � � � � �

� � ! " � � � # � � � � � �

Financeira (CodFin,Nome)Venda (IdVend,Data,CodFin,NoParc,TxJuros)

CodFin referencia Financeira

Page 47: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

1:n - caso 2tabela própria

� � � � � � � � � � � � � � � � � � � � �

� �

� �

� � � � � � � � � � �� � � �

� � � � � � � � � � � �

� � ! " � � � # � � � � � �

Financeira (CodFin,Nome)Venda (IdVend,Data)Fianciam (IdVend,CodFin,NoParc,TxJuros)

IdVend referencia VendaCodFin referencia Financeira

Page 48: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

1:n - caso 2discussão

• Implementação por tabela própria também é aceitável

� � � % � � � � � � ) � � � � � � � � � � � " � �

� � $ � � � � � � ) � � � ' ( " ) * � � � " # � � � $ � % � & � �

Page 49: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

Relacionamentos n:n

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � �

� � �� � �

� �! " �

#! $ � �

% � � � � � $

& '( ) * & '( ) * + , ,

& '( ) * & -( ) * + , ,

& -( ) * & -( ) * + , ,

+ . / 0 1 2 3 4 0 5 6 4 7 2 1 8 1 2 5 9 4 , : ; < = > 4 2

Page 50: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ %

Relacionamentos n:n

& ' ( & ' ) & * + , - . / - 0 1 , 2 + , 3 & . ,

4 56

7 8 4 56

7 8

9 : ; < = > ' > ? @ . A B C D >E C 7 F G > 9 : ; < = >

Engenheiro (CodEng,Nome)Projeto (CodProj,Título)Atuação (CodEng,CodProj,Função)

CodEng referencia EngenheiroCodProj referencia Projeto

Page 51: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Relacionamento grau > dois

7 > ? @7 > ? @

� � � � � � � � � � � � � � � �

� � � � � � �

� � � � � � � � � � �� ��

� �

� ��� �

� ��� �

� : ; < = > � : ; < = >

� : ; < = >

7 > ? @

; � B � ; @

< 7 A � < >

Page 52: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Relacionamento grau>2

• Não são definidas regras específicas

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

Page 53: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ %

Relacionamento grau>2

& ' ( ) * ' + , ' & - *. ' & / & 0

1 * - & , ) -

2 34

5 6

& ' ( ) * ' + , ' 7 8 -2 9

49 6

2 94

9 6

2 94

9 6

2 34

5 6

2 34

5 6

5 : ; <5 : ; <

= > ? @ A : = > ? @ A :

= > ? @ A :

5 : ; <

? B C B ? <

@ 5 D = @ :

Page 54: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ �

Relacionamento grau>2

Produto (CodProd,Nome)Cidade (CodCid,Nome)Distribuidor (CodDistr,Nome)Distribuição (CodProd,CodDistr,CodCid,DataInicio)CodProd referencia ProdutoCodDistr referencia DistribuidorCodCid referencia Cidade

Page 55: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ $

Implementação de generalização/especialização

• Duas alternativas básicas

� � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

• Outra alternativa (exótica)

� � � � � � � � � � � � � � � � � � � � � � � �

Page 56: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ �

Generalização/especializaçãoexemplo

� � � � � � � � � � � � � � � � � �

� �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � � � � � �

� ! " # $

� � � � � � � � � % & �

' ( ) *

+ � , � �

� , - � . � �

� � �

� . - + � - . �

/ . 0 � 1 � + . 2 3 �

$

4 565 74 86

� 7

4 56

� 7

4 86

� 7

4 86

� 7

4 86

� 7

, 9

� � � � � �

� � � � � � � � � �

4 86

� 7

4 565 7

� � � � � � � � �

� � � � � �

� � � � � � � � �

� � � � � � � � �

Page 57: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ �

Uma tabela por hierarquia

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � �

� � � � � � � � � � �

� � � � ! " # $ % & # $ � ' ( # # ! ) " ( * + ! * , ! � ( $ + ! * , $ - $ ' � + ( # + � ! * , $ + � + !

% � $ ) . ! * / # $ ' �

� � � ) ( * 0 ( ! 1 $ ) , � 2 � + $ ' $ ( * � # 3 % � ' ( 4 3 * � 5 $ " (

� 6 % � ' ( 4 3 * � " � # � ' � + � � , # $ 7 3 , ( + � ! * , $ + � + ! . ! * / # $ ' �

� � ( 4 3 * � ) # ! - ! # ! * , ! ) � ( ) # ! 4 � ' $ ( * � % ! * , ( ) + ( ) 8 3 � $ ) " � # , $ ' $ " � �

! * , $ + � + ! . ! * / # $ ' � ! 8 3 ! ) ! 9 � % $ % " 4 ! % ! * , � + ( ) � , # � / ) + �

� 4 , ! # * � , $ � + ! � + $ ' $ ( * � # ' ( 4 3 * � ) : , � 7 ! 4 � + � ! * , $ + � + ! . ! * / # $ ' �

; < = > <

Page 58: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ %

Uma tabela por hierarquia

� � � � � � � � � � & � � � � � � � � � ' �

� 6 % � ' ( 4 3 * � " � # � ' � + � � , # $ 7 3 , ( + ! ' � + � ! * , $ + � + ! ! ) " ! ' $ � 4 $ ( � + �

) ( " ' $ ( * � 4 *

� ( 4 3 * � ) # ! - ! # ! * , ! ) � ( ) # ! 4 � ' $ ( * � % ! * , ( ) + ( ) 8 3 � $ ) " � # , $ ' $ " �

' � + � ! * , $ + � + ! ! ) " ! ' $ � 4 $ ( � + � ! 8 3 ! ) ! 9 � % $ % " 4 ! % ! * , � + ( )

� , # � / ) + � � 4 , ! # * � , $ � + ! � + $ ' $ ( * � # ' ( 4 3 * � ) : , � 7 ! 4 � + �

! * , $ + � + ! ) ' � % " ( ( " ' $ ( * � 4 *

Page 59: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ �

Uma tabela por hierarquia

� � � � � � � � � � ��

� � � �

� ��

� � ��

� � � � � � ��

� � � � � � � � ��

� � � ��

� � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � ��

� � �

� � � � � � � � � � � �

� � �

� � � � � � � � � � � � � � � � � ��

� � �

� � � � � � � � � � � ��

� � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � �

� � ! � � � � � � � � � !�

� � �

� � � � � � � � � " # � � � � � � � ��

� � � � � ! �

� � � � � � � � � � � � � � � � � � � �

� � � � � � ! � � � � � � � � � � � � ! � �

Page 60: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # � �

Uma tabela por entidade especializada

• Criar uma tabela para cada entidade que compõe a hierarquia

• Incluir a chave primária da tabela correspondente à entidade genérica, em cada tabela correspondente a uma entidade especializada

Page 61: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # � �

Uma tabelapor entidadeespecializada

� � � � � � � � � � ��

� � � �

� ��

� � ��

� � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � ��

� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � ��

� � � ��

� � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � ��

� � �

� � � � � � � � � � � �

� � �

� � � � � � � � � � � � � � � � � ��

� � �

� � � � � � � � � � � ��

� � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � �

� � ! � � � � � � � � � !�

� � �

� � � � � � � � � " # � � � � � � � ��

� � � � � � ! �

� � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � ! � � � � � � � � � � � � ! � �

Page 62: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # � �

Vantagens da implementaçãocom tabela única

• Dados referentes à entidade genérica + dados referentes às especializações

� � � � � � � � � � � � � �

• Minimiza junções• Menor número de chaves

Page 63: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ %

Vantagens da implementação com uma tabela por entidade especializada

• Colunas opcionais

& � ' � � � ( � ) � � � ( * � + � * � � , � ( � � , * � - � , . ( ) � � ' . / � �

( � * 0 � 1 � . ( / . ' . � , . / � 0 � ( , � / � � ' � � 2 3 .4

Page 64: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Subdivisão da entidade genérica

• Uma tabela para cada entidade especializada que não possua outra especialização (entidade folha da árvore)

• Tabela contém

&

/ � / . ( / � � � , � / � / � � ( ' � � � � 1 � / � �

&

/ � / . ( / � � � , � / � / � � � � � * � �

Page 65: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Subdivisão da entidade genérica

� � � � � � � � � � � � � � � ��� � � ��� � � ��� � ��� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � ��

� � � ��� � ��� � � � � � � � ��� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � ��

� � � ��� � ��� � � � � � � � ��

� � !�� � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � ��

� � � � �

� � � � � � � � � � ��� � � � �

" � � � � � � # � � � � � � � " � � ��� � � � �

� � � $ � � � � � � � � � � ��� � � � � " � � � �

� � � � � " � � � � � � � � � � � � � " � � � � � � # � �

" � � % � � � � � � � � " � � %�� � � � �

" � � � � � � � � & ' � � � � � � � � ��� � � � � " � � % �

� � � � � " � � % � � � � � � � � � � " � � % � � �

Page 66: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ $

Subdivisão da entidade genérica

• Desvantagem:

&

� � � � / � / � / � � � 0 � ' * � � � * � �

� � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � �

&

� 3 . � � . � . � ( ' � � + � � * � . � � � � * � ( , * � 2 � � ( / �

� � , � � * � / � / � * � + � * � � � � � (�

) � � + � 2 � � * � + � * � � � � � .

. � � � , . / � � � ' * � � � / . ( . � . � � , . / .

Page 67: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Refinamento do modelo relacional

• Projeto (engenharia) em geral

& . � ' * . � � ( ( . � � , * � . � / � � � . * � � � 1 � 0 � / � � , * .

/ � ( * � ( , * � 2 � � ( / � * � � * ( . ( � � ' . ( , � ( ' � � ( ' * � , � �

• Projeto de banco de dados

& . � ' * . � � ( ( . � � , * � .

� � � � � � � � � � � � � � � � � � � � � � � �

� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Page 68: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Refinamento do modelo relacional

• Algumas vezes

& � ( ) � � � � / � � � * � � / . � , * � 0 � ( / . � ( . / � ( * � � * � (

� � � � � 3 . � , � � / � * � ) � � ( � , . ( / � ' � * + . * � � � �

� � ' . ( , . ( � . ( � ( , � � �

• Necessário buscar alternativa que resulte em melhor performance do sistema

• Alternativas somente devem ser tentadas em último caso

&

� . ' . � , . / � 0 � ( , � / � ' * . � * � � � 2 3 . ( 3 . ( � � ' * �

' � . * � (

Page 69: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Refinamento do modelo relacional

• Relacionamentos mutuamente exclusivos• Simulação de atributos multivalorados• Informações redundantes

Page 70: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

Relacionamentosmutuamente exclusivos

� � � � � �

� � � � �

� � � �

� � � � � �

� � � � � �

� ��� �

� ��

� �

� ��� �� ��

� �

� � � � � � � � � � �

� � � � �

! � " # � $

Page 71: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

Relacionamentosmutuamente exclusivos

• Implementação pelas regras

• colunas CIC e CGC em Venda são especificadas como opcionais

" � � � � � ��� � � � �

" � � � � � � �� � � � � � �

� � � � � �� � � ��� � ��� � � �

� � � � � � � � � � � � � " � � �

� � � � � � � � � � � � � " � � � �

Page 72: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � �

Relacionamentosmutuamente exclusivos

• Implementação alternativa

& * � � * � � � � � � � . � � � � � ) � � � ' � * � � . � � � . � .

� � � / . . � ' * � / . *

&

� � ( 0 � � , � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � �

" � � � � � ��� � � � �

" � � � � � � �� � � � � � �

� � � � � �� � � ��� � � � � ��� � � � � � � � � �

Page 73: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � %

Tratamento deatributos multivalorados

� � � � � �� � � �

� � � �

� � � � � � � �

� � � � � � � � � ��� �

� � � � � �� � � �

� � � �

� � � � � �

� ��

� �� ��� �

� � � � � �

Page 74: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ %

Atributos multivaloradosimplementação padrão

Cliente (CodCli,Nome)Telefone (CodCli,Número)

CodCli referencia Cliente

Page 75: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

Atributos multivaloradosalternativa

• Condições de contorno:

� � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

� � � � � � � � � � � � � � �

� � � � � � � � � � � � � ! � " � � � ! # � � $ � � � � % # � � � & ! � # � '

( ) � * + � � � � � � � � � � � , � � � � � � � � � � � � � � � � �

� - � � � � � � � � � � � � � � � � . � � � � � / ) �

( - � � � � � � � � � � � ) � � � � � 0 , � � � � �

� � � � � � 1 � � � � � 2 � � � � � � � � � � � / 3 � �

� � � �

Page 76: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

Simulação de atributos multivalorados

• Implementação “desnormalizada”

� � � � � � � � � � �

( � � �

( � � � � ��

( � � � � � �

• Simular uma coluna multi-valorada através da criação de diversas colunas NumTel sufixadas por um número

Page 77: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ $

Simulação de atributos multivalorados

• Permite que os telefones de um cliente sejam obtidos mais rapidamente

• Implica em menos espaço ocupado

� � ) � . � � � � + � � � * � � � � + � � � � � � , � � � � � � �

• Inconveniente

� � � � � � � � � � � � � � � � - � � � � � � � � � � � � �

� � � . � � � , � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � * � � � � 2 � � � � � � � 0 �

� � � � � � � � � 0 �

Page 78: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

Informações redundantes

• Exemplo:

� � � � , � � � � � � � � � � � � � � � � � � � � / ) � � �

� � � � � � � � � � � � � � � � � � � , � � � � � � � � � �

� � � � � � � � � � � � � , � � � �

� % � � � � � # � � � % # � # ! � � � � � � � � � # �

� � � � � � � � � � � � � ! � � � � � # ! # � � � � � # % � � � � � � % �

� � � # ! � � � � � � # � � � � # % � % � % # �

• Pode ser mais eficiente (performance global do sistema)

� � � � � � � � � � � � � � � � � � � � � � � � , � � � � � � � � �

Page 79: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

Informações redundantesExemplo

� � � � � �

� �� � � � � �

� � � � � � � �

� � � � � �� � � � � � ��� �

� � � � � ��

� � � !� " # !

# $ % � � �

Page 80: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ %

Exercício 5.2DER

& ' ( ) * + (, - . ' / 0 - 1 + 2

3 2 ) / 0 - 3 2 1 + ( & 2 ' , * 3 - ' / -

4 2 1 ) -' 2 0 2 / + -

3 5 ) / 0 -

6 78

7 9 6 :8

; 9

6 :8

; 9

6 :8

; 9

6 78

; 9

6 :8

7 9

6 :8

; 9

<

Page 81: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ �

Exercício 5.2atributos

� � � � � � � � � � � ��

� � � � � � � � � ��

� � � � � � � � � � � �

� � � � � � � � � ��

� � � � � � � � � � � � � �

� � � � � � � � � � � � �

� � ��

� � � � � � � � �

� � � � � � � � � � � � � � ��

� ! � � � � �

� � � " � � � � � � � � � � �

# � � � � � $ � � ��

� � � � � � � ��

� � � � � � � � ��

� � � � � � � � � � � �

� � � " � � � � � # � � � � � � � � � � � � � � ��

% � � & � � �

� � � � � � � � � � ' � � � � � � # � � � � � � � � � � � � � � ��

% � � & � � �

' � � � � � � � ( � � � � � ' ��

� � � ��

$ � � � �

Page 82: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ �

Exercício 5.2solução

� � � � � � � � � �

� � � � � � � ��

� � � � � � � � � ��

� � � � � � � � � � � �

� � � � � � � � � ��

� � � � � � � � � � � � ��

� � � � � � � ��

� � � ��

� ! � � � ��

� � � � �

� � � " � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � �

� � ��

� � � � � � � � �

# � � � � � $ � � ��

� � � � � � � ��

� � � � � � � � ��

� � � � � � � � � � � �

� � � " � � � � � # � � � � � � �

� � � � � � � ��

� � � � � � � ��

� � � � � � � � � ��

% � � & � � �

� � �

� � � � � � � � � � � " � � � � � � � � � � � � � �

� � � � � � � � � � " � � � � � � � # � � � �

� � � � � � � � � � # � � � � � � �

� � � � � � � ��

� � � � � � � ��

� � � � � � � � � ��

% � � & � ��

' ��

� � � � �

� � �

� � � � � � � � � � � " � � � � � � � � � � � � � �

� � � � � � � � � � " � � � � � � � # � � � �

� ' ��

� � � � � � � " � � � � � � � ' � � � � � � � ( � � � �

' � � � � � � � ( � � � � � ' ��

� � � ��

$ � � � �

Page 83: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ �

Exercício 5.3DER

� � � � � �

�� � � � � �

� � � � �� � � � � � � �

�� � � � � �� � � !

� " # !

� � � � � � � �

� � � � � �

� � � � � � �

� � � � � � � � �

� � � !� " # !

� � � !� � # !

� � � !� " # !

� % � � � � � � � � �

� " # !� " # !

Page 84: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ �

Exercício 5.3atributos

� & � � � � ! � � � � � � � ��

� � � � � �

� � � � � � � � � � � � � � � � � � � � & � ��

� & � � � � � � � � � � � � � & � ��

� � ��

� � � � � � � ��

� � � � " � � � �

� � � � � � � � � � � � � � � � � � ��

$ � � ��

$ � � � � � � �

# � � � � � � � � � � ��

$ � � � � � ! � � � � � � � � � � � � ��

� � � � � �

� � � � � � # � � � � � � � ! � � � ��

� � ��

� � � � � � � � � � � � � �

� � � � ! � � � � � � � � � � � � � &�

$ � � � � � � � � � � � � � � � ��

� � � � � � � � � � � � ��

' � � � � �

� � � � & � � � � � � � & & � � � � � � &�

� � � � ��

� � � � � � � � �

Page 85: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ �

Exercício 5.3solução� � � � � � � � � � � � � � � � � �

� � � � � �

� � � � � � � � � � � � � � � � � � � � � ��

� � � � � � � � ��

� � � ��

� � � � � � ��

� � � � � � ��

� � � � � � � � � � � � � � � ��

� � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � ��

� � � � � � � � � � � � � � � � � � ��

� � �

� � � � � ��

� � � � � �

� � � � � � � � � ��

� � � � � � ! � � � � � � � � � � � ��

� � � ��

� � � � � � � � " � �

� � � � � � � � " � � � � � � � � � � " � � � � � � �

� � " � � � � � � � � � � � � � � � " ��

� � �

# � � � � � � � � � � � � � �

$ � � � � � � � � � � � � � � � � � � " ��

� � � � � � � � " � $ � � � � � � �

� � � � � � � � " � � � � � � � � � � " � � � � � � �

� � � � � � � � " � $ � � � � � � � � � � � � � � � " � � � � � � �

# � � � � � % � � � � � � � � � " ��

� � � � � � � � ��

� � � � � � & � � � ' � � � � ��

� ( � ) � � # � � � � ' � � � ��

* ' � � � �

� � � � � � � � " � � � � � � � � � � " � � � � � � �

+� � ) � � � � � � � � � � " ��

� � � � � � � � � � � � ��

� � � ��

$ � � � � ' � � � �

� � � � � � � � " � � � � � � � � � � " � � � � � � �

Page 86: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # # $ �

Engenharia reversade modelos relacionais

• Engenharia reversa

� � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � �

Page 87: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ %

Engenharia reversa

Modelo ER(conceitual)

Modelo relacional(lógico)

Projeto lógicode BD relacional

Engenhariareversa de

BD relacional

Page 88: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ $

Engenharia reversa de modelo relacional

• Passos:

�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � �

Page 89: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # $ �

Esquema relacionalpara engenharia reversa

� � � � � � � � � � � � � � � �

� � � � � � � � �

� � � � � � �

� � � � � �

� � � � � � � �

� � � � � �

� � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � �

� � � �

� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � �

� � � � � � � � �

� � � � � � � � � � �

� � � � � �

� � � � � � � �

� � � � � � � � �

� � � �

� � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � �

� � � �

� � � � � � � � � � � � � � � � � � �

� � � � � ! " � � � � � � �

� � � �

� # � � � � � �

� � � �

� � � � � � � � � � � � � � � � � � �

Page 90: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # � �

Identificação da construção ER correspondente a cada tabela

• Uma tabela pode corresponder a:

� � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � �

• Fator determinante

� � � � � � � � � � � � � � � � � � � � � � � � �

Page 91: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # � �

Tipos de tabelas paraidentificação de construção ER

� � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � � � �

� � � � � � � � � � � �

� � � � � � � � � � � � � �

Page 92: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # � �

Construções identificadas

� � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � �

� � � � � � � � � � � � � �

� � � � � � � �

� � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � �

� � � �

� � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � � �

� � � � � �

� � � � � � � �

� � � � � � � � �

� � � �

� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � �

� � � �

� � � � � � � � � � � � � � � � � � �

� � � � � ! " � � � � � � �

� � � �

� # � � � � � � � � � � � � � � � � � � �

� � � �

� � � � � � � � � � � � � � � � � � �

Page 93: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # # � �

Construções identificadas

� � � � � � � � � � � � �

� � � � � � �

��

� � � � � �

� � � �

� � � � � � � � �

Page 94: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ %

Identificação derelacionamentos 1:n ou 1:1

• Chave estrangeira que não se enquadra nas regras acima

& ' ( ) ' ( * ( + , -

. / 0 1 2 3 4 5 1 6 / 5 7 4 8 9 5

4 :. / 0 1 2 3 4 5 1 6 / 5 7 4 8 9 8

• Esquema não informa se é 1:1 ou 1:n

Page 95: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Identificação derelacionamentos 1:n ou 1:1

� � � � � � � � � � � � � � � �

� � � � � � � � �

� � � � � � �

� � � � � �

� � � � � � � �

� � � � � �

� � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � �

� � � �

� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � �

� � � � � � � � �

� � � � � � � � � � �

� � � � � �

� � � � � � � �

� � � � � � � � �

� � � �

� � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � �

� � � �

� � � � � � � � � � � � � � � � � � �

� � � � � ! " � � � � � � �

� � � �

� # � � � � � �

� � � �

� � � � � � � � � � � � � � � � � � �

$ � % � � � � ! � � � � � � � � �

� � � ! � � ! � � � � � � � � � � �

� � % � � � � � $ �

Page 96: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Identificação derelacionamentos 1:n ou 1:1

� � � � � � � � � � � � �

� � � � � � �

��

� � � � � �

� � � �

� � � � � � � � � ��

��

��

Page 97: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Definição de atributos

• Cada coluna não chave estrangeira é

& � � - , ' � � � , � + - ( + , � � - � ( � ' ( � - � � + - � ( + , �

� ' ' ( * ) � + � ( + , ( , - � ( � -

• As colunas chave estrangeira não correspondem a atributos

& � ' ' ( * ) � + � ( � - ' ( � - � � + - � ( + , � *

&� � � ' - � , ' - , - � - * + - * ( , - ) - * - + , ( ' � � ' ( *

Page 98: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Definiçãode

atributos

� � � � � � � � � �

� � � � � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � �

� � � � � � �

��

� � � � � �

� � � �

� � � � � � � � �

��

��

��

� � �

Page 99: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ $

Definição deidentificadores de entidades

• Coluna da chave primária que não é chave estrangeira

& � ' ' ( * ) � + � ( - � � - , ' � � � , � � � ( + , � � - � � ' � -

( + , � � - � ( � � ' ( � - � � + - � ( + , ��

• Coluna da chave primária que é chave estrangeira

& � ' ' ( * ) � + � ( - � � ' ( � - � � + - � ( + , � � � ( + , � � - � � ' � -

( + , � � - � (

Page 100: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � � �

Definição deidentificadoresde entidades

� � � � � � � � � �

� � � � � � � � �

� � � � � �

� � � � � �

� � � � � �

� � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � �

� � � � � � �

��

� � � � � �

� � � �

� � � � � � � � �

��

��

��

� � � � � �

Page 101: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � � �

Exercício5.4� � � � � � � � � � � � � � � � � � � �

� � � � � � � � ��

� � � � � � � � � � � � ��

� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � ��

� � � � � � � � ��

� � � � � � � � � � � � � � ��

� � � � � � � � � � � � �

� � � � � � � � � � � � ��

� � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � ��

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � ��

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � ��

� � � � � � � � ��

� � � � � �

� � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � ��

� � � � � � � � � � � ��

� � � � � � � � ��

� � � � � � ��

� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � ��

� � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � �

� � � � � � � �

� � � � � � � � � � � � � � ��

� � � � � ��

� � � ! � � � � �

Page 102: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � � �

Exercício 5.4passo 1

� � � � � � �

� � � �

� � � � �

� � � �

� � � �

� � � � � � �

��

� � � �

� � � � �

� � � � � � � � � � �

��

Page 103: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � � �

Exercício 5.4passo 2

� � � � � � �

� � � �

� � � � �

� � � �

� � � �

� ��

� �

� � � � � � �

��

� � � �

� � � � �

� � � � � � � � � � �

��

Page 104: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � � %

Exercício 5.4DER final

� � � � � � �

� � � �

� � � � �

� � � �

� � � �

� ��

� �

� � � � � � �

��

� � � �

� � � � �

� � � � � � � � � � �

��

Page 105: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � � �

Exercício 5.4atributos

� � � � � ! � � � � � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � �

� � ! � � � � � � �

� ! � � � � � � � � ! � � � ! � �

� � � � � � ! � � �

� � � � � ! � � � � � � � � � � �

� � � � � � � � �

� � � � � � � � � � � � � �

� � � � � � �

� � � $ � � � � �

Page 106: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � � �

Exercício 5.5

� � � � � � � � � � � �

� � � � � � � �

� � � � � � � �

� � ! � � � � �

� � � � � � � � �

� � ! � � � � � �

� � � � � �

� � � $ � � � � � � �

� � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � �

� � � $ � � � � � � � � � � � � � � � � � � � � �

� � � � � � � �

� � � � �

� � � � �

� � � � � � � � � � � � �

� � � � � � � � �

� � � � � � � � � �

� � � � � � � � � � � �

� � � � � � � � � � � �

� � ! � � � � �

� � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

Page 107: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � � �

Exercício 5.5passo 1

� � � �

� � � � � � �

� � � � � �

� � �

Page 108: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � � �

Exercício 5.5passo 2

� � � �

� � � � � � �

� � � � � �

� � � � �

� � �

� � � � � �

� � � �� � � � � � � � �

� �

��

Page 109: Transformações entre modelosanderson/FTP/dca0120/Aula5.pdf · 2011-04-12 · Transformações entre modelos Modelo ER (conceitual) Modelo relacional (lógico) c Ciclo de re-engenharia

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # � � $

Exercício 5.5atributos

� � � � � � � � � � � � ��

� � � � � ��

� � � � � � ��

� � � � � � � ��

� � � � �

� � � � � � � � � � ��

� � � � � ��

� � � � �

� � � � � � � � � � � � � � � ��

� � � � � � �

� � � � � � � � � � � � � � ��

� � � � � � � � �