ADMINISTRAÇÃO DE DADOS: uma atividade imprescindível
no processo de gestão de dados nas organizações
IREMAR NUNES DE LIMA 1
GEANNINE ELAUDIENE HERONVILLE ALVES 2
RESUMO: Este artigo analisa a importância da área de administração de dados nas corporações, através da descrição de suas principais atividades, da
diferenciação entre suas atividades e as atividades dos administradores de banco de dados. É apresentado também, um caso que exemplifica a atuação do
administrador de dados.
PALAVRAS-CHAVE: Banco de Dados, Administração de Dados
1. INTRODUÇÃO
Neste cenário, este artigo tem o objetivo de mostrar a ne-
Atualmente verifica-se que o avanço tecnológico possibilitou
cessidade de se ter, nas organizações, uma área de administra-
às instituições gerar e armazenar grandes volumes de dados.
ção de dados com processos, tarefas e padrões bem definidos.
Porém, a análise destes dados e a extração de informações relevantes e estratégicas, a partir deles, não é algo tão freqüente.
Neste contexto, as instituições investem em novas tecnologias,
ferramentas e infra-estrutura para realizar o tratamento destes
dados. Porém, muitas vezes, deixa-se de investir na base de
todo este processo que é a qualidade dos dados captados e/ou
mantidos nos sistemas corporativos e que serão utilizados numa
etapa posterior de análise e tratamento. Carlos Barbieri (2011),
em suas reflexões para escrever o livro BI2- Business Inteligence
-Modelagem e Qualidade, ponderou “... o porquê da qualidade
de dados não ter ainda alcançado um patamar de importância
corporativa semelhante à qualidade dos processos”.
O problema nasce, muitas vezes, no fato de as instituições
não possuírem, no processo de desenvolvimento e manutenção de software, etapas e tarefas formais e bem definidas sobre
administração de dados e, principalmente, não possuírem uma
equipe dedicada, responsável pela definição, atualização e execução destas etapas e tarefas dentro da instituição.
A consequência disto é o risco de se ter um arsenal de infra-estrutura e ferramentas para armazenar, processar e tratar os
dados, porém estes dados não terem a qualidade necessária.
E, esta falta de qualidade, no momento de sua utilização, por
exemplo, na etapa de tratamento, implica, muitas vezes, em um
esforço enorme de correção, reprocessamento e de um grande
retrabalho na manutenção de sistemas corporativos. Isto representa um enorme custo para a instituição. Porém este custo não
é óbvio e por conseqüência, não é contabilizado de uma forma
específica, uma vez que as citadas ações de correção, etc. são
dissolvidas na rotina de trabalho.
2. AS ATRIBUIÇÕES DE UM ADMINISTRADOR DE DADOS
Muitas instituições não possuem uma equipe de administração de dados (ADs) por não conhecer suas atribuições e por ,
muitas vezes, confundi-las com as da equipe de administradores de banco de dados (DBAs) e com as da equipe de analistas
e desenvolvedores de sistemas. Em conseqüência disto, muitas
tarefas importantes deixam de ser executas ou são executadas
sem o cuidado necessário.
Vamos, a princípio, diferenciar a tarefas dos ADs das tarefas
dos DBAs : os DBAs são responsáveis pelo bom funcionamento
do(s) software(s) de banco de dados adotado(s) pela instituição.
A grosso modo, eles são responsáveis por manter o banco disponível, atualizado, bem configurado, seguro, sem erros e com
o melhor tempo de resposta possível para o ambiente em questão. Já os ADs são responsáveis pelo banco de dados no seu
aspecto lógico. Também, a grosso modo, eles são responsáveis
por zelar para que os dados estejam estruturados no banco
de dados da melhor maneira possível, considerando o ambiente
em questão, e com a qualidade necessária.
Por exemplo, não se perguntaria, para um AD, qual é a memória alocada para uma determinada instância do banco de dados ou não se cobraria do AD o fato de o banco de dados estar
fora do ar. Por outro lado, não se perguntaria, para um DBA,
como determinado dado está estruturado dentro do banco de
dados ou em que esquema se encontra determinado dado. Porém, há muita interseção no trabalho destes dois profissionais,
tanto na rotina diária quanto na definição da melhor maneira
PÓS EM REVISTA l 349
de trabalhar.
A forma como o banco é configurado e os padrões colocados pela equipe de DBAs para funcionamento do banco irá interferir no trabalho dos ADs. Por exemplo, no caso do Oracle, se for
posto com padrão, pelos DBAs, que apenas haja Data Base Link
em casos excepcionais, isto irá interferir no trabalho dos ADs.
e executar as ações necessárias para garantir o cumprimento
desta política; controlar usuários e privilégios de usuários; etc.
10. Suporte à equipe de ADs na manutenção das estruturas
de dados;
11. Suporte à equipe de desenvolvedores para melhoria da
performance das aplicações;
Por outro lado, pode ser que a forma com que os ADs estrutura-
12. Estabelecimento, atualização, formalização e comunica-
rem os dados, em uma certa situação, interfira na performance
ção de todos os padrões e regras necessários para o bom fun-
do banco. Então, embora com atribuições distintas, os DBAs e
cionamento do banco, principalmente aqueles que precisem ser
ADs devem sempre alinhar suas atividades e colocar, um para o
seguidos/conhecidos pelas outras equipes que fazem interface
outro, os seus padrões para que o resultado final seja uma boa
com a equipe de DBAs.
utilização do banco de dados, em todos os seus aspectos, uma
vez que é isto que importa para o usuário final.
De uma forma resumida, as principais atribuições dos DBAs
são:
De uma forma geral as atribuições do Administrador de Dados são :
1) Conhecer e documentar os dados e objetos
Buscar o conhecimento dos dados armazenados na institui-
1. Suporte na especificação e dimensionamento do equipamento destinado à instalação do servidor do banco de dados;
ção, documentar e divulgar este conhecimento é a principal atribuição dos administradores de dados. Mesmo porque, é preciso
2. Criação e administração do ambiente de banco de dados
conhecer aquilo que será administrado. Em última instância, isto
– isto implica instalação da ferramenta, configuração da ferra-
significa promover o conhecimento do contexto do negócio da
menta, realização de atualizações, aplicação de service packs,
instituição. Se alguém, na instituição, tiver dúvidas sobre a exis-
abertura de chamados junto ao suporte, etc. Em resumo, garan-
tência de um determinado dado nas bases de dados, ele deve
tia de que o banco esteja instalado, atualizado e configurado da
questionar aos administradores de dados. Porém, conhecer não
melhor maneira possível;
significa ter a resposta imediata – significa ter a responsabilida-
3. Estabelecimento e atualização de critérios e padrões para
de de produzir e promover acesso a este conhecimento. Então,
instalação do programa cliente e suporte à equipe responsável
pode ser que o AD não saiba sobre a existência do dado, mas
por esta instalação;
ele deve pesquisar e fornecer a resposta.
4. Avaliação da necessidade de upgrade da aplicação;
5. Planejamento, junto a outras equipes, das paradas necessárias do banco para manutenções corretivas e preventivas;
Para a geração e manutenção deste conhecimento – conhecimento dos dados da instituição, os administradores têm, como
tarefa contínua, a documentação das bases de dados.
6. Monitoramento do banco de dados: monitoramento e to-
A documentação dos dados é uma tarefa essencial da ad-
mada de providências, a partir deste monitoramento, que garan-
ministração de dados, uma vez que dá suporte a várias outras
tam um bom desempenho do banco e um bom aproveitamento
tarefas. Entende-se, de uma forma resumida, por documentar
do(s) hardware(s) envolvido(s), tais como reorganização de ta-
os dados:
belas, novas configurações para atendimento a novas necessi-
l
Definir um padrão para se agrupar os objetos de uma
dades, etc. Os monitoramentos são vários: monitoramento do
aplicação ou módulo: por exemplo, o fato de se agrupar os ob-
espaço em disco, de desempenho, de uso de CPU, de memória
jetos de uma mesma aplicação ou módulo em um esquema
alocada, etc.
específico, no caso do Oracle, ou em um database específico,
7. Garantia da segurança de dados: rotinas de backup e
restore do banco;
no caso do SQL Server , é uma maneira simples de dizer qual
aplicação/módulo é responsável pelo objeto e/ou mantém o ob-
8. Garantia da disponibilidade do banco: implantação de
jeto. Isto parece óbvio, mas já presenciei situações em que os
mecanismos para garantir a disponibilidade do banco de acor-
objetos de vários módulos foram criados dentro de um mesmo
do com as necessidades das aplicações, como, por exemplo,
esquema Oracle e o resultado foi um esquema com um grande
instalação de um servidor “standby” que garanta a disponibili-
número de tabelas, sem documentação, para as quais não se
dade do banco em caso de problemas com o servidor principal,
sabia, na grande maioria, qual era a aplicação/módulo respon-
para atendimento de aplicações de alta disponibilidade;
sável;
9. Garantia da segurança de acesso: estabelecer, junto a
l Definir, manter e divulgar um padrão para nomenclatura
outras equipes, a política de acesso aos vários bancos de dados
dos objetos da base de dados: esta, também, é uma tarefa sim-
350 | PÓS EM REVISTA
ples e importante, uma vez que um nome de objeto, que siga um
bom padrão, já fala muito sobre o objeto. Para citar como exem-
Ainda, segundo Modelagem de dados (2000, p.10), “A ad-
plo, vivenciei um problema, no banco Oracle, que era descobrir
ministração de dados participa apoiando os desenvolvedores
qual sequence gerava o ID (identificador) de uma determinada
de sistemas em tarefas de modelagem de dados e na elabora-
tabela, pois não havia nada no nome da sequence que a vincu-
ção da documentação, além de definir a segurança e a integri-
lasse ao nome da tabela, nem ao menos havia documentação.
dade dos mesmos”.
Criamos, então, um padrão para o nome da sequence que era
A etapa de modelagem de dados é particularmente impor-
SQ<nome da tabela>. É uma medida simples, porém absolu-
tante, pois é nesta que se define a estrutura – cada tabela neces-
tamente eficaz;
sária, cada atributo, tipo dos atributos, tamanho dos atributos,
l Dizer o que cada tabela contém;
l
Dizer como cada tabela é mantida ou carregada - qual
a aplicação, módulo ou processo é responsável por sua manu-
relacionamento entre as tabelas, etc., que os dados serão armazenados. Isto significa que toda a aplicação será desenvolvida
com base nesta estrutura.
tenção/ origem; ou, no caso de carga batch, dizer qual a origem
Há todo um conhecimento sobre modelagem de dados
dos dados, qual o processo responsável pela carga e qual a
que precisa ser dominado pelos profissionais envolvidos nesta
periodicidade desta carga.
etapa. Muitas vezes, por exemplo, a tarefa de modelagem dos
l
Dizer qual a taxa de crescimento da tabela, com base
em um intervalo de tempo;
l Dizer o que cada atributo contém;
l
Elaborar, atualizar e publicar os modelos das bases de
dados;
l
dados fica confiada aos analistas ou desenvolvedores de sistemas. Realmente, muitos destes profissionais, na sua formação,
passaram por disciplinas de modelagem de dados. Porém, sua
experiência maior está no desenvolvimento, suas técnicas e seu
foco está na entrega da solução. Então, muitas vezes, a tarefa
Dizer o que faz cada procedimento/função armazena-
dos nas bases de dados.
de definir e estruturar os dados, da melhor forma possível, dentro do ambiente em questão, não se torna tão prioritário.
Cabe à administração de dados definir um processo que
Daí a necessidade de se ter uma equipe responsável por
garanta a documentação dos objetos à medida que sejam cria-
validar esta modelagem e estabelecer, atualizar, e formalizar pa-
dos/mantidos. Ainda assim, em muitas instituições, há bases de
drões e regras que garantam uma boa modelagem de dados
dados, de aplicações antigas, sem documentação. Neste caso,
para o ambiente em questão.
os ADs devem recorrer aos analistas que mantém estas aplicações para que estes revelem, às vezes através do próprio códi-
Abaixo segue uma sugestão de processo a ser seguido na
etapa de modelagem de dados:
go, o significado dos dados existentes. Isto dependerá de mui-
1. Primeiramente, a equipe de negócio (requisitos) deve
tas iniciativas do AD, pois normalmente são aplicações grandes,
apresentar, à equipe de AD, o diagrama de contexto da aplica-
de disponibilidade de tempo e de boa vontade dos analistas das
ção. Neste momento, os ADs irão ter conhecimento dos dados
aplicações.
necessários e irão revelar os dados já existentes nas bases de
dados da instituição, que serão utilizados pela aplicação em
2) Projetar as bases de dados
questão (esta integração com os dados da instituição é uma
Independentemente do processo de desenvolvimento de
outra atividade da Administração de Dados que será detalhada
software adotado pela instituição, caso o software envolva ge-
adiante).
ração ou manutenção de dados, haverá sempre uma etapa que
2. Num segundo momento, a equipe de negócio irá apre-
consiste na definição destes dados. Esta definição dos dados
sentar aos ADs o diagrama de dados. Este será validado, com
compreende várias tarefas e é apenas o início do ciclo de vida
base nas formas normais e nos padrões da instituição, para se
do dado que irá ser inserido no banco de dados da instituição.
chegar a um modelo teoricamente correto, sem redundâncias.
De acordo com Modelagem de Dados (2000, p.10):
3. A partir do modelo do passo anterior, deverá ser feita uma
Devemos observar, então, que os dados precisam ser:
análise da aplicação: analisar o volume de dados das tabelas;
modelados (identificados na sua composição e na sua
os tipos de acesso que serão feitos aos dados; o tempo de res-
semântica), resguardados (na integridade, segurança
posta necessário para os acessos, etc. A partir destas análises,
e documentação) e disponibilizados (para o acesso,
várias avaliações podem ser feitas: necessidade de particiona-
atualização e simulação).
mento de tabelas; necessidade de criação de índices; necesPÓS EM REVISTA l 351
sidade de alguma alteração no modelo de modo a garantir o
para se pesquisar os dados, de modo a promover a integração.
melhor acesso ao dado, etc. Pode ser que, em alguns casos,
Na maioria dos casos, a integração é ignorada e a aplicação
haja necessidade de algum tipo de redundância de dados para,
nasce como autônoma, com a persistência de todos os dados
por exemplo, melhoria de performance; pode ser que, em al-
de que necessita, o que , muitas vezes, acarreta redundância
guns casos, seja necessário trazer dados de uma outra base e
desnecessária e/ou sem nenhum controle. Já testemunhei si-
redundar estes dados na base em questão; etc. No caso de re-
tuações onde os desenvolvedores achavam que não deveriam
dundâncias, o importante é que essas sejam feitas com controle
“mexer” com os dados de determinados sistemas, mesmo sa-
para que não resultem em divergências nos valores dos dados.
bendo que a base de dados destes sistemas continham e man-
4. A partir do modelo final, devem-se verificar as adaptações
tinham informações básicas da instituição, necessárias para a
necessárias no código – por exemplo, no caso de particiona-
aplicação a ser desenvolvida.
mentos, dependendo do tipo adotado, deve-se fazer referência,
nas sentenças SQL, ao atributo considerado para particionar.
5. Quando o modelo estiver na versão final, a equipe de negócio deverá entregar, à equipe de ADs, toda documentação
exigida.
4) Criar as bases das aplicações nos bancos de desenvolvimento
Quando se chega à versão final do modelo de dados, parte-se para a criação dos objetos e preparação do banco de dados
de desenvolvimento, para que os desenvolvedores possam ini-
3) Integrar os dados
Além da teoria e das boas práticas, há outra tarefa que permeia a projeto das bases de dados que é o conhecimento dos
dados já existentes na instituição. Os dados corporativos e/ou
os dados de outros sistemas podem ser necessários para a modelagem do sistema em questão. Então, é essencial que o profissional de dados, envolvido na modelagem, conheça os dados
da instituição, ou tenha a responsabilidade de pesquisá-los para
dar suporte à modelagem , para que haja integração entre os
sistemas e para que não ocorra problemas clássicos como, por
exemplo, redundância desnecessária de dados, praticada sem
nenhum controle.
O conhecimento dos dados corporativos é uma tarefa que
exige, dos profissionais de dados, constante pesquisa e documentação. Serra (2002, p.135), na sua abordagem sobre arquitetura de dados, define da seguinte maneira o papel do arquiteto de dados, que seria o profissional que lida com o dado :
Ele se ocupa de trabalhar os dados como um recurso
estratégico da organização, representando-os independentemente dos processos das diferentes unidades que
ciar a codificação da aplicação.
Neste momento, os ADs irão executar várias atividades:
l Colocar os nomes de objetos na nomenclatura padrão;
l
Criar o esquema, as roles (caso o banco de dados e a
organização trabalhe com roles) e as tablespaces;
Criar os objetos: tabelas, sequences, triggers, cons-
l
traints, índices, views, funções, procedures, etc.;
l
Inserir, no banco de dados, caso este permita, ou em
qualquer outro repositório, a documentação dos objetos;
l Conceder grant dos objetos para as roles, caso o banco
de dados e a organização opere com roles;
Verificar quais usuários irão participar do desenvolvi-
l
mento e criá-los no banco de dados de desenvolvimento;
l Conceder grant dos objetos e/ou roles para os usuários ;
l Criar sinônimos públicos e/ou privados;
l
Fazer o modelo da base de dados e publicar este mo-
delo. Para esta tarefa, o ideal é utilizar uma ferramenta case,
integrada com o banco de dados, que tenha o recurso de engenharia direta e reversa, para que fique fácil a atualização dos
modelos.
os utilizam, respeitando as múltiplas visões derivadas do
mesmo dado, permitindo seu compartilhamento, considerando as características dos níveis de informação
necessários: operacional – tático – estratégico e
disponibilizando estruturas de dados de forma organizada; propiciando com isso a construção da base
para sistemas de informação flexíveis e integrados.
Esta é uma tarefa delicada de se deixar a cargo de desenvolvedores e analistas: muitas vezes não há documentação dos
dados das aplicações existentes e não há tempo no cronograma
352 | PÓS EM REVISTA
5) Executar, nos bancos de desenvolvimento / homologação, as
instruções DDL
Fica a cargo de a organização definir quem poderá executar
instruções DDL nos bancos de dados. Pode haver vários cenários :
l
Apenas os ADs e DBAs poderem executar instruções
DDL nas bases de dados. Pode haver, também, um cenário
mais restrito: no banco de produção e pré-produção, apenas os
DBAs executarem estas instruções. Já, nos bancos de desen-
volvimento e homologação, os ADs executariam;
de muitos usuários.
Pode-se dar uma proteção maior apenas para os ban-
Para que esta “equivalência” seja feita, é desenvolvido um
cos de produção, pré-produção e homologação: nestes bancos
trabalho conjunto entre DBAs, ADs, analistas e desenvolvedo-
as instruções de DDL seriam executadas apenas por DBAs e/
res, que engloba as seguintes tarefas:
l
ou ADs . Já, no banco de desenvolvimento, estas instruções
poderiam ser executadas pelos desenvolvedores.
l
Levantar as diferenças de estrutura entre os objetos do
banco de produção e do outro banco envolvido.
Qualquer um dos cenários traz vantagens e desvantagens.
- Pelo fato de os bancos de desenvolvimento, homo-
Concentrar as instruções DDL nas mãos dos DBAs e ADs
logação e pré-produção possuírem novos objetos, ou
tem a desvantagem de tornar mais moroso o processo de de-
objetos alterados, que ainda não constam em produção,
senvolvimento/homologação, uma vez que gera a necessidade
não se pode, simplesmente, “sobrepor” o outro banco
de os desenvolvedores e analistas criarem uma solicitação de
com o de produção. Caso as operações de DDL sejam
alteração para os ADs ou DBAs e esperar a solicitação ser aten-
executadas apenas por DBAs e/ou ADs e caso haja uma
dida. Mas, por outro lado, esta opção tem como grande vanta-
boa ferramenta para registro e controle destas deman-
gem a garantia do cumprimento das etapas e atividades defini-
das, é possível que todas as alterações feitas após a
das para o processo de administração dos dados, o que resulta
última cópia de produção estejam armazenadas separa-
num banco de dados mais bem estruturado e documentado.
damente para serem replicadas na nova cópia.
Desta forma, muitos problemas são evitados antes da codifica-
- Caso as operações de DDL sejam efetuadas pelos de-
ção da solução iniciar.
senvolvedores ou sejam efetuadas apenas por ADs e/ou
Quando se libera as instruções DDL para os desenvolvedo-
DBAs, porém não se tenha uma boa organização das
res, as regras e atividades da administração de dados devem
solicitações atendidas, deve-se fazer um levantamen-
ser claras e públicas, e os próprios desenvolvedores deverão
to das diferenças entre o banco de produção e o ou-
conhecê-las e segui-las. A ação dos ADs deixa de ser preventi-
tro banco em questão . Há ferramentas que fazem este
va para ser corretiva. A vantagem desta opção é um processo
levantamento, gerando as diferenças como instruções
de desenvolvimento um pouco menos moroso. Porém, em mi-
DDL e DML.
nha opinião, as desvantagens desta opção são muitas: primei-
l Verificar, junto aos analistas e desenvolvedores, as dife-
ramente, dependendo da estrutura da organização, tem-se um
renças que devem ser reaplicadas : esta é uma etapa de limpe-
número grande de desenvolvedores, em alguns casos localiza-
za, para eliminar objetos desnecessários do banco em questão;
dos em fábricas de software, e a rotatividade destes também é
grande. Todos estes fatores aumentam a possibilidade destes
desenvolvedores não conhecerem as regras para os dados e/
ou, apesar de conhecerem, não dar a elas a devida importância.
l
Copiar o banco de produção em uma nova área de
modo a criar um novo banco;
l
Rodar rotinas para alterar os dados do novo banco, de
modo a garantir o sigilo dos dados de produção;
Além disso, há a questão “tempo”: após a aplicação ser desen-
l Aplicar as diferenças levantadas no passo acima.
volvida sobre uma estrutura de dados inadequada, dificilmente
l Disponibilizar o novo banco para uso.
haverá cronograma para que ela seja alterada para atender a
Obs: o banco de dados substituído é mantido, por algum
uma outra estrutura. Então, não se consegue fazer uma correção
tempo, como segurança, caso alguma estrutura e dado neces-
completa. Quando muito, faz-se alguns reparos, nem sempre de
sários não tenham sido levados. Porém, este banco não fica
uma maneira adequada.
acessível aos usuários. Apenas aos DBAs e ADs.
6) Executar, juntamente com os DBAs, réplica de dados do banco
de produção para os bancos de homologação/desenvolvimento
7) Levar as bases das aplicações para os bancos de homologação,
pré-produção e produção
Periodicamente, é necessário fazer com que os bancos de
À medida que os módulos ou aplicações vão passando pe-
desenvolvimento, homologação e pré-produção fiquem com
las etapas de desenvolvimento, homologação, pré-produção e
dados semelhantes ao banco de produção, para que os testes
produção, a estrutura da base de dados destas aplicações tem
sejam feitos em cima de dados mais reais, com volumes reais, e
que caminhar para os respectivos bancos. A primeira migração
para que sejam corrigidos dados inconsistentes destes bancos,
ocorre do banco de desenvolvimento para o banco de homolo-
principalmente o de desenvolvimento, que sofre operações DML
gação, onde a aplicação passará por testes e, posteriormente,
PÓS EM REVISTA l 353
será validada pelo usuário. Esta migração significa, em nível de
lista responsável pela aplicação a revelação do significado
banco de dados, passar para o banco de homologação tudo –
dos valores. Muitas vezes se descobre lacunas na aplicação
estrutura e dados, que o novo módulo ou iteração ou aplicação
e outras vezes se descobre que esta passou a persistir no-
necessita. Isto significa que os ADs, juntamente com analistas e
vos valores para o atributo, porém não houve atualização da
desenvolvedores, terão que mapear esta estrutura e dados para
documentação. O resultado, normalmente, além de correções
esta migração. Uma boa prática é os ADs desenvolverem um
na aplicação e documentação dos dados, é a criação de che-
template para direcionar este mapeamento. A princípio, a tarefa
ck constraints que apenas aceitam um conjunto definido de
parece simples. Porém, o novo módulo, além de seus objetos
valores para o atributo. Isto evita o surgimento de novos valo-
próprios (que podem estar separados em um esquema), pode
res que não estejam previstos no banco. A criação de check
provocar alterações em objetos de outros módulos ou inserir
constraints pode se tornar um padrão estabelecido pela área
dados em objetos de outros módulos. Além disso, muitas apli-
de dados, quando não há uma tabela auxiliar que contenha a
cações utilizam frameworks , cujos dados também devem ser
descrição dos valores.
levados para novo banco. Tudo isto traz mais complexidade a
Na verdade, o objetivo da inspeção é zelar pela qualida-
esta tarefa de migração. Então, este template, a ser preenchido
de dos dados, e é um trabalho contínuo da administração de
por ADs, analistas e desenvolvedores, é útil para organizar esta
dados. É esta qualidade que traz segurança aos utilizadores
tarefa além de, uma vez efetuado e atualizado nesta fase de ho-
do dado. Há ferramentas de qualidade de dados que auxiliam
mologação, ficar pronto para as migrações para a pré-produção
neste trabalho.
e para produção.
3. ESTUDO DE CASO
8) Inspecionar os dados
Será descrito, aqui, um caso real de redundância descon-
Esta tarefa requer do administrador de dados um espírito
trolada de dados. O cenário é a TI de uma empresa que havia
investigativo. Os ADs, em suas várias pesquisas na base de da-
desenvolvido e mantinha um grande sistema corporativo, origi-
dos para documentá-lo, ou para verificar se dados necessários
nalmente construído na linguagem Natural e banco de dados
para uma dada aplicação já existem na base de dados, ou para
DB2 e posteriormente migrado para o banco Oracle. Iremos cha-
verificar algum erro detectado , ou por qualquer outro motivo,
mar este primeiro sistema de S1.
podem se deparar com dados incorretos ou indefinidos.
Num dado momento, foi contratada uma empresa para
Quando os dados estão incorretos, o AD tentará descobrir
migrar parte deste S1 para a plataforma Web, com linguagem
a origem do problema e, juntamente com os analistas que man-
Java, para disponibilização de vários serviços na Internet. Cha-
tém as aplicações envolvidas, mapear a solução a ser adotada.
maremos este novo sistema de S2. Como apenas parte do S1
Esta solução pode envolver apenas uma correção de da-
seria migrada, os dois sistemas teriam que funcionar, e, em
dos, sem afetar a aplicação em si. Neste caso, os analistas
muitos casos, teriam que se comunicar, isto é: alguns dados
construiriam o script para correção, este seria revisado pelos
inseridos e mantidos no S1 seriam tratados pelo S2 e vice-versa.
ADs e, posteriormente, seria executado nos diversos bancos.
Como não havia, na empresa, área de Administração de Dados,
Em outros casos, a solução envolve correções na própria
aplicação, para que a persistência dos dados seja feita corre-
a empresa contratada era responsável por desenhar e criar todas as bases de dados.
tamente, além da correção dos dados já persistidos com erro.
Uma determinada tabela auxiliar do S1, que chamaremos
Nestes casos, a área de Administração de Dados passa a ser
de TAB-S1, seria necessária também no S2. Entenda por auxiliar
demandante da área de soluções.
a tabela que contém dados importantes, cujos atributos chaves
E o que seriam os dados indefinidos ? No dicionário, indefinido significa que não se pode explicar, incerto, vago,
indeciso, indistinto. Tudo que um dado não pode ser. Segue
um exemplo prático: muitas vezes nos deparamos com atributos flags, cuja documentação indica os possíveis valores,
compõem os registros das tabelas com que a tabela auxiliar se
relaciona.
Havia as seguintes necessidades:
l
Nem todos os atributos da TAB-S1 eram necessários
para S2;
porém a base de dados apresenta outros valores persistidos,
l
que diferem da documentação. Então, a princípio, não se
para o S2;
sabe o que o valor significa. Os ADs, então, solicitam ao ana354 | PÓS EM REVISTA
Nem todos os registros da TAB-S1 eram necessários
Havia 10 atributos novos necessários apenas para o S2.
Resolveram, então, criar uma tabela na base de dados
tabelas somente eram considerados válidos se inseridos na
do S2, que chamaremos de TAB-S2, com alguns atributos per-
TAB-S1. Em outras palavras, todo registro da TAB-S2 teria que
tencentes à TAB-S1 e com atributos novos. Porém, pela dinâ-
existir, primeiramente, na TAB-S1. A figura abaixo, representa o
mica do negócio da empresa, os registros tratados pelas duas
cenário descrito.
l
Segundo relatos de analistas e funcionários que participa-
devido ao desenho e necessidade das aplicações. Além disto,
ram desta etapa do projeto, a criação da TAB-S2 ocorreu devi-
como as duas tabelas faziam relacionamentos com tabelas dife-
do a um certo sentimento de autonomia do novo sistema, que
rentes, as chaves estrangeiras, levadas para as tabelas relacio-
permeou todo o projeto : cria-se uma nova tabela para o novo
nadas, deveriam ser iguais;
sistema e não “mexe” com a tabela do sistema existente.
l A inserção de novos registros teria que ser feita, primei-
Os atributos em verde eram os atributos comuns entre as
ramente, na TAB-S1. Na inserção do mesmo registro, na TAB-
duas tabelas e os atributos em azul, na TAB-S2, eram os atribu-
-S2, a aplicação localizaria, pela chave, o registro na TAB-S1 e
tos novos, necessários apenas para o S2.
os atributos comuns teriam os conteúdos trazidos, via TRIGGER,
A criação de uma outra tabela poderia se justificar pelos seguintes motivos :
l Seria um tipo de especialização, uma vez que há atributos novos, que somente interessam ao SIS2;
l
Apesar de haver redundância , uma vez que temos atri-
butos que são os mesmos nas duas tabelas, esta poderia ser ne-
da TAB-S1. Desta forma, apenas os atributos novos da TAB-S2
poderiam ser alterados via aplicação.
l
Na alteração de registros, os atributos comuns seriam
alterados apenas na TAB-S1 e os novos conteúdos seriam levados, via TRIGGER, para a TAB-S2.
l
Como a exclusão dos registros das tabelas é lógica, e
cessária caso o acesso à TAB-S1 fosse muito grande. Seria uma
a validade dos registros é controlada pela TAB-S1, a exclusão
forma de não sobrecarregar a TAB-S1 com os acessos do S2.
seguiria a mesma lógica da alteração: assim que se inserisse
Porém, várias medidas teriam que ser sido tomadas para
que os atributos comuns entre as duas tabelas continuassem
iguais e se mantivesse, assim, a exatidão e integridade dos da-
DATA-FIM na TAB-S1, esta data-fim seria levada, via TRIGGER,
para a TAB-S2.
l
Na TAB-S1, como o atributo CODIGO-COMPLETO é
dos. Estas medidas poderiam ser, em ordem decrescente de
uma concatenação dos atributos CODIGO e DV, apenas estes
segurança, a nível de banco de dados, a nível de aplicação ou
últimos seriam inseridos pela aplicação. O CODIGO-COMPLE-
a nível de processo.
TO também seria inserido via TRIGGER.
A nível de banco de dados, estas medidas de controle seriam as seguintes:
Estas medidas garantiriam valores iguais para os atributos redundantes.
Primeiramente, as chaves das duas tabelas teriam que
Posteriormente, a instituição passou a ter uma área de Ad-
ser iguais, pois na verdade a tabela é uma só, que foi dividida
ministração de Dados e foi demandado a esta área eliminar a
l
PÓS EM REVISTA l 355
TAB-S2. Partindo do pressuposto que os registros equivalentes
de documentos gerados para usuários externos. Teoricamente,
das duas tabelas teriam valores iguais nos atributos comuns,
os dados destas tabelas relacionadas teriam que permanecer
este trabalho seguiria o seguinte roteiro:
fiéis aos documentos gerados que os continham. Além disso,
l
Levar, para a TAB-S1, os atributos novos da TAB-S2
e popular estes atributos com os valores contidos na TAB-S2;
caso estes documentos fossem reabertos, por alguma opção
da aplicação, após a unificação, ocorreria um erro pelo fato de
Criar, na TAB-S1, uma chave única com o atributo CO-
os dados gravados no documento (dados incorretos, originados
DIGO, para que a TAB-S1 pudesse se relacionar com as tabelas
da TAB-S2) não constarem na TAB-S1, que seria a única tabela.
que se relacionavam com a TAB-S2, uma vez que este atributo
Então, a unificação ficou no aguardo de a aplicação ser alte-
l
era chave na TAB-S2;
rada para que este problema fosse contornado. Este caso ilustra
Eliminar o relacionamento entre outras tabelas da base
como erros na estrutura de dados podem originar problemas
com a TAB-S2 e criar, nestas outras tabelas, um relacionamento
que, para serem resolvidos, demandam um grande esforço de
com a TAB-S1, através da chave única criada no passo anterior;
manutenção e como é importante a atuação da administração
Como segurança, criar uma tabela backup da TAB-S2,
de dados para agir de forma preventiva e zelar por esta estrutura.
l
l
com mesma estrutura e dados, e atribuir-lhe o nome BKP-TAB-S2;
l Eliminar a TAB-S2;
l
Criar uma view com o nome TAB-S2 (mesmo nome da
tabela eliminada), cujos atributos retornados teriam os mesmos
nomes dos atributos da TAB-S2 e cujos dados seriam buscados
da TAB-S1. Desta forma, o código da aplicação S2 não precisaria ser alterado.
No início do trabalho foi constatado que as medidas de controle citadas acima, além de não terem sido tomadas a nível de
banco de dados, também não foram tomadas a nível de aplicação e nem a nível de processo. Foram encontrados, então,
vários tipos de problemas:
l
do, ou no produto gerado, é essencial se ter OBJETIVOS, isto é,
qual o nível de qualidade que se deseja alcançar, PROCESSOS,
o mais formalizados possível (formalizado e não engessado) e
EQUIPE RESPONSÁVEL por manter e executar estes processos.
Não se pode ser ingênuo a ponto de acreditar que todas
as pessoas envolvidas buscarão, por iniciativa própria, sem
nenhum direcionamento, os mesmos padrões de qualidade.
Divergência de valores de atributos comuns entre as
tro da TI, como desenvolvedores e DBAs, assumam para si a
Registros com DATA-FIM na TAB-S2 que não estavam
com DATA-FIM na TAB-S1.
l
área, se é desejável certo nível de qualidade no serviço presta-
Com os dados de uma instituição não é diferente. Não se pode
duas tabelas;
l
Diante de todo o exposto, o que podemos concluir, de uma
forma genérica, é que, em qualquer instituição, de qualquer
Registros que existiam na TAB-S2 e não existiam na
TAB-S1;
l
4. CONCLUSÃO
Atributo CODIGO-COMPLETO, da TAB-S1, não corres-
pondia à concatenação dos atributos CODIGO+DV, da mesma
tabela.
Várias pesquisas foram feitas nas bases de dados para se
decidir a melhor maneira de corrigir as divergências e várias
medidas foram tomadas. Porém, a unificação ficou com uma
pendência: devido à divergência de valores de atributos que
eram comuns entre as duas tabelas, foram investigados quais
eram os valores corretos, pois após a unificação, somente existiria uma tabela. Os valores corretos estavam na TAB-S1. Então, aparentemente, nestes casos, não havia correção a fazer,
pois somente existiriam dados da TAB-S1. Porém, ao se relacionar com outras tabelas, a TAB-S2, que continha os dados
incorretos, levou estes dados para estas outras tabelas, que não
poderiam sofrer modificação automática, por já fazerem parte
356 | PÓS EM REVISTA
pensar que profissionais, que estejam em outras funções denresponsabilidade pela estrutura e qualidade de dados em toda
sua amplitude.
Não se pode pensar, também, que o fato de se ter uma ótima infraestrutura e ótimas ferramentas - banco de dados, ferramentas de Business Inteligence e outras vão garantir a qualidade dos dados. É preciso ter processos e pessoas que estejam
imbuídas destas responsabilidades . É imprescindível se ter uma
área de Administração de Dados que irá fazer a ponte dos outros profissionais de Tecnologia da Informação com os bancos
de dados. É claro que o tamanho desta área e o grau de complexidade de seus processos dependerão do porte da empresa
e dos níveis de controle e qualidade que se deseja alcançar.
O importante é que a área exista formalmente e seja estruturada e dimensionada para conseguir atuar de forma significativa, dentro dos objetivos e diretrizes da instituição. Deste
modo, a área irá adquirir a confiança e a parceria do restante
dos profissionais, seus processos irão amadurecer de uma forma contínua e tudo isto se traduzirá em organização, controle,
domínio, documentação, integração e qualidade dos dados da
instituição.
REFERÊNCIAS
BARBIERI, Carlos. BI2 – Business Intelligence – Modelagem e Qualidade. Elsevier. 2011.
SERRA, Laércio. A Essência do Business Intelligence. Berkeley.
2002.
SENAC.Modelagem de dados. Senac Nacional.2000.
TEOREY, Toby. Projeto e Modelagem de Bancos de Dados. Campus.2007.
NOTAS DE RODAPÉ
1
Professor do Centro Universitário Newton Paiva ([email protected]).
Pós graduanda em Banco de dados e Business Intelligence no Centro
Universitário Newton Paiva.([email protected]).
2
PÓS EM REVISTA l 357
Download

ADMINISTRAÇÃO DE DADOS: uma atividade imprescindível no