Você está na página 1de 9

OS PRIMEIROS BANCO DE DADOS DO MERCADO

Mesmo a IBM sendo a companhia que inventou o conceito original e o padro SQL, eles no produziram o primeiro sistema comercial de banco de dados. O feito foi realizado pela Honeywell Information Systems Inc., cujo sistema foi lanado em junho de 1976. O sistema era baseado em muitos princpios do sistema que a IBM concebeu, mas foi modelado e implementado fora da IBM. O primeiro sistema de banco de dados construdo baseado nos padres SQL comearam a aparecer no incio dos anos 80 com a empresa Oracle atravs do Oracle 2 e depois com a IBM atravs do SQL/DS, servindo como sistema e repositrio de informaes de outras empresas. Estes sistemas somente nasceram a partir da insistncia de um jornal tcnico em utilizar BNF para SQL e este jornal publicou tal artigo. BNF o conjunto de sintaxes de linguagem de computador que explica exatamente como cada comando interage com os outros comandos e o que pode ou no ser realizado, como os comandos so formados em assim por diante. Por causa da publicao deste artigo, empresas puderam utiliz-lo para modelar seus prprios sistemas, os quais seriam 100% compatveis com o sistema da IBM.

EVOLUO DOS BANCOS DE DADOS

O software de banco de dados relacionais foi sendo refinado durante a dcada de 80. Isso deveu-se ao feedback (retorno) que os usurios destes sistemas faziam, devido ao desenvolvimento de sistemas para novas indstrias e ao aumento do uso de computadores pessoais e sistemas distribudos. Desde sua chegada, os bancos de dados tm tido aumento nos dados de armazenamento, desde os 8 MB (Megabytes) at centenas de Terabytes de dados em listas de e-mail, informaes sobre consumidores, sobre produtos, vdeos, informaes geogrficas, etc.. Com este aumento de volume de dados,

os sistemas de bancos de dados em operao tambm sofreram aumento em seu tamanho. Um dos projetos mais ambiciosos de banco de dados est ainda sob construo no CERN. A idia criar um banco de dados distribudo com a capacidade de armazenamento de Hexabytes (1 Hexabyte = 1,000 Petabytes = 1 * 10^18 Bytes) de dados e ficar pronto em 2005. O padro SQL passou da IBM para a ANSI (American National Standards Institute) - Insituto Nacional Americano para Padres - e para a ISO, os quais formaramum grupo de trabalho para continuar o desenvolvimento. Este desenvolvimento ainda acontece com outras novas verses dos padres definidos.

ORIENTAO A OBJETOS

Em meados da dcada de 80 tornou-se bvio que existiam vrias reas onde bancos de dados relacionais no eram aplicveis, por causa dos tipos de dados envolvidos. Estas reas incluam medicina, multimdia e fsica de energia elevada, todas com necessidades de flexibilidade em como os dados seriam representados e acessados. Este fato levou ao incio de pesquisas em bancos de dados orientados a objetos, os quais os usurios poderiam definir seus prprios mtodos de acesso aos dados e como estes seriam representados e acessados. Ao mesmo tempo, liguagens de programao orientadas a objetos (Object Oriented Programming - POO) tais como C++ comearam a surgir na indstria. No incio de 1990, temos a apario do primeiro Sistema de Gerenciamento de Banco de Dados Orientado a Objetos, atravs da companhia Objectivity. Isso permitiu com que usurios criassem sistemas de banco de dados para armazenar resultados de pesquisas como o CERN (maior laboratrio que trabalha com partculas fsicas em pesquisas nucleares europeu) e SLAC (Centro de Acelerao Nuclear - norte-americano), para

mapeamento de rede de provedores de telecomunicaes e para armazenar registros mdicos de pacientes em hospitais, consultrios e laboratrios.

INTRODUO AOS SGBD

Um sistema de gerenciamento de banco de dados SGBD consiste em uma coleo de dados inter-relacionados e em um conjunto de programas para acess-los. Um conjunto de dados, normalmente referenciado como banco de dados, contm informaes sobre uma empresa particular, por exemplo. O principal objetivo de um SGBD prover um ambiente que seja adequado e eficiente para recuperar e armazenar informaes de banco de dados. Os sistemas de banco de dados so projetados para gerenciar grandes grupos de informaes. O gerenciamento de dados envolve a definio de estruturas para armazenamento de informao e o fornecimento de mecanismos para manipul-las. Alm disso, o sistema de banco de dados precisa fornecer segurana das informaes armazenadas, caso o sistema d problema, ou contra tentativas de acesso no-autorizado. Se os dados devem ser divididos entre diversos usurios, o sistema precisa evitar possveis resultados anmalos.

A importncia das informaes na maioria das organizaes e o conseqente valor dos bancos de dados tm orientado o desenvolvimento de um grade corpo de conceitos e tcnicas para o gerenciamento eficiente dos dados.

CENRIO DE PROBLEMAS

Imaginemos parte de um banco que mantenha informaes sobre todos os clientes e contas de poupana em sistemas de arquivos permanentes no

banco. O sistema tem ainda uma quantidade de programas aplicativos que permitem ao usurio manipular os arquivos, incluindo:

Um programa para debitar ou creditar em uma nova conta; Um programa para adicionar uma nova conta; Um programa para calcular o saldo de uma conta; Um programa para gerar posicionamentos mensais.

Esses programas aplicativos foram desenvolvidos por programadores em resposta s necessidades da organizao bancria. Novos programas de aplicao so adicionados ao sistema medida que as necessidades aparecem. Logo, mais arquivos e mais programas so acrescidos ao sistema. O tpico sistema de processamento de arquivos acima suportado por um sistema operacional convencional. Registros permanentes so guardados em diversos arquivos, e em uma srie de diferentes programas aplicativos escrita para extrair e adicionar registros aos arquivos apropriados. Este esquema tem uma srie de desvantagens: Redundncia e inconsistncia de dados: muitos programadores diferentes e programas implementados em linguagens diferentes podem gerar arquivos de formatos diferentes. Informaes podem estar duplicadas em diversos lugares. Gera inconsistncia pois estas cpias podem estar com valores diferentes.

DIFICULDADES NO ACESSO AO BANCO DE DADOS

Dificuldade no acesso aos dados: um diretor deseja a lista de todos os clientes que moram na cidade de CEP 34863. Ou ele extrai manualmente esta informao de uma lista de clientes ou pede a um programador escrever um programa que aplicativo. Suponha mais tarde que o mesmo diretor deseje uma

lista com os clientes com mais de $10000. Tal lista no existe e novamente o diretor tem as duas opes. Isolamento dos dados: como os dados esto espalhados, em arquivos separados e com formatos diferentes, difcil escrever novos programas aplicativos para recuperar os dados adequados. Anomalias de acesso concorrente: para aperfeioar o desempenho geral do sistema e obter tempo de reposta mais rpido, deixamos que mltiplos clientes acessem e atualizem os dados simultaneamente. Isso gera dados inconsistentes. Exemplo: dois clientes sacarem dinheiro de uma mesma conta corrente. Problemas de segurana: nem todo usurio do sistema de BD deve ter acesso a todos os dados. Por exemplo: o RH pode ter acesso s informaes cadastrais dos clientes, mas no aos valores de conta corrente. Se novos programas aplicativos forem adicionados, difcil assegurar tais restries de segurana. Problemas de integridade: os valores dos dados armazenados necessitam satisfazer certas restries. Por exemplo, o saldo nunca estar abaixo de $25. Estas restries podem estar contidas nos programas aplicativos, mas quando novas restries forem adicionadas, difcil de alterar estes programas.

Por estes motivos faz-se necessria uma abordagem relacionada aplicao de um SGBD, a fim de evitar os problemas descritos. Banco de dados (ou base de dados) um conjunto de registros dispostos em estrutura regular que possibilita a reorganizao dos mesmos e produo de informao. Um banco de dados normalmente agrupa registros utilizveis para um mesmo fim.

Um banco de dados usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Normalmente um SGBD adota um modelo de dados, de forma pura, reduzida ou estendida. Muitas vezes o termo banco de dados usado, de forma errnea, como sinnimo de SGBD. O modelo de dados mais adotado hoje em dia o modelo relacional, onde as estruturas tm a forma de tabelas, compostas por tuplas (linhas) e colunas.

UTILIZAO Os bancos de dados so utilizados em muitas aplicaes, abrangendo praticamente todo o campo dos programas de computador. Os bancos de dados so o mtodo de armazenamento preferencial e baseiam-se em tecnologias padronizadas de bancos de dados. Um banco de dados um conjunto de informaes com uma estrutura regular. Um banco de dados normalmente, mas no necessariamente, armazenado em algum formato de mquina legvel para um computador. H uma grande variedade de bancos de dados, desde simples tabelas armazenadas em um nico arquivo at gigantescos bancos de dados com muitos milhes de registos, armazenados em salas cheias de discos rgidos. Bancos de dados caracteristicamente modernos so desenvolvidos desde os anos da dcada de 1960. Um pioneiro nesse trabalho foi Charles Bachman.

APRESENTAO DOS DADOS A apresentao dos dados geralmente semelhante de uma planilha eletrnica, porm os sistemas de gesto de banco de dados possuem caractersticas especiais para o armazenamento, classificao, gesto da integridade e recuperao dos dados. Com a evoluo de padres de conectividade entre as tabelas de um banco de dados e programas desenvolvidos em linguagens como Java, Delphi, Visual Basic, C++ etc, a apresentao dos dados, bem como a navegao, passou a ser definida pelo

programador ou o designer de aplicaes. Como hoje em dia a maioria das linguagens de programao fazem ligaes a bancos de dados, a apresentao destes tem ficado cada vez mais a critrio dos meios de programao, fazendo com que os bancos de dados deixem de restringir-se s pesquisas bsicas, dando lugar ao compartilhamento, em tempo real, de informaes, mecanismos de busca inteligentes e permissividade de acesso hierarquizada.

VISO DE NEGCIO Todas as organizaes tm quantidades, por vezes, astronmicas de dados e informao que tm de armazenar. Contudo, o papel tem problemas ao nvel da persistncia (tempo e tipo de visualizao) e da recuperao (validao e verificao), ou seja, dura pouco. Neste sentido, torna-se mais fcil encontrar a informao numa base de dados que recorre a uma das tecnologias de informao de maior sucesso. Ou seja, as bases de dados estendem a funo do papel ao guardar a informao em computadores. Qualquer empresa que pretenda garantir um controle efetivo sobre todo o seu negcio, tem obrigatoriamente de recorrer a sistemas de gesto de bases de dados. O Microsoft Excel continua a ser uma ferramenta de controle extremamente poderosa porque consegue operacionalizar os dados e assim criar informao til ao planejamento dirio das empresas. Contudo, existem outro tipo de ferramentas, mais completas e com funcionalidades acrescidas que elevam para outros nveis, a capacidade operacional de gerar informao de valor para a organizao.

APLICAES DE BANCOS DE DADOS Sistemas Gerenciadores de Bancos de dados so usados em muitas aplicaes, enquanto atravessando virtualmente a gama inteira de software de computador. Os Sistemas Gerenciadores de Bancos de dados so o mtodo preferido de armazenamento/recuperao de dados/informaes para

aplicaes multi-usurias grandes onde a coordenao entre muitos usurios necessria. At mesmo usurios individuais os acham conveniente, entretanto, muitos programas de correio eletrnico e organizadores pessoais esto baseados em tecnologia de banco de dados standard.

APLICATIVO DE BANCO DE DADOS Um Aplicativo de Banco de dados um tipo de software exclusivo para gerenciar um banco de dados. Aplicativos de banco de dados abrangem uma vasta variedade de necessidades e objectivos, de pequenas ferramentas como uma agenda, at complexos sistemas empresariais para desempenhar tarefas como a contabilidade. O termo "Aplicativo de Banco de dados" usualmente se refere a softwares que oferecem uma interface para o banco de dados. O software que gerencia os dados geralmente chamado de sistema gerenciador de banco de dados (SGBD) ou (se for embarcado) de "database engine". Exemplos de aplicativos de banco de dados so Microsoft Visual FoxPro, Microsoft Access, dBASE, FileMaker, (em certa medida) HyperCard, MySQL,Intpr, PostgreSQL, Firebird, Microsoft SQL Server, Oracle, Informix, DB2, Cach e Sybase. Em Maro, 2004, AMR Research (como citado em um artigo da CNET News.com listado na seco de "Referncias") previu que aplicaes de banco de dados de cdigo aberto seriam amplamente aceitas em 2006.

SEGURANA EM BANCO DE DADOS

Os bancos de dados so utilizados para armazenar diversos tipos de informaes, desde dados sobre uma conta de e-mail at dados importantes da Receita Federal. A segurana do banco de dados herda as mesmas dificuldades que a segurana da informao enfrenta, que garantir a integridade, a disponibilidade e a confidencialidade. Um Sistema gerenciador de banco de dados deve fornecer mecanismos que auxiliem nesta tarefa. Uma forma comum de ataque segurana do banco de dados, a injeo de SQL, em bancos de dados que faam uso desta linguagem, mas bancos de dados NoSQL tambm podem ser vtimas. Para evitar estes ataques, o desenvolvedor de aplicaes deve garantir que nenhuma entrada possa alterar a estrutura da consulta enviada ao sistema. Os bancos de dados SQL implementam mecanismos que restringem ou permitem acessos aos dados de acordo com papeis ou roles fornecidos pelo administrador. O comando GRANT concede privilgios especficos para um objeto (tabela, viso, seqncia, banco de dados, funo, linguagem procedural, esquema ou espao de tabelas) para um ou mais usurios ou grupos de usurios.

FUNES INTERNAS COMUNS EM BDS

Tabelas Regras Procedimentos procedures) Gatilho Default Viso ndice Generalizadores armazenados (mais conhecidos como stored