Metodologias e Processos para Projeto Conceitual de Banco de Dados Erica Teixeira Gomes de Sousa...

Preview:

Citation preview

Metodologias e Processos para Projeto Conceitual de Banco de Dados

Erica Teixeira Gomes de Sousa (etgs@cin.ufpe.br)

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çãoA construção de um esquema ER é um processo incremental: nossa visão da realidade é progressivamente refinada e enriquecida, o esquema é gradativamente desenvolvido.

•Primitivas de refinamentoSã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-downRefina conceitos abstratos em conceitos concretos.

•Bottom-upRefina 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çãoRigorosaDeve 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ívelDeve 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çãoEsquema FinalEsquema Inicial

Esquema de TransformaçãoTransformação

PrimitivasAs 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 T1Esquema Inicial Esquema Final

Refinamento de uma entidade em um relacionamento entre duas ou mais entidades.

Primitiva T1Esquema Inicial Esquema Final

Refinamento de uma entidade em um relacionamento entre duas ou mais entidades.

Primitiva T1Transformação

Refinamento de uma entidade em um relacionamento entre duas ou mais entidades.

Primitiva T2Esquema Inicial Esquema Final

Refinamento de uma entidade em uma generalização.

Primitiva T2Esquema Inicial Esquema Final

Refinamento de uma entidade em uma generalização.

Primitiva T2Transformação

Refinamento de uma entidade em uma generalização.

Primitiva T3Esquema Inicial Esquema Final

Refinamento de uma entidade em um conjunto de entidades independentes.

Primitiva T3Esquema Inicial Esquema Final

Refinamento de uma entidade em um conjunto de entidades independentes.

Primitiva T3Transformação

Refinamento de uma entidade em um conjunto de entidades independentes.

Primitiva T4Esquema Inicial Esquema Final

Refinamento de um relacionamento em dois (ou mais) relacionamentos entre as mesmas entidades.

Primitiva T4Esquema Inicial Esquema Final

Refinamento de um relacionamento em dois (ou mais) relacionamentos entre as mesmas entidades.

Primitiva T4Transformação

Refinamento de um relacionamento em dois (ou mais) relacionamentos entre as mesmas entidades.

Primitiva T5Esquema Inicial Esquema Final

Refinamento de um relacionamento em entidade e relacionamentos

Primitiva T5Esquema Inicial Esquema Final

Refinamento de um relacionamento em entidade e relacionamentos

Primitiva T5Transformação

Refinamento de um relacionamento em entidade e relacionamentos

Primitiva T6Esquema Inicial Esquema Final

Refinamento de uma entidade (ou relacionamento) com a introdução de atributos.

Primitiva T6Esquema Inicial Esquema Final

Refinamento de uma entidade (ou relacionamento) com a introdução de atributos.

Primitiva T6Transformação

Refinamento de uma entidade (ou relacionamento) com a introdução de atributos.

Primitiva T7Esquema Inicial Esquema Final

Refinamento de uma entidade (ou relacionamento) com a introdução de atributos compostos.

Primitiva T7Esquema Inicial Esquema Final

Refinamento de uma entidade (ou relacionamento) com a introdução de atributos compostos.

Primitiva T7Transformação

Refinamento de uma entidade (ou relacionamento) com a introdução de atributos compostos.

Primitiva T8Esquema Inicial Esquema Final

Refinamento de um atributo simples em um atributo composto ou em um grupo de atributos.

Primitiva T8Esquema Inicial Esquema Final

Refinamento de um atributo simples em um atributo composto ou em um grupo de atributos.

Primitiva T8Transformaçã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

Geração de uma nova entidade

Esquema Inicial Esquema Final

Primitiva B1

Geração de uma nova entidade

Esquema Inicial Esquema Final

Primitiva B1Transformação

Geração de uma nova entidade

Primitiva B2

Geração de um novo relacionamento entre entidades.

Esquema Inicial Esquema Final

Primitiva B2

Geração de um novo relacionamento entre entidades.

Esquema Inicial Esquema Final

Primitiva B2Transformação

Geração de um novo relacionamento entre entidades.

Primitiva B3

Refinamento de entidades em uma generalização.

Esquema Inicial Esquema Final

Primitiva B3

Refinamento de entidades em uma generalização.

Esquema Inicial Esquema Final

Primitiva B3Transformação

Refinamento de entidades em uma generalização.

Primitiva B4

Geração de um atributo e a agregação dele a uma entidade.

Esquema Inicial Esquema Final

Primitiva B4

Geração de um atributo e a agregação dele a uma entidade.

Esquema Inicial Esquema Final

Primitiva B4Transformação

Geração de um atributo e a agregação dele a uma entidade.

Primitiva B5

Geração de um atributo composto e a agregação dele a uma entidade.

Esquema Inicial Esquema Final

Primitiva B5

Geração de um atributo composto e a agregação dele a uma entidade.

Esquema Inicial Esquema Final

Primitiva B5Transformação

Geração de um atributo composto e a agregação dele a uma entidade.

PrimitivasPropriedades

•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

PrimitivasPropriedades

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-downA estratégia top-down deve ser aplicada quando o projetista temuma visão high-level de todos os requisitos de projeto.

O esquema é obtido aplicando a primitiva de refinamento top-downonde 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 outrodo cone indicando uma nova etapa do projeto.

Todos os conceitos representados no esquema final devem estarpresente 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

ProjetoExemplo: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

ProjetoExemplo: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

Refinamento de uma entidade em uma generalização.

Refinamento de uma entidade (ou relacionamento) com a introdução de atributos.

Terceiro Esquema

Projeto Top-down

Bottom-upO esquema é obtido aplicando a primitiva de refinamento bottom-up.

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 paraformaçã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-upA 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.

ProjetoExemplo: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.

ProjetoExemplo: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 Segundo Esquema

NomeIdadeAltura

Serviço Militar

Data Nascimento

Anos

ContinenteEstado

Nome LocalPopulaçã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-outA estratégia inside-out é um caso especial da estratégia bottom-up.

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

ProjetoExemplo: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.

ProjetoExemplo: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

Esquema Esqueleto

Domínio de Aplicação 1 Domínio de Aplicação 2

Esquema 1 Esquema 2

Esquema Integrado

ProjetoExemplo: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.

ProjetoExemplo: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 ondecada conjunto corresponde a um conceito específico.

•Projeto Inicial.•Construção de um esquema esqueleto global baseado nos gruposde 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 → CidadePerí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 reservasde 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

Requisitos do banco de dados de uma universidade

Fonte:Batini,Ceri e Navathe

Termos ambíguos.

Análise de Requisitos

Particionamento das sentenças em grupos homogêneos.

Fonte:Batini,Ceri e Navathe

Projeto InicialPrimeiro Esquema Esqueleto

Projeto InicialRefinamento do Esquema Esqueleto

Projeto do EsquemaTransformação Top-down

Projeto do EsquemaRefinamento do Esquema Esqueleto

Projeto do EsquemaTransformação Bottom-up

Projeto do EsquemaTransformação Inside-out

Projeto do EsquemaTransformação Inside-out

Projeto do EsquemaEsquema 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 formade 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.