Aula projetologico
Transcript of Aula projetologico
![Page 1: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/1.jpg)
'
&
$
%
Projeto Logico de Bancos de Dados
![Page 2: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/2.jpg)
'
&
$
%
Projeto de Bancos de Dados
Modelos de Dados
• Conceituais ou de Alto Nıvel : Modelo ER,ModelosSematicos,OMT Class Diagram
• De representacao ou de implementacao
– Orientados a Objetos: O2, Objeto-Relacional
– Orientados a Tupla: Relacional
• Fısico ou de Baixo Nıvel
– Metodos de acesso: ISAM etc.
– API: B-Trive etc.
![Page 3: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/3.jpg)
'
&
$
%
Projeto - Visao Geral
Mini-Mundo
Análise de Requisitos
Requisitos de BD
Projeto Conceitual
Esquema Conceitual em um modelo de dados de alto nível
Projeto Lógico
Esquema Lógico em um modelo de nível lógico
Projeto Físico
Esquema Físco para um SGBD específico
Requisitos Funcionais
Análise Funcional
Especificação das Transações em alto nível
Projeto de Aplicações
Implementações
Programas
Independente de SGBD
Específico para um SGBD
![Page 4: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/4.jpg)
'
&
$
%
Projeto Logico
Mapear esquemas conceituais para esquemas logicos
Modelos conceituais: ER, EER, UML Class Diagram
Modelos logico: Relacional, Objeto-Relacional, Hierarquico
![Page 5: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/5.jpg)
'
&
$
%
Projeto Logico - Objetivos
• Implementar em um SGBD especıfico o projeto conceitual, oqual, supoe-se, captura corretamente os requisitos da aplicacao.
• Mapeamento: Representar as construcoes do esquemaconceitual usando construcoes do modelo logico.
• Manter requisitos originais...nem sempre e possıvel
![Page 6: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/6.jpg)
'
&
$
%
Projeto Logico - Lacuna Semantica
• Diferenca de poder de expressividade entre os modelos do nıvelconceitual e o do nıvel logico.
• Nem sempre e possıvel garantir todos os requisitos do esquemaconceitual no esquema logico.
• Em alguns casos, o custo do mapeamento nao e compensador,mesmo sendo possıvel.
• Exemplo: mapeamento de herancas
![Page 7: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/7.jpg)
'
&
$
%
Projeto Logico - Principais Tarefas
• Mapeamento de Tipos de Entidade
• Mapeamento de Tipos Relacionamentos
• Mapeamento de Especializacoes/Generalizacoes
• Geracao de restricoes de integridade
• Definicao de esquemas externos via visoes (opcional)
![Page 8: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/8.jpg)
'
&
$
%
Passo 1 : Tipos de Entidade
• Para cada tipo de entidade regular E no esquema ER, criar uma relacao R
que inclui todos os atributos simples de E
• Com relacao aos atributos compostos, incluir somente os atributos
simples em R
• Escolher um dos atributos chave de E com chave primaria de R.
Exemplo: Mapeamento dos tipos de entidade EMPLOYEE, DEPARTMENT e PROJECT
![Page 9: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/9.jpg)
'
&
$
%
Passo 2 : Tipos de Entidade Fraca
• Para cada tipo de entidade fraca W no esquema ER, criar uma relacao R,
e incluir todos os atributos simples (ou todos os componentes simples dos
atributos compostos) de W como atributos de R
• Para cada tipo de entidade E dono de W , tal que P e a relacao que
representa E e K a chave primaria de P, incluir os atributos de K em R e
definir com eles uma chave estrangeira em R referenciando P
• Definir como chave primaria de R a combinacao das chaves primarias dos
donos e da chave parcial de W, se houver
• Este passo resolve o mapeamento de tipos de relacionamento que
envolvem entidades fracas
Exemplo: Mapeamento do tipo de entidade DEPENDENT
![Page 10: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/10.jpg)
'
&
$
%
Passo 3 : Tipos de Relacionamento 1:1
• Para cada tipo de relacionamento binario 1:1 R no esquema ER,
identificar as relacoes S e T que correspondem aos tipos de entidade
participantes de R. Escolher uma das relacoes, digamos S, e incluir como
chave estrangeira em S a chave primaria de T
• Incluir todos os atributos simples de R como atributos de S
• Preferencialmente, o participante escolhido deve ser aquele com
participacao total no tipo de relacionamento
• Alternativamente, se os dois participantes tem participacao total e se nao
participam de outros tipos de relacionamento, pode-se representar os dois
tipos de entidade e o tipo de relacionamento na mesma relacao
Exemplo: Mapeamento do tipo de relacionamento MANAGES entre EMPLOYEE e
MANAGES
![Page 11: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/11.jpg)
'
&
$
%
Passo 4 : Tipos de Relacionamento 1:N
• Para cada tipo de relacionamento binario 1:N R no esquema ER, que nao
envolva entidade fraca, identificar a relacao S que corresponde ao tipo de
entidade participante de R que esta no “lado” N
• Incluir como chave estrangeira de S a chave primaria da relacao T que
representa o outro tipo de entidade participante de R
• Incluir todos os atributos simples de R como atributos de S
• Preferencialmente, o participante escolhido deve ser aquele com
participacao total no tipo de relacionamento
• Alternativamente, se os dois participantes tem participacao total e se nao
participam de outros tipos de relacionamento, pode-se representar os dois
tipos de entidade e o tipo de relacionamento na mesma relacao
Exemplo: Mapeamento do tipo de relacionamento WORKS FOR, CONTROLS e
SUPERVISION
![Page 12: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/12.jpg)
'
&
$
%
Passo 5: Tipos de Relacionamento M:N
• Para cada tipo de relacionamento binario M:N R no esquema ER, criar
uma nova relacao S para representar R
• Incluir como chaves estrangeiras de S as chaves primarias das relacoes
que representam os tipos de entidade participantes de R
• Definir a chave primaria de S como sendo a combinacao destas chaves
estrangeiras
• Incluir todos os atributos simples, ou atributos componentes simples de
atributos compostos, de R como atributos de S
• Note que poderiamos representar da mesma maneira tipos de
relacionamento 1:1 e 1:N
Exemplo: Mapeamento do tipo de relacionamento WORKS ON
![Page 13: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/13.jpg)
'
&
$
%
Passo 6: Atributos Multivalorados
• Para cada atributo multivalorado A, criar uma nova relacao R que inclui
um atributo correspondente a A
• Definir como chave estrangeira de R a chave primaria K da relacao que
representa o tipo entidade para o qual o atributo A esta definido
• A chave primaria de A e composta pelo atributo A mais os atributos da
chave K
• Se A e tambem um atributo composto, incluir somente seus componentes
Exemplo: Mapeamento do atributo DLOCATION do tipo de entidade DEPARTMENT
![Page 14: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/14.jpg)
'
&
$
%
Passo 7: Tipos de Relacionamento Nao-Binarios
• Para cada tipo de relacionamento R n-ario, sendo n> 2, criar uma nova
relacao S para representar R
• Incluir como chaves estrangeiras em S as chaves primarias das relacoes
que representam os tipos de entidade participantes
• Incluir todos os atributos simples, ou atributos componentes simples de
atributos compostos, de R como atributos de S
• A chave primaria de S e geralmente composta pela combinacao de todas
as chaves estrangeiras que referenciam as relacoes que representam os
tipos de entidade participantes
• A chave primaria de S pode ser composta somente pela chave estrangeira
que referencia a relacao que representa o tipo de entidade que participa
com cardinalidade 1 em R
Exemplo: Tipo de relacionamento SUPPLY entre SUPLIER, PROJECT e PART
![Page 15: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/15.jpg)
'
&
$
%
Relacionamentos Ternarios
Atividade
Sala Horário Ocorre
?
? ?
• Quantas Atividades podem ser alocadas em uma mesma Sala no mesmo
Horario?
• Em quantas Salas uma mesma Atividade pode ocorrer no mesmo Horario?
• Em quantos Horarios uma mesma Atividade pode ocorrer na mesma Sala?
![Page 16: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/16.jpg)
'
&
$
%
Relacionamentos Ternarios
Occorre
NumSala OrdemHor
2010 2
2010 2
NomeAtv
Palesta A
Palestra B
2010 3 Palestra A
2011 3 Palestra A
Atividade
Sala Horário Ocorre 1 1
![Page 17: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/17.jpg)
'
&
$
%
Relacionamentos Ternarios
Occorre
NumSala OrdemHor
2010 2
2010 2
NomeAtv
Palesta A
Palestra B
2010 3 Palestra A
2011 3 Palestra A
Atividade
Sala Horário Ocorre 1 1
![Page 18: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/18.jpg)
'
&
$
%
Passo 8: Especializacoes/Generalizacoes
• Restricoes
• Particao da super classe
• Disjuncao das subclasses
• Opcoes de mapeamento
• 1-para-1: uma tabela diferente p/ a super classe e para cada subclasse
• Otimizado: uma mesma tabela p/ super classe e subclasses
• Herancas multiplas
![Page 19: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/19.jpg)
'
&
$
%
Subclasses com Particao e Disjuncao
![Page 20: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/20.jpg)
'
&
$
%
Subclasses sem Particao e com Disjuncao
![Page 21: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/21.jpg)
'
&
$
%
Subclasses com Particao e sem Disjuncao
![Page 22: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/22.jpg)
'
&
$
%
Subclasses sem Particao e sem Disjuncao
![Page 23: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/23.jpg)
'
&
$
%
Grupos de Sub-classes
![Page 24: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/24.jpg)
'
&
$
%
Sem Particao e Sem Disjuncao - 1 para 1
![Page 25: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/25.jpg)
'
&
$
%
Com Disjuncao e Sem Particao - 1 para 1
![Page 26: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/26.jpg)
'
&
$
%
Com Particao e Sem Disjuncao - 1 para 1
![Page 27: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/27.jpg)
'
&
$
%
Com Particao e Com Disjuncao - 1 para 1
![Page 28: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/28.jpg)
'
&
$
%
Mapeamento de Herancas: Otimizado
• Atributos discriminantes: Indicam a pertinencia a umasub-classe
• Todas as instancias das sub-classe tem um valor determinadopara o atributo
• Nativo X Imposto
• Caracterıstico X Compartilhado
![Page 29: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/29.jpg)
'
&
$
%
Atributo Discriminante Imposto
![Page 30: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/30.jpg)
'
&
$
%
Sem Particao e Sem Disjuncao - Otimizado
![Page 31: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/31.jpg)
'
&
$
%
Sem Particao e Com Disjuncao - Otimizado
![Page 32: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/32.jpg)
'
&
$
%
Com Particao e Sem Disjuncao - Otimizado
![Page 33: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/33.jpg)
'
&
$
%
Com Particao e Com Disjuncao - Otimizado
![Page 34: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/34.jpg)
'
&
$
%
Otimizado
![Page 35: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/35.jpg)
'
&
$
%
Otimizado
![Page 36: Aula projetologico](https://reader031.fdocumenti.com/reader031/viewer/2022021922/58ef26d81a28ab82798b4657/html5/thumbnails/36.jpg)
'
&
$
%
Otimizado