Metodologias e Processos para Projeto
Conceitual de Banco de Dados
Erica Teixeira Gomes de Sousa ([email protected])
Prof: Drº Robson do Nascimento Fidalgo
Roteiro
•Motivação
•Introdução
•Esquema de Transformação
•Primitivas
•Top-down
•Bottom-up
•Metodologias
•Top-down
•Bottom-up
•Mista
•Inside-out
•Processos
•Conclusão
•Referências
Motivação
• Estudo da fase mais crítica de projeto de banco de dados.
• Entendimento da importância do usuário do banco de dados em
relação ao sucesso do projeto conceitual.
• Criação do projeto inicial.
• Criação do projeto final a partir de refinamentos no projeto inicial.
Introdução
A construção de um esquema ER é um processo incremental: nossa
visão da realidade é progressivamente refinada e enriquecida, o
esquema é gradativamente desenvolvido.
•Primitivas de refinamento
São um conjunto de transformações que podem ser aplicadas ao
esquema inicial e produzir um esquema final. Tornam a construção
do esquema mais simples e confiável.
•Top-down
•Bottom-up
Introdução
•Estratégias baseadas nas primitivas
•Top-down
Refina conceitos abstratos em conceitos concretos.
•Bottom-up
Refina conceitos concretos em conceitos abstratos.
•Mista
•Inside-out
As estratégias e primitivas são blocos de construção utilizados na
metodologia de projeto conceitual.
A metodologia de projeto conceitual deve obedecer a dois aspectos:
•Rigorosa
•Flexível
Introdução
Rigorosa
Deve sugerir uma estratégia para todas as decisões importantes
feitas durante o projeto. As estratégias devem ser baseadas numa
abordagem formal onde cada processo de decisão deve
corresponder a um algoritmo.
Flexível
Deve ser aplicada a uma variedade de situações e cenários.
Esquema de Transformação
O esquema do projeto conceitual é resultado de uma análise
complexa de suas exigências. O esquema inicial passa por
processos interativos ou transformações até atingir o processo final.
Características
•Começa com um esquema inicial que é transformado e resulta
em um esquema final.
•Cada esquema de transformação mapeia nomes de conceitos
do esquema inicial em nomes de conceitos do esquema final.
•Conceitos do esquema final devem ter todas as conexões
lógicas definidas para os conceitos do esquema inicial.
Esquema de Transformação
Esquema Inicial
Esquema Final
Esquema de Transformação
Transformação
Primitivas
As primitivas de refinamento são responsáveis pelas
transformações.
O tipo de transformação usada durante a fase de projeto está
relacionada a qualidade da atividade de projeto.
Deve-se usar o menor conjunto de transformações para atender as
exigências de modelagem.
Uso de um conjunto de estruturas simples ou transformações
primitivas que não podem ser decompostas.
Primitivas
•Top-down
Refinamento puro que é um refinamento aplicado a um conceito
simples e produz mais detalhes descritivos sobre o conceito.
•Bottom-up
Introduz um novo conceito e propriedades que não aparecem num
esquema anterior.
Primitivas
Top-down
•Propriedades
•Tem uma estrutura simples: O esquema inicial é um
conceito simples e resulta em um esquema final composto
de um pequeno conjunto de conceitos.
•Todos os nomes são refinados em novos nomes
descrevendo o conceito original com um menor nível de
abstração.
•As conexões lógicas do esquema final devem ser obtidas
do conceito simples.
Primitivas Top-down
Primitivas Top-down
Primitiva T1
Esquema Inicial
Esquema Final
Refinamento de uma entidade em um relacionamento entre duas ou
mais entidades.
Primitiva T1
Esquema Inicial
Esquema Final
Refinamento de uma entidade em um relacionamento entre duas ou mais
entidades.
Primitiva T1
Transformação
Refinamento de uma entidade em um relacionamento entre duas ou mais
entidades.
Primitiva T2
Esquema Inicial
Esquema Final
Refinamento de uma entidade em uma generalização.
Primitiva T2
Esquema Inicial
Esquema Final
Refinamento de uma entidade em uma generalização.
Primitiva T2
Transformação
Refinamento de uma entidade em uma generalização.
Primitiva T3
Esquema Inicial
Esquema Final
Refinamento de uma entidade em um conjunto de entidades independentes.
Primitiva T3
Esquema Inicial
Esquema Final
Refinamento de uma entidade em um conjunto de entidades independentes.
Primitiva T3
Transformação
Refinamento de uma entidade em um conjunto de entidades independentes.
Primitiva T4
Esquema Inicial
Esquema Final
Refinamento de um relacionamento em dois (ou mais) relacionamentos
entre as mesmas entidades.
Primitiva T4
Esquema Inicial
Esquema Final
Refinamento de um relacionamento em dois (ou mais) relacionamentos
entre as mesmas entidades.
Primitiva T4
Transformação
Refinamento de um relacionamento em dois (ou mais) relacionamentos
entre as mesmas entidades.
Primitiva T5
Esquema Inicial
Esquema Final
Refinamento de um relacionamento em entidade e relacionamentos
Primitiva T5
Esquema Inicial
Esquema Final
Refinamento de um relacionamento em entidade e relacionamentos
Primitiva T5
Transformação
Refinamento de um relacionamento em entidade e relacionamentos
Primitiva T6
Esquema Inicial
Esquema Final
Refinamento de uma entidade (ou relacionamento) com a introdução de
atributos.
Primitiva T6
Esquema Inicial
Esquema Final
Refinamento de uma entidade (ou relacionamento) com a introdução de
atributos.
Primitiva T6
Transformação
Refinamento de uma entidade (ou relacionamento) com a introdução de
atributos.
Primitiva T7
Esquema Inicial
Esquema Final
Refinamento de uma entidade (ou relacionamento) com a introdução de
atributos compostos.
Primitiva T7
Esquema Inicial
Esquema Final
Refinamento de uma entidade (ou relacionamento) com a introdução de
atributos compostos.
Primitiva T7
Transformação
Refinamento de uma entidade (ou relacionamento) com a introdução de
atributos compostos.
Primitiva T8
Esquema Inicial
Esquema Final
Refinamento de um atributo simples em um atributo composto ou em um
grupo de atributos.
Primitiva T8
Esquema Inicial
Esquema Final
Refinamento de um atributo simples em um atributo composto ou em um
grupo de atributos.
Primitiva T8
Transformação
Refinamento de um atributo simples em um atributo composto ou em um
grupo de atributos.
Primitivas
Bottom-up
Introduz novos conceitos e propriedades que não aparecem em um
esquema anterior, ou modifica os conceitos existentes.
Usadas no projeto de um esquema quando descobrimos features do
domínio de aplicação que não podem ser capturadas por esquemas
anteriores em qualquer nível de abstração.
Usadas quando diferentes esquemas são integrados em um
esquema global.
Primitivas Bottom-up
Primitivas Bottom-up
Primitiva B1
Esquema Inicial
Geração de uma nova entidade
Esquema Final
Primitiva B1
Esquema Inicial
Geração de uma nova entidade
Esquema Final
Primitiva B1
Transformação
Geração de uma nova entidade
Primitiva B2
Esquema Inicial
Esquema Final
Geração de um novo relacionamento entre entidades.
Primitiva B2
Esquema Inicial
Esquema Final
Geração de um novo relacionamento entre entidades.
Primitiva B2
Transformação
Geração de um novo relacionamento entre entidades.
Primitiva B3
Esquema Inicial
Refinamento de entidades em uma generalização.
Esquema Final
Primitiva B3
Esquema Inicial
Refinamento de entidades em uma generalização.
Esquema Final
Primitiva B3
Transformação
Refinamento de entidades em uma generalização.
Primitiva B4
Esquema Inicial
Esquema Final
Geração de um atributo e a agregação dele a uma entidade.
Primitiva B4
Esquema Inicial
Esquema Final
Geração de um atributo e a agregação dele a uma entidade.
Primitiva B4
Transformação
Geração de um atributo e a agregação dele a uma entidade.
Primitiva B5
Esquema Inicial
Esquema Final
Geração de um atributo composto e a agregação dele a uma entidade.
Primitiva B5
Esquema Inicial
Esquema Final
Geração de um atributo composto e a agregação dele a uma entidade.
Primitiva B5
Transformação
Geração de um atributo composto e a agregação dele a uma entidade.
Primitivas
Propriedades
•Completo
O conjunto de primitivas é completo se qualquer esquema pode
ser construído a partir de um esquema inicial pela aplicação de
uma seqüência de primitivas.
•Mínimo
O conjunto de primitivas é mínimo se não existe primitiva do
conjunto que possa ser expressada usando outras primitivas.
Primitivas
Primitivas
Propriedades
As primitivas top-down não são completas. Basta verificar que há
esquemas que não podem ser gerados com uso apenas de
primitivas top-down.
As primitivas bottom-up são mínimas ou seja cada primitiva introduz
um conceito diferente do modelo.
As primitivas bottom-up são completas ou seja cada esquema pode
ser gerado primeiro com a introdução de entidades e então com a
inserção de todos os outros conceitos com o uso das primitivas
apropriadas.
Todos os esquemas podem ser gerados a partir das primitivas
bottom-up mas somente alguns esquemas podem ser gerados a
partir das primitivas top-down.
Metodologias
•Top-down
•Bottom-up
•Inside-out
•Mista
Top-down
A estratégia top-down deve ser aplicada quando o projetista tem
uma visão high-level de todos os requisitos de projeto.
O esquema é obtido aplicando a primitiva de refinamento top-down
onde cada primitiva introduz um novo detalhe no esquema.
O processo termina quando todas os requisitos de projeto são
representadas.
O cone representa abstratamente o processo de projeto: a cada
transformação top-down, o projetista move de um plano para outro
do cone indicando uma nova etapa do projeto.
Todos os conceitos representados no esquema final devem estar
presente em cada plano de refinamento.
Top-down
Domínio de Aplicação
Plano do Primeiro Refinamento
Plano do Refinamento Genérico
Plano do Refinamento Final
Projeto
Exemplo:
Designação do banco de dados do censo representado pelas
propriedades das pessoas e áreas geográficas.
Propriedades das pessoas:
•Nome
•Idade
•Altura
•Lugar de nascimento
•Data de nascimento
•Endereço residencial
•Tempo de moradia
•Número de reservista
Projeto
Exemplo:
Designação do banco de dados do censo representado pelas
propriedades das pessoas e áreas geográficas.
Propriedades dos lugares:
•Nome
•População
•País de origem
•País estrangeiro.
•O estado brasileiro referente ao país de origem.
•O continente referente ao país estrangeiro.
Projeto Top-down
Primeiro Esquema
Segundo Esquema
Refinamento de uma entidade em um relacionamento entre duas ou mais
entidades.
Projeto Top-down
Terceiro Esquema
Refinamento de uma entidade em uma generalização.
Refinamento de uma entidade (ou relacionamento) com a introdução de
atributos.
Projeto Top-down
Bottom-up
O esquema é obtido aplicando a primitiva de refinamento bottomup.
O esquema inicial começa com conceitos elementares e a cada
transformação conceitos mais complexos são obtidos.
Os requisitos de projeto são decompostos,conceituados
independentemente e organizados em um esquema global.
No processo de projeto mostrado na figura, os conceitos
elementares pertencentes ao esquema são produzidos; então as
estruturas provindas pelo modelo conceitual são agregadas para
formação de um esquema final.
Bottom-up
Domínio de Aplicação
Produção de Conceitos Elementares
Coleta de Conceitos Elementares
Agregação de Conceitos Elementares
Esquema Final
Bottom-up
A vantagem da estratégia bottom-up é que vários fragmentos do
problema são produzidos por vez então vários esquemas
intermediários são produzidos, rapidamente.
A desvantagem da estratégia bottom-up é a necessidade de
reestruturar o esquema.
Quando esquemas complexos são integrados, uma apropriada
reestruturação é sempre difícil e crucial.
A soma da observação de conceitos concretos e semânticas de
relacionamentos são obtidos no fim do processo de projeto.
Podem ser obtidos diferentes esquemas do resultado do projeto
top-down e bottom-up.
Projeto
Exemplo:
Designação do banco de dados do censo representado pelas
propriedades das pessoas e áreas geográficas.
Propriedades das pessoas:
•Nome
•Idade
•Altura
•Lugar de nascimento
•Data de nascimento
•Endereço residencial
•Tempo de moradia
•Número de reservista do homem.
Projeto
Exemplo:
Designação do banco de dados do censo representado pelas
propriedades das pessoas e áreas geográficas.
Propriedades dos lugares:
•Nome
•População
•País de origem
•País estrangeiro.
•O estado brasileiro referente ao país de origem.
•O continente referente ao país estrangeiro.
Projeto Bottom-up
Primeiro Esquema
Nome
Idade
Altura
Segundo Esquema
Serviço Militar
Data Nascimento
Anos
Estado
Continente
Nome Local
População
Geração de um atributo e a agregação dele a uma entidade.
Projeto Bottom-up
Terceiro Esquema
Refinamento de entidades em uma generalização.
Projeto Bottom-up
Inside-out
A estratégia inside-out é um caso especial da estratégia bottomup.
Inicialmente, os conceitos considerados mais importantes são
determinados e gradativamente conceitos periféricos são
adicionados.
Na estratégia inside-out, os refinamentos são ordenados como na
estratégia top-down. Entretanto, os níveis de abstração
introduzidos nas sucessivas versões dos esquemas são similares.
Não há vantagem na criação dos esquemas pelo nível de
abstração.
Inside-out
Domínio de Aplicação
Seleção do Conceito mais Importante
Esquema Inicial
Esquema Intermediário
Procede movendo como uma mancha de óleo
Esquema Final
Projeto
Exemplo:
Designação do banco de dados do censo representado pelas
propriedades das pessoas e áreas geográficas.
Propriedades das pessoas:
•Nome
•Idade
•Altura
•Lugar de nascimento
•Data de nascimento
•Endereço residencial
•Tempo de moradia
•Número de reservista do homem.
Projeto
Exemplo:
Designação do banco de dados do censo representado pelas
propriedades das pessoas e áreas geográficas.
Propriedades dos lugares:
•Nome
•População
•País de origem
•País estrangeiro.
•O estado brasileiro referente ao país de origem.
•O continente referente ao país estrangeiro.
Projeto Inside-out
Mista
Envolve as vantagens das estratégias top-down e bottom-up,
permitindo o particionamento dos requisitos.
Os esquemas são particionados em grupos baseados em sua
similaridade. Cada grupo é integrado separadamente. Este processo
é repetido até a geração de um esquema final.
Um esquema esqueleto representa o conceito mais importante do
domínio de aplicação.
Misto
Domínio de Aplicação
Domínio de Aplicação 1
Domínio de Aplicação 2
Esquema Esqueleto
Esquema 1
Esquema 2
Esquema Integrado
Projeto
Exemplo:
Designação do banco de dados do censo representado pelas
propriedades das pessoas e áreas geográficas.
Propriedades das pessoas:
•Nome
•Idade
•Altura
•Lugar de nascimento
•Data de nascimento
•Endereço residencial
•Tempo de moradia
•Número de reservista do homem.
Projeto
Exemplo:
Designação do banco de dados do censo representado pelas
propriedades das pessoas e áreas geográficas.
Propriedades dos lugares:
•Nome
•População
•País de origem
•País estrangeiro.
•O estado brasileiro referente ao país de origem.
•O continente referente ao país estrangeiro.
Projeto Mista
Esquema Esqueleto
Esquema Pessoas
Projeto Mista
Esquema Locais
Projeto Mista
Comparação entre as estratégias
Processos
Análise de requisitos.
•Análise de requisitos para descoberta das ambigüidades e
entendimento do significado dos termos.
•Particionamento das sentenças em conjuntos homogêneos onde
cada conjunto corresponde a um conceito específico.
•Projeto Inicial.
•Construção de um esquema esqueleto global baseado nos grupos
de sentenças.
•Projeto do esquema - para cada conceito no esquema esqueleto,
aplicar
•Primitiva Top-down
•Primitiva Bottom-up
até todos os requisitos terem sido expressos no esquema.
Análise de Requisitos
Escolha do apropriado nível de abstração para os termos.
Exemplos:
Lugar → Cidade
Período → Número de anos
•Evitar o uso de instâncias ao invés de conceitos gerais.
Maior especificação dos termos que o necessário.
Exemplo:
“Diariamente, eu preciso saber a quantidade de chips no estoque”
O conceito é componente e não chips.
•Evitar expressões repetidas.
Exemplo:
Olhe a pessoa sentada no setor de reservas fazendo reservas
de vôos.
Olhe o atendente fazendo reservas de vôos.
Análise de Requisitos
•Checar a existência de sinônimos e homônimos.
•Fazer referências explícitas entre termos .
Exemplo: O Número do telefone é do departamento ou professor.
•Construção de um glossário de termos.
Para eliminar ambigüidades dos requisitos e entender o significado
dos termos. Apenas os termos do glossário devem ser usados para
descrever os requisitos.
Análise de Requisitos
Termos ambíguos.
Requisitos do banco de dados de
uma universidade
Fonte:Batini,Ceri e Navathe
Análise de Requisitos
Particionamento das sentenças em grupos homogêneos.
Fonte:Batini,Ceri e Navathe
Projeto Inicial
Primeiro Esquema Esqueleto
Projeto Inicial
Refinamento do Esquema Esqueleto
Projeto do Esquema
Transformação Top-down
Projeto do Esquema
Refinamento do Esquema Esqueleto
Projeto do Esquema
Transformação Bottom-up
Projeto do Esquema
Transformação Inside-out
Projeto do Esquema
Transformação Inside-out
Projeto do Esquema
Esquema Final
Conclusão
• O uso das metodologias para o projeto conceitual de banco de
dados evitam falhas no desenvolvimento de sistemas de informação.
• A análise dos requisitos com entendimento dos termos e filtragem
das ambigüidades para posterior agrupamento dos termos de forma
de acordo com os conceitos que representam.
• Criação de um projeto inicial baseado nas sentenças.
• Criação de um projeto esquema com o uso das metodologias de
projeto conceitual de banco de dados.
Referências
•Batini C., Ceri S., Navathe S. Conceptual Database Design: An Entitiy
Relationship Approach. The Benjamin/Cummings Publishing Company,
Inc. 1992.
•Heuser, C. Projeto de Banco de Dados. Instituto de informática da
UFRGS, 4º Edição,1998.
•Cameira R. e Caulliraux H. Engenharia de processos de negócios:
Considerações, Metodologias com vistas à Análise e Integração de
Processos.
Download

Metodologias e Processos para Projeto Conceitual de Banco de