Home - www.devmedia.com.br


Companheiros e companheiras:

Nem comecei e já esqueci onde parei. Vejamos...

O artigo de boas vindas tratou de alguns paradigmas e escolhas em informática.

Em continuação, relatarei de maneira simples e direta (“na lata”) temas relacionados a bancos de dados (lógico), programação e sistemas de informação...

Os dois próximos artigos serão, respectivamente:

- Níveis de abstração para modelagem de dados e informações - “projetando a casa antes de construí-la”; e,

- Normalização de dados - "juntando os cacos para compor a garrafa".

Gerenciadores de Arquivos (GA) e Sistemas Gerenciadores de Bancos de Dados (SGBD)

Resumo
            Introdução
            Dado, informação e conhecimento;
            Arquivos, registros e campos;
            Organização de arquivos e métodos de acesso aos registros;
            Soluções baseadas em arquivos;
            Banco de dados, a solução ideal;
            Visões de um banco de dados (modelo ANSI/SPARC);
            Atividades de Sistemas, Programação e Bancos de Dados.

Introdução

Trabalho com bancos de dados relacionais. Trabalhei com um banco de dados hierárquico - IMS no ambiente IBM 43XX usando como linguagem o DL/I. Também tive algumas experiências com ADABAS-C (banco de dados “adaptável”) e com a linguagem de programação NATURAL.

Agora, vou confessar a todos...

Algum banco de dados referente ao modelo em rede, para mim, é como saci pererê ou mula-sem-cabeça: todos falam sobre o assunto em livros, revistas, aulas, etc.; porém, eu nunca vi!

Conversando com alguns colegas, cheguei à conclusão que temos bancos de dados "AC" e "DC" (antes e depois do modelo relacional de Edgard F Codd). Os bancos de dados relacionais colocaram definitivamente "para escanteio" as soluções com gerenciadores de arquivos que disputavam ainda com os demais bancos de dados que seguiam modelos pré-relacionais.

Dado, Informação e Conhecimento:

Dado
Elemento ou quantidade conhecida, que serve de base à resolução de um problema.

Informação

Resultante da análise criteriosa de uma coleção de dados.

Conhecimento

Análise experiente com um conjunto de informações.

Apropriação do objeto pelo pensamento: análise, apreensão completa, percepção clara, definição, etc.

Arquivos, Registros e Campos:

Arquivo

Conjunto de registros.

Registro

Conjunto de campos.

Campo

Conjunto de bytes (numéricos, alfabéticos, alfanuméricos, lógicos, especiais, etc.).

Exemplo: Arquivo de alunos.

Cada linha contém um registro com quatro campos (matrícula, nome, data de nascimento e sexo).

Organização de arquivos e métodos de acesso aos registros:

Dependendo da forma como os registros estão fisicamente armazenados em um arquivo, podemos ter diferentes modos de acesso e tratamento por uma aplicação (programa gerenciador de arquivos como, por exemplo, COBOL).

Tipos de organização e modos de acesso...

Organização Seqüencial e seqüencial por linha 

Os registros estão armazenados lado a lado ou um após o outro. Permite somente o acesso seqüencial.

Organização INDEXADA e Seqüencial INDEXADA 

Organizações em que os registros são identificados por um índice conhecido como chave de acesso (valor com que as demais informações de cada registro são identificadas no arquivo).

Possui duas áreas, a saber:

Área de Dados - armazena os registros do arquivo.

Área de Índices - armazena as chaves de acesso e os endereços dos registros da área de dados.

Modos de Acesso: 

Acesso Seqüencial - Leitura seqüencial dos registros através das chaves de acesso.

Acesso Aleatório ou Randômico - Leitura de um registro através de uma chave de acesso fornecida.

Organização RELATIVA

Trabalha com chave numérica pela qual é calculado o deslocamento do endereço físico do registro na área de dados.

Modos de Acesso:

Acesso Seqüencial - Leitura seqüencial dos registros através das chaves de acesso.

Acesso Aleatório ou Randômico - Leitura de um registro num endereço calculado através de uma chave.

LISTAS INVERTIDAS (chaves secundárias)

Permitem acesso aos registros através de listas que referenciam as chaves primárias.

DEVEM ser atualizadas simultaneamente com as chaves primárias de acesso.

Soluções baseadas em arquivos

Normalmente, são resultantes de concepção de sistemas baseados principalmente em processos...

Dada uma aplicação, criam-se os arquivos para a mesma.

--- Soluções independentes onde cada necessidade é atendida isoladamente. ---

Neste contexto, podemos constatar uma REDUNDÂNCIA DE DADOS que causa PROBLEMAS DE INTEGRIDADE em virtude de atualização parcial dos registros, ou seja, necessidade da atualização dos mesmos dados em mais de um arquivo. Conseqüentemente, o espaço de armazenamento aumenta desnecessariamente.

Combinando as aplicações de Folha de Pagamento com Recursos Humanos poderíamos eliminar a redundância de dados.

Conseqüentemente, teríamos de alterar as aplicações de FP e RH por causa das mudanças nos layout's das estruturas dos arquivos.

Porém, e se depois de algum tempo surgir uma nova aplicação (e novos arquivos)?

Com esta combinação "ganhamos", também, alguns problemas: falta de segurança, quebra de integridade, etc.

Todos os sistemas têm acesso a tudo e os usuários das aplicações “enxergam” mais dados do que necessitam, podendo alterar dados indevidamente.

Para este tipo de concepção, sempre haverá problemas com dependência de dados (dos programas de aplicação em relação às estruturas de armazenamento e os métodos de acesso) para cada nova necessidade de informação.

Criando-se uma nova aplicação (e novos campos) teríamos que alterar todos os programas (para modificar o formato de registro, tornando a manutenção o maior problema).

* Este é um dos motivos pelos quais os programadores e analistas que lidavam com o “bom e velho” COBOL deixavam vários bytes de reserva no final dos registros. Claro que nunca foi uma solução perfeita, porque ocupava espaço em disco e o registro ficava "bagunçado"; mas, evitava algumas "catástrofes".

Banco de Dados, a solução ideal.

Normalmente, resultante de concepção de sistemas baseados principalmente em dados...

Um banco de dados relacional compõe-se essencialmente de:

Depósito de Dados

Integrado e disponível para compartilhamento.

Conjunto de Programas

Sistema Gerenciador de Bancos de Dados (SGBD).

Linguagem para definição e exploração

Structure Query Language (SQL).

O armazenamento de dados apresenta-se como um “Depósito de Dados” integrado (sem redundância) e compartilhado (por várias aplicações) ocupando volumes de memória secundária (disco).

A concentração de informações traz como vantagem uma redução ou a eliminação de redundâncias e a simplificação administrativa.

A maior vantagem é a independência de dados (das aplicações quanto à estrutura de armazenamento e o método de acesso) o que facilita a criação de novas aplicações.

O conjunto de programas e a linguagem para exploração das bases de dados permitem, com rapidez, o atendimento a solicitações em função de cada necessidade momentânea; evitando todo aquele “cerimonial” de projetos de programas e/ou sistemas.

Também realiza o controle automático de relacionamento entre "registros" (linhas das tabelas).

Legal.

Então, com todos estes recursos, o banco de dados fornece às aplicações somente os dados que cada uma delas necessita, garantindo a privacidade e a segurança dos dados.

Visões de um Banco de Dados (modelo ANSI/SPARC):

Atividades de Sistemas, Programação e Bancos de Dados:

Conhecer e compreender as atividades da empresa mais os significados das informações são pré-requisitos fundamentais para estes profissionais de informática.

Experiente visão de negócios, conhecimento de modelagem e prática em metodologias para abstração e representação de dados, processos e controles são características indispensáveis neste ambiente.

Analista de Sistemas (AS)

Estuda, projeta, cria, otimiza, implanta e mantém sistemas...

Seleciona o projeto e estuda sua viabilidade conhecendo seus requisitos;

Define o projeto, detalha o sistema e determina seu ponto de congelamento;

Desenvolve, documenta, implanta, avalia e mantém sistemas.

Para tanto, utiliza...

Entrevistas, reuniões e apresentações;

Metodologias (estruturada, essencial e orientada a objetos) e suas ferramentas;

Bancos de dados, linguagens de programação e ambientes para desenvolvimento (ferramentas CASE para prototipação de sistemas) em ambientes operacionais e de redes. 

Alguns analistas dividem suas tarefas com gerentes de projetos, arquitetos de software, DBA's, programadores e demais profissionais. Muitos têm atuação mais limitada e simplesmente apóiam soluções desenvolvidas por outrem (ERP, CRM, “XYZ da vida”, etc.). Tudo depende da estrutura e do local de trabalho.

Administrador de Dados (DA)

Perfil de Analista de sistemas e negócios com domínio das técnicas para abstração e representação de dados e informações.

Define os dados do banco em função das necessidades da empresa bem como padrões e nomenclaturas para uso em entidades, atributos e relacionamentos;

Integra modelos parciais/setoriais em um modelo corporativo e estabelece autorização de acesso aos dados.

Administrador de Banco de Dados (DBA)

Perfil de Programador com vivência em bancos de dados e sistemas de informação.

Bons conhecimentos de hardware, sistemas operacionais e ambientes de redes nos quais o banco vai "rodar".

Conhece muito bem cada componente do SGBD.

Define a estrutura de armazenamento e a estratégia de acesso.

Monitora o desempenho do SGBD e é responsável pela integridade e segurança das informações.

Queridos leitores,

Agradecido.
Valeu pela força.
Abraços para todos.

DAQUELE JEITO...

Boa Sorte, Saúde e Cuca Fresca.

Valeu?!

Mansueto G. Almeida

Analista de Sistemas, consultor por vocação e professor por insistência.

Críticas e sugestões: mansuetoalmeida@yahoo.com.br;

Bibliografia

DATE, C. J. Introdução a sistemas de banco de dados. 4. ed. Rio de Janeiro: Campus, 1991. 

KORTH, Henry F; SILBERSCHATZ, Abraham. Sistemas de bancos de dados. 2. ed. São Paulo: Makron Books, 1993. 

NEWCOMER, Lawrence R. COBOL estruturado. São Paulo, McGraw-Hill do Brasil, 1985.

FERREIRA, Aurélio Buarque de Holanda; J.E.M.M., Novo dicionário de Língua Portuguesa. 2. ed. Rio de Janeiro: Nova Fronteira, 1986.

Bibliografia Complementar

SETZER, V. W. Banco de dados. São Paulo: Edgard Blücher, 1989.

Pompilho, S. Análise Essencial - guia prático de Análise de Sistemas. Rio de Janeiro, Ciência Moderna, 2002. 

McMenamin, Stephen M. Análise Essencial de Sistemas. São Paulo, McGraw-Hill, 1991. 

YOURDON, E. Análise estruturada moderna. Rio de Janeiro, Campus, 1992. 

MARCO, T. Análise estruturada e especificação de sistemas. Rio de Janeiro, Campus, 1989. 

GANE, C; SARSON T. Análise estruturada de sistemas. Rio de Janeiro, LTC - Livros Técnicos e Científicos, 1983. 

DAVID, W. S. Análise e projeto de sistemas - uma abordagem estruturada. Rio de Janeiro, LTC - Livros Técnicos e Científicos, 1987.

WARNIER, Jean Dominique. LCP: lógica de construção de programas. Rio de Janeiro, Campus, 1987. 

MAGRI, João Alexandre. Lógica de programação: ensino prático. São Paulo, Érica, 2003.

 

Mansueto Gomes de Almeida mansuetoalmeida@yahoo.com.br, é especialista em análise de sistemas, com vivência de 24 anos ininterruptos em vários cargos e funções relativos a processamento de dados e tratamento da informação.Trabalhou em várias empresas, com profissionais de diversas áreas, em muitos sistemas computacionais (do mainframe ao microcomputador e, até mesmo, os "lendários" cartões perfurados).Tem 40 anos, é casado e tem um filho.Atualmente, está analista de sistemas sênior na Universidade de Taubaté (concurso público) e professor no Centro Paula Souza (concurso público). Eventualmente, trabalha como consultor independente.

  Modelagem    
  GAxSGBD    
  Boas-Vindas    
     

 

Todos os direitos reservados: DevMedia Group
SQL Magazine - 2005