Banco de dados – Tecnologia da Informação
O surgimento das tecnologias diferenciadas para armazenamento e recuperação de dados podem ser consideradas como o início da evolução na construção de grandes sistemas de informação, que permitem que usuários recuperem informações estratégicas, que podem ser transformadas em conhecimentos e ações empresariais, a partir de uma coleção estruturada de dados, dispostas em alguma ordem logicamente estabelecida.
Inicialmente alocados nos grandes computadores, esta tecnologia era de conhecimento restrito e a aprendizagem de ferramentas e linguagens de programação eram restritas a um pequeno número de pessoas. A popularização dos computadores pessoais e o surgimento e evolução da internet, torna estes elementos populares e surgem linguagens que, a partir de ambientes gráficos, onde o usuário apenas ao usar o enfoque “apontar e arrastar” determinados ícones, consegue criar consultas de relativa complexidade aos dados armazenados em um sistema de gerenciamento de base de dado.
Ela é chamada de “base” de dados, devido ao fato de ser criada uma estrutura de “tabelas planas” unidas em tempo de “projeto lógico” e armazenadas com o uso de técnicas determinadas em seu “projeto físico” segundo regras de otimização de espaço de armazenamento ou de rapidez de recuperação dos dados.
Em um curso rápido sobre banco de dados, como parte integrante de uma disciplina que trata a tecnologia da informação de forma abrangente, temos preferido, em nossas turmas, falar sobre a tecnologia mais em uso atualmente, que é o uso dos sistemas de gerenciamento de bases de dados, com a concorrência da internet, o que consegue equiparar o ferramental de uso nas pequenas e médias empresas, aquele utilizado antes apenas por grandes empresas.
Este enfoque é mais adequado também devido ao maior número de problemas endereçado pela disponibilidade “pública” dos dados armazenados nas grandes bases de dados empresariais, que normalmente vão conter os dados a serem apresentados nos grandes “portais corporativos”. O fato é real a ponto dos órgãos que criam e determinam padrões para o uso nos sistemas de gerenciamento de bases de dados, colocam em suas diretivas, novas tendências que incluem tratamento especial, levando em consideração a tendência de criação e uso de grandes bases de dados nos ambientes em rede (Internet).
Os bancos de dados distribuídos na WEB estão voltados para um processo de integração e interoperabilidade, voltados para minimizar o custo, aumentar a segurança e privacidade das informações armazenadas, com o uso de rotinas avançadas de criptografia.
Os problemas mais sensíveis com o desenvolvimento de bancos de dados disponíveis para rede, são a sua distribuição, as questões de segurança, e à autonomia dos locais de armazenamento no caso de grandes bases de dados distribuídas, no caso de captação e circulação de informações que são colocadas de forma redundante, visando o benefício de obter maior velocidade na recuperação de dados e menor volume de transferência.
Independente da localização da base de dados, a sua formatação está dividida em duas etapas: o projeto lógico e seu projeto físico. O projeto lógico determina a distribuição e inter-relacionamento das tabelas planas, seguindo uma determinada metodologia. Em nosso caso, como utilizamos bancos de dados relacionais, temos utilizado a abordagem E-R (Entidade – Relacionamento) e a construção dos modelos utilizando uma linguagem denominada UML – Unified Modeling Language, que é uma linguagem não proprietária de terceira geração que apresenta de forma gráfica as tabelas planas, seu relacionamento e as regras de formatação das visões usuárias utilizadas nas transações. No projeto lógico, o levantamento de dados e efetuado por um projeto de modelagem que capta os dados e segue o seu fluxo, desde a criação, até sua utilização, o que determina as formas de armazenamento possíveis. A técnica que mais utilizamos nos cursos específicos sobre bancos de dados é a técnica DFD – Data Flow Diagram, que apresenta de forma gráfica os atributos dos dados e de quais entidades eles são componentes.
Nos dias atuais as bases de dados pequenas e isoladas, acabam ficando a cargo de desenvolvimento fora dos setores de tecnologia de informação, que se dedicam mais ao desenvolvimento das grandes bases de dados distribuídas, que endereçam problemas de gerenciamento mais cuidadosos e definição de rotinas de segurança e integridade mais aprofundadas devido à disponibilidade pública dos dados.
Assim, para estes casos a integridade, a melhoria das rotinas de consulta para evitar aumentar o tráfego na rede e cuidados com a integração dos dados para evitar alto volume de redundância ocupam a maior parte dos estudos para o desenvolvimento de grandes bases de dados distribuídas.
A questão de volume de transferência de dados pode representar um aumento significativo no custo da aplicação e é um dos outros problemas tratados com maior profundidade.
Com o advento de uma nova abordagem de linguagens de formatação de criação de documentos, denominada tecnologia XML que cria estruturas em árvore que permitem o desenho facilitado do projeto lógico e físico das grandes bases de dados, principalmente no que diz respeito à montagem das “visões usuárias”.
O desenvolvimento dos trabalhos segue as orientações a objeto, o que permite a definição de classes e métodos para o seu manuseio, o que torna facilitada a construção de rotinas de uso comum, para recuperação e utilização dos dados armazenados.
Uma das últimas, mas não menos importante das atividades a serem desenvolvidas pelos programadores de aplicativos para as grandes bases de dados (estejam ou não disponíveis em ambientes em rede) diz respeito às linguagens de recuperação dos dados, que são recebem a designação geral de SQL – Search Query Languages. Elas podem ser determinantes para o sucesso no uso das grandes bases de dados. O termo usabilidade aplicado às interfaces entre homem e máquina se aplica com totalidade a este componente de um sistema de gerenciamento de bases de dados.
Você deve ter observado que utilizamos de forma intercambiável os termos “banco de dados” e “base de dados”, fazemos isto mais pelo uso geral, mas na realidade as bases de dados são formadas por múltiplos bancos de dados e cada banco de dados é formado por um conjunto de “tabelas planas”, contendo “atributos” das “entidades” que estão nele armazenadas e representam elementos existentes na vida real, ou seja, todas as pessoas tem um nome, um endereço, um identificador. Estes elementos são atributos da entidade “clientes” por exemplo. Todos os clientes formam a tabela plana de clientes, que pode estar em uma base de dados de uso restrito ou de uso geral, ou seja uma tabela pode ser utilizada por mais de um banco de dados e pode ser enxergada de modo natural, com todos os seus dados, ou na forma de uma visão usuária, contendo dados de uma ou mais tabelas.
Mais recentemente as questões de portabilidade das aplicações que permite que uma base de dados seja utilizada em diferentes sistemas operacionais e as questões de integração e conectividade entre arquivos, que permitem a existência de arquivos comuns que evitam a redundância, são os elementos que mais ocupam o tempo dos desenvolvedores dos sistemas de gerenciamento de bases de dados.
A integração diz respeito a aplicações comuns que não sejam proprietárias e cujos dados são protegidos por direitos, ou estão sujeitos a rigorosas rotinas de garantia de segurança e privacidade. Estes dois últimos aspectos são também um destaque no estudo das grandes bases de dados.
As pesquisas mais recentes estão centradas sobre a ontologia de aplicativos em computador com o significado da busca de “… modelos de dados que representa um conjunto de conceitos dentro de um domínio e os relacionamentos entre estes. Uma ontologia é utilizada para realizar inferências sobre os objetos do domínio.” (WIKIPÉDIA, 2008).
Considera-se que elas trabalham sobre os indivíduos como objetos básicos do estudo, as classes que representam as coleções ou tipos de objetos armazenados nas grandes bases de dados, os atributos que são propriedades, características ou parâmetros que os objetos armazenados nas bases de dados podem ter de forma intrínseca que podem ser compartilhados entre diversas aplicativos e os relacionamentos, que são as formas como os objetos se relacionam uns com os outros. Nesta definição, considera-se um objeto como uma entidade que tenha existência física ou abstrata no mundo real.