Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 O papel dos sistemas de informação nas organizações 1.1 O contexto organizacional para o uso de sistemas de banco de dados Os sistemas de banco de dados têm se tornado uma parte dos sistemas de informação de muitas organizações. Historicamente, os sistemas de informação eram dominados por sistemas de arquivos na década de 1960 mas, desde o início dos anos 1970 as organizações passaram para sistemas de gerenciamento de banco de dados (SGBDs) de maneira gradual, Para acomodar os SGBDs, muitas organizações criaram o cargo de administrador de banco de dados (DBA, do inglês database administrator) e departamentos de administração de banco de dados para supervisionar e controlar as atividades de seu ciclo de vida. De modo semelhante, os departamentos de tecnologia da informação (TI) e gestão de recursos de informação (GRI) têm sido reconhecidos por grandes organizações como sendo fundamentais para o gerenciamento comercial bem-sucedido pelos seguintes motivos: Os dados são considerados um recurso corporativo, e seu gerenciamento e controle, são considerados centrais para o trabalho eficaz da organização, Mais funções nas Organizações são computadorizadas aumentando a necessidade de manter grande volume de dados disponíveis em um estado atualizado a cada minuto. A medida que a complexidade dos dados e aplicações cresce, relacionamentos complexos entre os dados precisam ser modelados e mantidos. Existe uma tendência para a consolidação de recursos de informação em muitas organizações. Muitas organizações estão reduzindo seus custos de pessoal, permitindo que os usuários finais realizem transações de negócios. Isso é evidente em serviços de viagem, serviços financeiros, educação superior, governo e muitos outros tipos ele serviços, Essa tendência foi observada desde cedo por pontos de venda de varejo on-line e comércio eletrônico da empresa ao cliente, como eBay e Amazon.com. Nessas organizações, um banco de dados operacional publicamente acessível e atualizável precisa ser projetado e se tornar disponível para as transações do cliente. Muitas capacidades fornecidas pelos sistemas de banco de dados as tomaram componentes integrais nos sistemas de informação baseados em computadores. A seguir estão alguns dos principais recursos que eles oferecem: Integração de dados em várias aplicações um único banco de dados; Suporte para o desenvolvimento de novas aplicações em pouco tempo, usando linguagens de alto nível, como a SQL. Fornecimento de suporte para acesso casual para navegação e consulta por gerentes enquanto oferece suporte para o processamento principal da transação em nível de produção para os clientes. Desde o início da década de 1970 até meados dos anos 1980, houve uma mudança na criação de grandes repositórios centralizados de dados gerenciados por um único SGBD. Desde então, a tendência tem sido a utilização de sistemas distribuídos, devido aos seguintes desenvolvimentos: 1) Computadores pessoais e produtos de software para sistema de banco de dados, como Excel, Visual FoxPro, Access (da Microsoft) e SQL Anywhere (da Sybase), e produtos de domínio público, como MySQL e PostgreSQL, estão sendo bastante utilizados por usuários que anteriormente pertenciam à categoria de usuários de banco de dados casuais e ocasionais. Muitos administradores, secretárias, engenheiros, cientistas, arquitetos e alunos pertencem a essa categoria. Como resultado, a prática de criação de bancos de dados pessoais está ganhando popularidade. Às vezes, é possível conter uma cópia de parte de um banco de dados grande de um computador mainframe ou um servidor de banco de dados, trabalhar nela de uma estação de trabalho pessoal e depois restaurá-Ia no mainframe. De modo semelhante, os usuários podem projetar e criar os próprios bancos de dados e depois mesclá-los em um maior. 2) O advento dos SGBDs distribuídos e cliente-servidor está abrindo a opção de distribuir o banco de dados por vários sistemas de computação, para melhorar o controle e agilizar o processamento local. Ao mesmo tempo, os usuários locais podem acessar dados remotos usando as facilidades fornecidas pelo SGBD como um cliente ou pela Web. Ferramentas de desenvolvimento de aplicação, como PowerBuilder e PowerDesigner (da Sybase) e OracleDesigner e Oracle DeveIoper Suite (da Oracle), estão sendo usadas com facilidades embutidas para ligar aplicações a vários servidores de banco de dados de back-end. 3) Muitas organizações agora utilizam sistemas de dicionário de dados ou repositórios de informações, que são miniSGBDs que gerenciam metadados — ou seja, dados que descrevem a estrutura, as restrições, as aplicações, as autorizações, os usuários do banco de dados, e assim por diante. Estes normalmente são usados como uma ferramenta essencial para gerenciamento de recursos de informação. Um sistema útil de dicionário de dados deve armazenar e gerenciar os seguintes tipos de informação: a) Descrições dos esquemas do sistema de banco de dados; b) Informações detalhadas sobre o projeto físico do banco de dados, como estruturas de armazenamento, caminhos de acesso e tamanhos de arquivos e registro. c) Descrições dos tipos de usuários do banco de dados, suas responsabilidades e seus direitos de acesso. d) Descrições de alto nível das transações e aplicações de banco de dados e dos relacionamentos dos usuários com as transações. e) O relacionamento entre as transações de banco de dados e os itens de dados referenciados por elas. Isso é útil para determinar quais transações são afetadas quando certas definições de dados são alteradas. f) Uso estatístico como freqüências de consultas, transações e contadores de acesso para diferentes partes do banco de dados. g) A história de quaisquer mudanças feitas no banco de dados e nas aplicações, e a documentação que descreve os motivos para essas mudanças. Isso às vezes é conhecido como procedência dos dados. Esses metadados estão disponíveis aos DBAs, projetistas e usuários autorizados como documentação on-line do sistema. Isso melhora o controle dos DBAs sobre o sistema de informação, bem como seu entendimento e uso pelos usuários, O advento da tecnologia de data-warehousing destacou a importância dos metadados. Ao projetar sistemas de processamento de transação de alto desempenho, que exigem operação contínua, 24 horas por dia, o desempenho torna-se crítico. Esses bancos de dados com freqüência são acessados por centenas ou milhares de transações por minuto, de computadores remotos e terminais locais. O desempenho da transação, em relação ao número médio de transações por minuto e o tempo de resposta média e máxima da transação, é essencial. Um projeto físico de banco de dados cuidadoso, que atende às necessidades de processamento de transação da organização, é uma obrigação em tais sistemas. Algumas organizações têm comprometido o seu gerenciamento de recursos de informação a certos produtos de SGBD e dicionário de dados. Seu investimento no projeto e implementação de sistemas grandes é complexos torna difícil para elas mudarem para produtos de SGBD mais novos, o que significa que as organizações tornaram-se presas a seu sistema atual. 1.2 O ciclo de vida do sistema de informação Em uma grande organização, o sistema de banco de dados costuma fazer parte de um sistema de informação (SI), que inclui todos os recursos que estão envolvidos na coleção, gerenciamento, uso e disseminação dos recursos de informação da organização, Em um ambiente computadorizado, esses recursos incluem os próprios dados, o software de SGBD, o hardwaredo sistema de computação e o meio de armazenamento, o pessoal que usa e gerenciam os dados (DBA, usuários finais, e assim por diante), os programas de aplicação (software) que acessam e atualizam os dados, e os programadores que desenvolvem essas aplicações. Assim, o sistema de banco de dados é parte de um sistema de informação organizacional muito maior. Nesta seção, examinamos o ciclo de vida típico de um sistema de informação e como o sistema de banco de dados se encaixa nele. O ciclo de vida do sistema de informação tem sido chamado de ciclo de vida macro, enquanto o ciclo de vida do sistema de banco de dados tem sido chamado de ciclo de vida micro. A distinção entre eles está se tornando menos pronunciada para os sistemas de informação em que os bancos de dados são um componente essencialmente importante. O ciclo de vida macro normalmente inclui as seguintes fases: 1 - Análise da viabilidade. Essa fase refere-se a analisar áreas de aplicação em potencial, identificar economias da coleta e disseminação de informações, realizar estudos preliminares de custo-benefício, determinar a complexidade de dados e processos, estabelecer prioridades entre as aplicações. 2 - Levantamento e análise de requisitos. Os requisitos detalhados são levantados pela interação com os usuários em potencial e grupos de usuários, para identificar seus problemas e necessidades em particular. Procedimentos de dependências entre aplicações, comunicação e relatório são identificados. 3 – Projeto. Essa fase tem dois aspectos: o projeto do sistema de banco de dados e o projeto dos sistemas de aplicação (programas) que usam e processam o banco de dados por meio de recuperações e atualizações. 4 - Implementação. O sistema de informação é implementado, o banco de dados é carregado e as transações deste são implementadas e testadas. 5 - Validação e teste de aceitação. A aceitabilidade do sistema em atender aos requisitos dos usuários e critérios de desempenho é validada. O sistema é testado contra os critérios de desempenho e especificações de comportamento. 6 - Implantação, operação e manutenção. Isso pode ser precedido pela conversão de usuários de um sistema mais antigo, bem como pelo treinamento do usuário. A fase operacional começa quando todas as funções do sistema estão em funcionamento e foram validadas. À medida que surgem novos requisitos ou aplicações, eles passam pelas fases anteriores até que sejam validados e incorporados ao sistema. O monitoramento do desempenho do sistema e sua manutenção são atividades importantes durante a fase Operacional. 1.3 O ciclo de vida do sistema de aplicação de banco de dados As atividades relacionadas ao ciclo de vida micro, que focalizam o sistema de aplicação de banco de dados, incluem: 1 - Definição do sistema. O escopo do sistema de banco de dados, seus usuários o suas aplicações são definidas. As interfaces para diversas categorias de usuários, as restrições do tempo de resposta e as necessidades de armazenamento e processamento são identificadas. 2 - Projeto do banco de dados. Um projeto lógico e físico completo do sistema de banco de dados no SGBD escolhido é preparado. 3 - Implementação do banco de dados. Isso compreende o processo de especificar as definições de banco de dados conceituals, externas e internas, criar os arquivos de banco de dados (vazios) e implementar as aplicações de software. 4 - Carga ou conversão de dados. O banco de dados é preenchido ou pela carga dos dados diretamente ou pela conversão de arquivos existentes para o formato do sistema de banco de dados. 5 - Conversão de aplicação. Quaisquer aplicações de software de um sistema anterior são convertidas para o novo sistema. 6 - Teste e validação. o novo sistema é testado e validado. O teste e a validação dos programas de aplicação podem ser um processo bastante complicado, e as técnicas empregadas normalmente são obtidas em cursos de engenharia de software. Existem ferramentas automatizadas que auxiliam nesse processo. 7 - Operação, O sistema de banco de dados e suas aplicações são colocados em operação. Normalmente, os sistemas antigos e os novos são operados em paralelo por um período de tempo. 8 - Monitoramento e manutenção. Durante a fase operacional, o sistema é constantemente monitorado e mantido, O crescimento e a expansão podem ocorrer no conteúdo de dados e nas aplicações de software. Importantes modificações e reorganizações podem ser necessárias de tempos em tempos. As atividades 2, 3 e 4 fazem parte das fases de projeto e implementação do ciclo de vida macro do sistema de informação. Nossa ênfase na Seção 2 está nas atividades 2 e 3, que cobrem as fases de projeto e implementação do banco de dados. A maioria dos bancos de dados nas organizações passa por todas as atividades anteriores do Ciclo de vida. As atividades de conversão (4 e 3) não se aplicam quando o banco de dados e as aplicações são novas. Quando uma organização passa de um sistema estabelecido para um novo, as atividades 4 e 5 tendem a ser muito demoradas e os esforços para realiza-Ias costumam ser subestimadas, Com freqüência, existe um retorno entre as várias etapas, pois novos requisitos surgem constantemente a cada estágio. A Figura 10.1 mostra o ciclo de retorno que afeta as fases do projeto conceitual e lógico, como resultado da implementação e do ajuste do sistema. 2 O projeto de banco de dados e o processo de implementação Focalizando as atividades 2 e 3 do ciclo de vida do sistema de aplicação de banco de dados, que são seu projeto e implementação; o problema do projeto de banco de dados pode ser declarado da seguinte forma: Projetar a estrutura lógica e física de um ou mais bancos de dados para acomodar as informações necessárias dos usuários de uma organização para um conjunto definido de aplicações. Os objetivos do projeto de banco de dados são múltiplos: Satisfazer os requisitos de conteúdo de informações dos usuários e aplicações especificadas Oferecer uma estruturação da informação que seja natural e fácil de entender. Dar suporte aos requisitos de processamento e quaisquer objetivos de desempenho, como tempo de resposta, tempo de processamento e espaço de armazenamento. Esses objetivos são muito difíceis de realizar e medir, e envolvem uma escolha inerente: se alguém tentar obter mais naturalidade e compreensibilidade do modelo, isso pode custar o desempenho. O problema é agravado porque o processo de projeto de banco de dados normalmente começa com requisitos informais e incompletos. Ao contrário, o resultado da atividade de projeto é um esquema rigidamente definido, que não pode ser facilmente modificado quando o banco de dados é implementado. Podemos identificar seis fases principais do processo geral de projeto e implementação do banco de dados: 1. Levantamento e análise de requisitos; 2. Projeto conceitual do banco de dados; 3. Escolha de um SGBD; 4. Mapeamento do modelo de dados (também chamado de projeto lógico do banco de dados); 5. Projeto físico do banco de dados; 6. Implementação e ajuste do sistema de banco de dados. O processo de projeto consiste em duas atividades paralelas, conforme ilustra a Figura 10.1. A primeira atividade envolve o projeto do conteúdo de dados, estrutura e restrições do banco de dados; a segunda relaciona-se ao projeto das aplicações do banco de dados. Para manter a figura simples, evitamos mostrar a maioria das interações entre esses lados, mas as duas atividades estão intimamente interligadas. Por exemplo, analisando as aplicações de banco de dados, podemos identificaritens de dados que serão armazenados nele. Além disso, a fase do projeto físico do banco de dados, durante a qual escolhemos as estruturas de armazenamento e os caminhos de acesso dos arquivos de banco de dados, depende das aplicações que usarão esses arquivos para consulta e atualização. Por outro lado, costumamos especificar o projeto das aplicações de banco de dados referindo-nos às construções de seus esquemas, as quais são especificadas durante a primeira atividade. Claramente, essas duas atividades influenciam bastante uma à outra. De maneira tradicional, as metodologias de projeto de banco de dados têm focalizado principalmente a primeira dessas atividades enquanto o projeto de software tem focalizado a segunda; isso pode ser chamado de projeto controlado por dados versus controlado por processo. Agora, é reconhecido por projetistas de banco de dados e engenheiros de software que as duas atividades devem prosseguir lado a lado, e as ferramentas de projeto as combinam cada vez mais. As seis fases já mencionadas em geral não prosseguem estritamente; em seqüência. Em muitos casos podemos ter de modificar o projeto de uma fase mais antiga durante outra mais recente. Esses ciclos de retorno entre as fases — e também dentro delas — são comuns. Mostramos apenas alguns dos ciclos de retorno na Figura 10.1, mas existem muitos outros entre várias fases. Também mostramos algumas interações entre os lados dos dados e dos processos da figura; na realidade, há mais interações. A Fase 1 na Figura 10.1 envolve o levantamento de informações sobre o uso intencionado do banco de dados, e a Fase 6 trata da implementação e do reprojeto do banco de dados. A parte central do processo de projeto de banco de dados compreende as fases 2,4 e 5- Vamos resumir essas fases: Projeto conceitual do banco de dados (Fase 2). O objetivo dessa fase é produzir um esquema conceitual para o banco de dados que seja independente de um SGBD específico. Normalmente, usamos um modelo de dados de alto nível, como o modelo ER ou EUR, durante essa fase. Além disso, especificamos o máximo possível das aplicações ou transações de banco de dados conhecidas, usando uma notação que seja independente de qualquer SGBD específico. Em geral, a escolha do SGBD já é feita para a organização; a intenção do projeto conceitual ainda é mantê-lo o mais livre possível das considerações de implementação. Mapeamento do modelo de dados (Fase 4). Durante essa fase, que também é chamada projeto lógico do banco de dados, mapeamos (ou transformamos) o esquema conceitual do modelo de dados de alto nível usado na Fase 2 para o modelo de dados do SGBD escolhido. Podemos começar essa fase após escolhermos um tipo específico de SGBD — por exemplo, se decidirmos usar algum SGBD relacional, mas ainda não tivermos decidido sobre qual deles em particular. Chamamos este de projeto lógico independente do sistema (mas dependente da modelo de dados), Em relação à arquitetura de SGBD em três níveis, o resultado dessa fase é um esquema conceitual no modelo de dados escolhido. Além disso, o projeto dos esquemas externos (visões) para aplicações específicas normalmente é elaborado durante essa fase. Projeto físico do banco de dados (Fase 5). Durante essa fase, projetamos as especificações para o banco de dados armazenado em matéria das estruturas físicas de armazenamento de arquivo, posicionamento de registros e índices. Isso Corresponde ao projeto do esquema interno na terminologia da arquitetura de SGBD em três níveis. Implementação e ajuste do sistema de banco de dados (Fase 6). Durante essa fase, o banco de dados e os programas de aplicação são implementados, testados e, por fim, implantados para serviço. Diversas transações e aplicações são testadas individualmente e, depois, em conjunto umas com as outras. Isso normalmente revela oportunidades para as mudanças físicas no projeto, indexação de dados, reorganização e diferente posicionamento de dados — uma atividade conhecida como ajuste do banco de dados. O ajuste é uma atividade contínua — uma parte da manutenção do sistema que continua pelo ciclo de vida de um banco de dados, enquanto o banco de dados e as aplicações continuam evoluindo e os problemas de desempenho são detectados. Cada uma das seis fases do projeto de banco de dados, será discutido com mais detalhes nas próximas seções.
Compartilhar