metodologias e processos para projeto conceitual de banco de dados erica teixeira gomes de sousa...
TRANSCRIPT
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çã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.