Você está na página 1de 58

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO (UFRPE)

COORDENAO GERAL DE EDUCAO A DISTNCIA (EAD/UFRPE)

Banco de Dados

Sandra de Albuquerque Siebra

Volume 1

Recife, 2010

Universidade Federal Rural de Pernambuco Reitor: Prof. Valmar Corra de Andrade Vice-Reitor: Prof. Reginaldo Barros Pr-Reitor de Administrao: Prof. Francisco Fernando Ramos Carvalho Pr-Reitor de Extenso: Prof. Paulo Donizeti Siepierski Pr-Reitor de Pesquisa e Ps-Graduao: Prof. Fernando Jos Freire Pr-Reitor de Planejamento: Prof. Rinaldo Luiz Caraciolo Ferreira Pr-Reitora de Ensino de Graduao: Prof. Maria Jos de Sena Coordenao Geral de Ensino a Distncia: Prof Marizete Silva Santos

Produo Grfica e Editorial Capa e Editorao: Allyson Vila Nova, Rafael Lira, Italo Amorim e Arlinda Torres Reviso Ortogrfica: Marcelo Melo Ilustraes: No Aprgio Coordenao de Produo: Marizete Silva Santos

Sumrio
Apresentao................................................................................................................. 4 Conhecendo o Volume 1 ................................................................................................ 5 Captulo 1 Banco de Dados: Por onde comear? .......................................................... 7 Alguns Conceitos Bsicos.................................................................................................8 Como era antes de surgirem os bancos de dados? .........................................................9 O Sistema Gerenciador de Banco de Dados (SGBD) ......................................................13 Estrutura Geral de um SGBD .........................................................................................16 Classes de Usurios de um Sistema de Banco de Dados ...............................................17 Alguns Exemplos de SGBDs ...........................................................................................18 Captulo 2 Evoluo e Arquitetura dos Bancos de Dados ............................................ 26 E houve a evoluo... .....................................................................................................26 Primeira Gerao dos Bancos de Dados ........................................................................27 Segunda Gerao dos Bancos de Dados ........................................................................29 Terceira Gerao dos Bancos de Dados .........................................................................30 Arquiteturas de Sistemas de Banco de Dados ...............................................................32 Abstrao de Dados .......................................................................................................39 Captulo 3 Novas Tendncias e Perspectivas .............................................................. 46 Classificao dos Bancos de Dados ................................................................................46 O que mais h por a? ....................................................................................................50 Consideraes Finais .................................................................................................... 56 Conhea a Autora ........................................................................................................ 58

Apresentao
Caro(a) Cursista, Seja bem-vindo(a) ao primeiro mdulo do curso Banco de Dados. Neste primeiro mdulo, vamos estudar os fundamentos necessrios para compreender o assunto que ser visto durante toda a disciplina. Alm disso, o contedo deste primeiro mdulo lhe ajudar a ter uma viso geral da disciplina como um todo e da importncia da mesma no contexto do curso. Espero que goste e se empolgue com o assunto. At porque, neste mdulo, voc vai perceber o quanto Banco de Dados uma rea que est muito presente na sua vida. Bons estudos! Sandra de Albuquerque Siebra Professora Autora

Banco de Dados

Conhecendo o Volume 1
Neste primeiro volume, voc ir encontrar o Mdulo 1 da disciplina de Banco de Dados. Para facilitar seus estudos, veja a organizao deste primeiro mdulo.

Mdulo 1 Fundamentos de Banco de Dados e Sistemas Gerenciadores de Banco de Dados


Carga horria do Mdulo 1: 15 h/aula Objetivo do Mdulo 1: Introduzir os principais conceitos e definies relacionados rea de Banco de Dados, alm de dar uma viso geral da evoluo dos SGBDs.

Contedo Programtico do Mdulo 1


Conceitos Bsicos Sistemas de Banco de Dados Evoluo dos Bancos de Dados Arquitetura dos Bancos de Dados Classificao dos Bancos de Dados Novas Tendncias e Perspectivas

Banco de Dados

Captulo 1
O que vamos estudar neste captulo?
Neste captulo, vamos estudar os seguintes temas: Conceitos Bsicos sobre Banco de Dados Conceitos Bsicos sobre Sistemas Gerenciadores de Banco de Dados

Metas
Aps o estudo deste captulo, esperamos que voc consiga: Identificar os principais conceitos relacionados rea de Banco de Dados Diferenciar um sistema de arquivos de um sistema de banco de dados

Banco de Dados

Captulo 1 Banco de Dados: Por onde


comear?
Vamos conversar sobre o assunto?
Voc sabe o que um banco de dados? Voc saberia mensurar o quanto essa rea est presente na sua vida? Sabia que pode ser muito mais do que voc imagina? Afinal, voc tem o seu cadastro aqui na UFRPE que est em um banco de dados. Voc foi estudante de outras instituies e deve estar no banco de dados delas. Se voc tem uma conta bancria, voc est no banco de dados do banco ao qual sua conta pertence. Voc est no banco de dados da receita federal como contribuinte ou como isento, mas, se voc maior de 18 anos, voc deve estar l! Isso s para comeo de conversa... porque deve haver muitos outros bancos de dados dos quais voc faz parte. Logo, s por ser uma rea to presente na sua vida, a rea de Banco de Dados j merece ser estudada, no acha? Fora isso, qualquer sistema que voc pensar em desenvolver na sua vida, dever fazer uso de um banco de dados e mesmo se voc no desenvolver sistemas, mas utiliza-los no seu dia-a-dia, voc ser, com certeza, um usurio de Banco de Dados. Ento, que tal conhecer esses tais Bancos de Dados mais a fundo? Comearemos a fazer isso nesse captulo.

Neste captulo, vamos comentar sobre os conceitos bsicos da rea de Banco de Dados. Como comentado acima, essa uma rea muito presente no nosso dia-a-dia e que ganha ainda mais importncia quando paramos para pensar que estamos vivendo na chamada Era da Informao, onde o conhecimento adquirido a partir da avaliao das informaes o maior bem de qualquer empresa ou instituio. E informaes so obtidas a partir de dados que precisam estar armazenados em algum lugar. Voc poderia me perguntar, mas dados e informaes no seriam a mesma coisa? No, no so. Vamos diferenciar. Dado um elemento que mantm a sua forma bruta (texto, imagens, sons, vdeos, etc.) e ele sozinho no levar a compreender determinada situao. Ou seja, o termo Dado envolve fatos, imagens, sons que podem ou no serem teis para determinado fim, eles apenas representam coisas do mundo real. J a Informao o conjunto de dados coletados de forma a se tornarem aplicveis a determinada situao, ou seja, sua forma e contedo so apropriados para um uso especfico. A informao no existe por si s, ela obtida atravs de uma interpretao realizada sobre um grupo de dados. Alm disso, ela necessita de uma situao ou objetivo que justifique a sua existncia. Vamos dar alguns exemplos. O nome de um cliente, o nmero de peas em um estoque, o nmero de horas trabalhadas por um empregado e o valor total de um pedido so dados. J o valor total das vendas por ms de uma loja uma informao que para ser obtida, vai precisar considerar uma srie de dados (tais como, o ms de cada pedido e o valor total do pedido) armazenados em algum lugar. O Banco de Dados, geralmente, ser esse lugar onde os dados estaro armazenados e a partir do qual voc ir extrair informaes para finalidades diversas. Mas, finalmente, qual a definio de Banco de Dados?

Banco de Dados

Alguns Conceitos Bsicos


Um Banco de Dados (tambm chamado de Base de Dados) uma coleo de dados relacionados, organizados e armazenados visando facilitar a manipulao dos dados armazenados, permitindo realizar alteraes, inseres, remoes e consultas. Os tipos de colees de dados so ilimitados (ex: dados de um produto, de um estudante, mapas, dados sobre genes humanos, etc), ou seja, quaisquer aplicaes do mundo real que possam ser representadas atravs de dados computveis podero ser armazenadas em um banco de dados. Vamos ver agora, algumas definies mais formais: Um Banco de Dados uma coleo de dados operacionais armazenados, sendo usados pelos sistemas de aplicao de uma determinada organizao (DATE, 2000). Um Banco de dados um conjunto de dados armazenados, cujo contedo informativo representa a cada instante, o estado atual de uma determinada aplicao (LAENDER, 1993). Um banco de dados uma coleo de dados relacionados que representa alguns aspectos do mundo real, sendo chamado, s vezes, de minimundo. (ELMASRI e NAVATHE, 2005) Realmente, como definiram ELMASRI e NAVATHE, um banco de dados (abreviado como BD) um modelo de uma determinada parte da realidade, geralmente denominada de Universo de Discurso ou minimundo. Isso porque s devemos colocar no banco de dados as informaes do domnio que sejam relevantes para a resoluo de um problema ou para obter determinadas informaes. Vamos dar um exemplo. Suponha que precisamos criar um banco de dados para uma Livraria. O minimundo da Livraria englobaria diversas caractersticas que a definem como, por exemplo, o seu nome, a sua localizao, os dados dos seus proprietrios, os dados dos funcionrios que trabalham l, os dados dos livros disponveis e de qualquer outro produto que esteja sendo comercializado. Isso porque essas informaes so interessantes para serem armazenadas e, posteriormente recuperadas. Porm, por exemplo, as cores das paredes da livraria, o material de que feito o cho, no so caractersticas relevantes para serem consultadas em um sistema, logo, no fariam parte dos dados a serem armazenados no banco de dados. Logo, o minimundo ser justamente a especificao da parte do mundo real que relevante para a implementao da livraria (vide Figura 1) e dever conter informaes que caracterizem o domnio do negcio.

Figura 1 - O Mundo Real x MiniMundo

Um banco de dados pode ser criado e mantido por um conjunto de aplicaes desenvolvidas especialmente para esta tarefa (por exemplo, no caso da livraria, poderia existir um Sistema Controle de Livraria para gerenciar o acesso ao Banco de Dados) ou por um Sistema Gerenciador de Bancos de Dados (SGBDs ou DBMS Database Management System). Um SGBD um pacote de software designado para guardar e gerenciar um banco de dados. ele que realiza a manipulao dos dados armazenados em um BD. O SGBD tem uma gama de funes pr-implementadas que gerenciam as operaes de insero,

Banco de Dados

remoo, atualizao e consulta dos dados armazenados. O conjunto formado por um banco de dados mais as aplicaes que o manipulam (o SGBD) chamado de Sistema de Banco de Dados (SBD). Pode-se definir esse sistema como um ambiente cujo objetivo global registrar e manter informao. A Figura 2 representa o ambiente de um sistema de banco de dados, que interage com os programadores (as pessoas que o desenvolveram) e com os usurios finais (as pessoas que o utilizaro). Num primeiro nvel as pessoas interagem com os programas de aplicao (programas desenvolvidos em uma linguagem de aplicao), que foram criados para os usurios finais utilizando-se uma linguagem de consulta (linguagem prpria para acesso ao banco de dados). Esta aplicao interage com o SGBD, que possui programas responsveis por processar as consultas e acessar os dados armazenados, dentre outras funes. Por fim, num nvel mais interno, encontra-se a base de dados, separada em dois arquivos distintos, um contendo a definio dos dados e outro contendo os dados propriamente ditos, ou seja, os dados armazenados.

Figura 2 - Sistema de Banco de Dados

A separao da base de dados em dois arquivos distintos deve-se ao fato de que para um conjunto de dados definida apenas uma estrutura, que por suas caractersticas prprias altera-se pouco. Por exemplo, define-se que o endereo do estudante deve ser um campo alfanumrico com capacidade para armazenar 80 caracteres. J os dados armazenados mudam muito uma vez que a cada nova insero, alterao ou remoo de dados, os dados so modificados. Por exemplo, o endereo da estudante Ana Maria Rua das Flores, 320. Mas a qualquer instante esse dado pode ser modificado. Por exemplo, ela pode passar a morar na Av. Abdias de Carvalho, 52. Sendo assim, uma vantagem manter separados estes dois arquivos com caractersticas distintas. O arquivo contendo a definio dos dados o que podemos chamar de metadados, ou dados sobre os dados. Ou seja, so dados cujo significado reflete caractersticas dos prprios dados, como por exemplo: de que tipo so estes dados? Qual ser o tamanho deles? Ele pode ficar em branco ou no? Etc.

Como era antes de surgirem os bancos de dados?


Antes de existirem os bancos de dados, qualquer sistema, programa ou aplicao que precisasse armazenar e manipular dados fazia uso de um sistema de arquivos. Ou seja, cada sistema, programa ou aplicao desenvolvido tinha seus prprios arquivos de armazenamento dos dados. Geralmente, naquela poca, os programas eram escritos em respostas s necessidades, ou seja, iam sendo desenvolvidos na medida em que as necessidades apareciam e muitas vezes, eram desenvolvidos por programadores diferentes. Qual a implicao disso? Diferentes Programadores pensam e programam de forma diferente. Desse modo, os arquivos de cada programa desenvolvido poderiam estar em formatos diferentes e poderiam ter sido usadas linguagem de programao diferentes. Qual o problema com isso? O problema com isso que entre os diversos sistemas desenvolvidos gradualmente para uma determinada empresa ou instituio poderiam haver dados em

Banco de Dados

comum. Vamos dar um exemplo: suponha uma fbrica que possui um Sistema de Vendas, um Sistema de Produo e um Sistema de Engenharia (vide Figura 3). Cada um deles teria seus prprios arquivos e nesses arquivos poderia existir em comum, por exemplo, os dados de um produto, que por causa dessa organizao precisaria ser replicado em cada sistema de arquivos. E qual a consequncia dessa replicao de dados dentro de uma mesma fbrica?

Figura 3 - Exemplo de sistemas que fazem uso de um Sistema de Arquivos

A consequncia que essa redundncia poderia acarretar inconsistncia dos dados, uma vez que a mesma informao poderia estar duplicada em diversos arquivos (no exemplo, os dados do produto). Vamos dar um exemplo. Vamos supor que nos arquivos de Vendas, eu atualizei o nome do produto 01 de Mesa para Cadeira. Se eu desejasse manter a consistncia, eu teria de entrar nos arquivos de Produo e de Engenharia e fazer a mesma atualizao. Se no fizesse, os dados do produto na fbrica ficariam inconsistentes, pois dependendo do sistema acessado o produto 01 poderia ser Mesa ou Cadeira. Ficou claro? Alm disso, a duplicao de dados em diversos sistemas de arquivos leva a um maior custo de armazenamento (lembre, voc est armazenando diversas vezes os mesmos dados) e a necessidade de redigitao de dados (e esse trabalho repetitivo pode levar a erros, que tambm geram inconsistncias entre os dados). Adicionalmente, o uso de sistemas de arquivos possui outros problemas tais como: Dificuldade do acesso a dados a gerao de informao pode surgir, durante o tempo em que o sistema est em produo, sob diferentes aspectos. Cada requisio de informao diferente, no sistema de arquivos, vai gerar a necessidade da criao de um programa aplicativo, de uma nova consulta ou de um novo relatrio. Dessa forma, a recuperao de informao no atendida de modo eficiente. Haveria dificuldade em apagar informaes dos sistemas. Poderia novamente ocorrer casos de incosistncia, onde um produto poderia ser deletado dos arquivos de Vendas, mas no dos outros dois arquivos (Engenharia e Produo). Isolamento dos dados os dados esto armazenados em arquivos distintos, que no possuem qualquer tipo de relacionamento direto, e ainda, podem conter diferentes formatos para o mesmo dado. Por exemplo, o cdigo do produto nos arquivos de venda poderia ser representado s por nmeros e nos arquivos de Produo por letras e nmeros. Problemas de integridade fica difcil manter restries de integridade automaticamente. E o que so essas restries de integridade? Seriam checagens de determinadas condies a serem feitas pelo sistema sobre os dados armazenados (por exemplo, a quantidade de produtos em estoque no pode ser inferior a um valor X). Essas restries teriam de ser mantidas pelo sistema, implicando em implementao do cdigo apropriado para fazer esse tipo de checagem em CADA UM dos sistemas afetados. O problema seria que a cada incluso de uma nova restrio de integridade, um novo cdigo deveria ser escrito EM CADA SISTEMA para poder mant-la, j que cada sistema trabalha com um diferente sistema de arquivos.

10

Banco de Dados

Problemas de segurana - Nem todos os usurios do sistema devem estar autorizados a ver/acessar todos os dados armazenados. Porm, uma vez que os programas de aplicao so inseridos no sistema como um todo, de forma aleatria ( medida que a necessidade surge, lembra?) difcil implementar e garantir a efetividade de regras de segurana. Anomalias no acesso concorrente - a melhora de desempenho em um sistema pode ocorrer pela execuo simultnea de diversas operaes. Geralmente, nos sistemas de arquivos, esta melhoria seria difcil de implementar sem levar a danos na consistncia dos dados. Ou seja, seria difcil permitir que mltiplos usurios possam ter acesso aos dados ao MESMO TEMPO. Vamos dar um exemplo. Considere um sistema bancrio (com a existncia de contas correntes, agncias, transaes bancrias, etc) e a seguinte situao: suponha que o saldo de uma conta bancria C1 seja 500 reais. Se dois clientes retiram fundos desta conta C1 AO MESMO TEMPO (acesso concorrente conta C1), um estado inconsistente pode ocorrer se na execuo das duas instncias do programa de dbito, ambos os clientes lerem o saldo inicial original e retirarem, cada um, seu valor correspondente, e seja ento armazenado o valor restante. Instanciando o problema: 1. Ambos leem o valor do saldo 500; 2. Um retira 50 reais (resultando 450 reais) e o outro 100 reais (resultado 400 reais) lembre que ambos esto realizando a operao em cima dos 500 reais iniciais que foi lido; 3. Dependendo de qual execuo do programa de dbito registre o saldo restante primeiro, o valor do saldo da conta ser 450 ou 400 reais, quando, na verdade, deveria ser 350 reais. Outros problemas existentes so:

A definio das estruturas dos arquivos est inserida no prprio cdigo dos programas, sistemas ou aplicativos, dificultando a manuteno; Compartilhamento de um arquivo por vrios programas fica comprometido. H a necessidade de duplicar a definio das estruturas dos arquivos nos programas; Podem existir arquivos e programas de um mesmo sistema desenvolvidos, de forma isolada, por diferentes programadores de forma diferentes e, at mesmo, em linguagens de programao diferentes.

Justamente a necessidade de resolver diversos desses problemas motivou a criao dos bancos de dados e dos sistemas gerenciadores de banco de dados. Com eles, os dados s necessitam ser armazenados uma nica vez e passam a ser acessados por todos os sistemas (vide Figura 4)

Figura 4 - Exemplo de Sistemas fazendo uso de um Banco de Dados

Que tal recapitular com outras palavras, de forma resumida, o que foi apresentado? No incio da computao, os programas tinham o nico objetivo de armazenar e

11

Banco de Dados

manipular dados. Esses programas gravavam seus dados em arquivos em disco, segundo estruturas de dados prprias (vide Figura 5). Programas que no conhecessem a estrutura dos dados no podiam utilizar os dados.

Figura 5 - Programa acessando seu arquivo

Se vrios programas precisassem compartilhar os dados de um mesmo arquivo, eles todos teriam que conhecer e manipular as mesmas estruturas de dados (vide Figura 6). Ou seja, toda a definio dos dados deveria estar dentro dos programas que os manipulariam.

Figura 6 - Vrios programas acessando os dados tinham de conhecer sua estrutura

Se um programa precisasse realizar alguma mudana na estrutura de dados, todos os programas que acessam os dados tinham que ser alterados, mesmo que a alterao ocorresse em dados no manipulados pelos outros programas. Isso gerava um grande problema: Como garantir a unicidade das estruturas de dados entre os diversos programas devido existncia de redundncias? Para evitar esse problema, colocou-se um sistema intermedirio que deveria conhecer a estrutura de dados do arquivo manipulado; que deveria fornecer apenas os dados que cada programa necessitasse e deveria armazenar adequadamente os dados de cada programa (vide Figura 7).

Figura 7 - Acesso ao arquivo atravs de um sistema intermedirio

Agora, atravs do uso desse sistema intermedirio: Os programas passariam a enxergar apenas os dados que lhes interessam. Os programas no precisariam conhecer os detalhes de como seus dados esto gravados fisicamente. Os programas no precisariam ser modificados se a estrutura de dados que utilizam no for modificada. As alteraes ficariam concentradas nesse sistema intermedirio.

Com o tempo, esse sistema intermedirio passou a gerenciar vrios arquivos (vide Figura 8) e a essa coleo de arquivos foi dado o nome de Banco de Dados e ao sistema intermedirio deu-se o nome de Sistema Gerenciador de Banco de Dados (SGBD).

12

Banco de Dados

Figura 8 - SGBD gerenciando o acesso aos arquivos usados pelos programas

Que tal? Ficou mais claro? Espero que sim! Vamos detalhar agora os SGBDs...

O Sistema Gerenciador de Banco de Dados (SGBD)


Vimos anteriormente neste captulo que um Sistema de Banco de Dados (SBD) o conjunto formado por um banco de dados (BD) mais as aplicaes que o manipulam (o SGBD). Assim, um SGBD uma coleo de programas que habilitam usurios a criar e manter um banco de dados. Ele um software de propsito geral, que facilita o processo de definio, construo e manipulao de um banco de dados. Definio do banco de dados envolve especificar estruturas e tipos de dados para serem gravados no banco de dados, com uma descrio detalhada de cada tipo de dado. Construo do banco de dados o processo de consistir e gravar inicialmente dados no banco de dados. Manipulao de um banco de dados inclui funes como consulta por dados especficos e atualizao para refletir as alteraes no mundo real. Quais caractersticas esse software deve ter? Vamos apresent-las a seguir: Independncia de Dados - consiste na capacidade de tornar as caractersticas fsicas dos dados (como localizao, estrutura e tamanho) transparentes para a aplicao. Ou seja, os SGBD devem ser dotados de recursos que possibilitem a descrio das estruturas de dados (layout de arquivos e/ou tabelas) de forma independente dos procedimentos de manipulao (leitura e gravao) de dados no BD. Isto possibilita tornar transparente para os programas que acessam o BD as alteraes que, por ventura, venham a ocorrer nas estruturas de dados, como, por exemplo, o acrscimo de um novo campo de informao ao banco. Da mesma forma, alteraes em lgicas de programas que acessam o BD no devem afetar as estruturas de dados definidas no BD. Os SGBDs conseguem isso por fazer uso de SQL (Structured Query Language), que possui grupos de comandos especficos e independentes para as tarefas de criao e alterao de tabelas (DDL - Data Definition Language) e leitura e atualizao do BD (DML - Data Manipulation Language). Reduo ou Eliminao de Redundncias Em um sistema tradicional de controle de arquivos cada usurio normalmente apresenta seus prprios arquivos armazenando o conjunto de dados que de seu interesse e, nestes casos, comum ocorrer redundncia de dados. Esta redundncia consiste no armazenamento de uma mesma informao em locais diferentes. Por exemplo, o nome do funcionrio poderia estar nos arquivos dos Sistemas de Cadastro, de Folha de Pagamento e de Avaliao em uma empresa, se esses no tivessem uma nica base de dados compartilhada. A redundncia danosa para o ambiente computacional, pois ela leva a um aumento de esforo computacional para realizar a atualizao dos dados redundantes e aumento do espao necessrio para o armazenamento destes dados. Porm, o problema mais srio que a representao dos dados desta forma pode

13

Banco de Dados

tornar-se inconsistente, pois duas informaes podem aparecer em locais distintos, mas apresentando valores diferentes. Dessa forma, um SGBD deve prover meios para que seja possvel o controle da redundncia de dados nos diversos arquivos administrados por ele. Para isso, os dados que eventualmente so comuns a mais de um sistema devem ser compartilhados por eles, fazendo-os acessar um mesmo banco de dados. Alm disso, deve haver uma centralizao da definio dos dados num Dicionrio de Dados ou Catlogo, que vai servir como base para a operao do SGBD. Eliminao de Inconsistncias Geralmente causada pela redundncia de dados, a inconsistncia ocorre quando um mesmo campo tem valores diferentes em sistemas diferentes. Por exemplo, o estado civil de um funcionrio pode estar como solteiro no Sistema de Cadastro e como casado no Sistema de Folha de Pagamento. Isto pode ocorrer quando esta pessoa atualizou o campo em um sistema e no o atualizou em outro. Quando o dado armazenado em um nico local (no caso, o banco de dados) e compartilhado pelos sistemas, este problema no ocorre. Compartilhamento dos Dados - Permite a utilizao simultnea e segura de um dado, por mais de uma aplicao ou usurio (atravs do tratamento de concorrncia), independente da operao que esteja sendo realizada. O compartilhamento de dados visa diminuir a redundncia de dados. Para implementar o compartilhamento de dados necessrio que o SGBD possua um competente sistema de segurana, para que se estabelea a privacidade de dados, atravs de mecanismos de restrio de acesso. Tratamento de Concorrncia para que seja possvel um compartilhamento simultneo dos dados armazenados no banco de dados, o SGBD implementa o tratamento de concorrncia. Ou seja, o SGBD deve possuir mecanismos para a identificao e tratamento dos acessos concorrentes, para garantir a consistncia das informaes do BD no sentido de sua veracidade. Os sistemas de bloqueio (LOCK) e desbloqueio (UNLOCK) so os mecanismos utilizados para evitar que uma informao que est sendo manipulada por um determinado usurio U1, seja alterada por outro usurio U2. Enquanto o primeiro usurio U1 estiver acessando um dado no BD, o segundo usurio U2 no ter acesso ao mesmo ou o ter apenas para leitura e receber um aviso do SGBD de que a informao est sendo acessada por outro usurio e pode estar sendo modificada. Privacidade dos Dados um SGBD deve fornecer um subsistema de autorizao e segurana (por exemplo, atravs de senhas e sistemas de LOG e AUDIT1, o qual utilizado pelo DBA para criar contas e especificar as restries destas contas; o controle de restries se aplica tanto ao acesso aos dados quanto ao uso de softwares inerentes ao SGBD. Dessa forma, torna-se possvel definir, para cada usurio, o nvel de acesso a ele concedido (leitura, leitura e gravao ou sem acesso) a tabela e/ou campo. Este recurso impede que pessoas no autorizadas utilizem ou atualizem uma determinada tabela ou campo, bem como que utilizem softwares inadequados ao seu perfil. Segurana dos Dados - o SGBD deve oferecer meios que resguardem a base de dados nos casos de falha de programa, equipamento ou acidentes. Tambm deve ser possvel que alteraes indevidas feitas pelos usurios durante a operao dos aplicativos sejam desfeitas sem prejuzo da coerncia dos dados. A segurana fsica dos dados poder ser obtida a partir de utilitrios e aplicativos que os fabricantes colocam em seus produtos, visando facilitar o trabalho de proteo aos dados contra danos fsicos, que podem ser causados por falhas de hardware ou queda da rede. Nessa linha destacam-se as rotinas de backup (cpias de segurana dos

Saiba Mais

Sistemas de LOG e AUDIT registram dados sobre as operaes que so efetuadas no BD, tais como: data, hora, usurio, comando que foi utilizado, campo que foi afetado pelo comando, etc.
1

14

Banco de Dados

dados armazenados) e a gravao com espelhamento (voc ter duas mquinas diferentes com o banco de dados instalado e periodicamente ele ser replicado de uma mquina para outra, para se uma sair do ar, a outra j assumir). Padronizao dos Dados - Permite que os campos armazenados na base de dados sejam padronizados segundo um determinado formato. Por exemplo, para o campo sexo poderia ser definido e apenas permitido usar os caracteres M ou F. Padronizar os dados pode facilitar a comunicao e a cooperao entre vrios departamentos, projetos e usurios. Padres podem ser definidos para formatos de nomes, elementos de dados, telas, relatrios, terminologias, etc. O DBA pode obrigar a padronizao em um ambiente de base de dados centralizado, muito mais facilmente que em um ambiente onde cada usurio ou grupo tem o controle de seus prprios arquivos e software; Controle de Transaes: Uma Transao um conjunto de operaes sobre o BD que devem ser executadas integralmente e sem falhas ou interrupes. Caso contrrio, devem ser desfeitas. Todo SGBD deve realizar o controle das Transaes.

TRANSAO uma coleo de operaes que desempenha uma funo lgica nica dentro de uma aplicao do sistema de banco de dados. Uma transao deve ter as seguintes propriedades que formam a sigla ACID: A Atomicidade: ou todas as operaes envolvidas na transao ocorrem, ou nenhuma delas deve ter efeito sobre o banco de dados. Assegur-la tarefa do SGBD. C Consistncia: ao final da execuo da transao a consistncia dos dados no banco deve ter sido mantida. Assegur-la tarefa do programador. I Isolamento: uma transao deve ter sua execuo realizada de forma isolada em relao execuo de outras transaes. D Durabilidade: depois que uma transao executada com sucesso, as modificaes por ela realizadas devem ser mantidas no sistema, mesmo na ocorrncia de falhas. Assegur-la tarefa do SGBD. O conceito de transao importante porque qualquer sistema computacional est sujeito a falhas. Por isso, em muitas aplicaes crucial assegurar que, uma vez detectada uma falha, os dados sejam salvos em seu ltimo estado consistente. Para exemplificar, suponha que voc deseje transferir R$ 50 da conta A para a conta B. Se ocorrer falha durante sua execuo, possvel que os R$ 50 sejam debitados da conta A sem serem creditados na conta B, criando um estado inconsistente no banco de dados. essencial para a consistncia do BD que ambos (dbito e crdito) ocorram ou nenhum deles seja efetuado. Isto , a transferncia de fundos deve ser uma operao atmica (uma transao), ou seja, deve ocorrer por completo, ou no ocorrer.

Integridade dos Dados - A integridade de dados refere-se a mecanismos que esto disponveis nos SGBD, que garantem a consistncia dos dados armazenados no SGBD, segundo parmetros de validao, especificados no momento de criao do BD, em conjunto com as estruturas de dados. Ou seja, esses mecanismos garantem que o contedo dos dados armazenados no Banco de Dados possua valores coerentes ao objetivo do campo, no permitindo que valores absurdos sejam cadastrados. Por exemplo: No permite que uma data final seja menor do que uma data inicial. Representao de Relacionamento Complexo entre Dados: uma base de dados pode possuir uma variedade de dados que esto interrelacionados de muitas

15

Banco de Dados

maneiras. Um SGBD deve ter a capacidade de representar uma variedade de relacionamentos complexos entre dados, bem como recuperar e modificar dados relacionados de maneira fcil e eficiente Possibilidade de Mltiplas Interfaces: Vrios usurios representam tambm necessidades diversas no que se refere aos tipos de interfaces fornecidas pelo SGBD. Interfaces para consultas de dados, programao, e interfaces baseadas em menus ou em linguagem natural so exemplos de alguns tipos que podem estar disponveis.

Estrutura Geral de um SGBD


A estrutura geral de um SGBD envolve, em sntese, os componentes apresentados na Figura 9 e descritos a seguir.

Saiba Mais
2 Comandos DML (Data Manipulation Language) incluem comandos para inserir, atualizar, consultar e excluir dados do banco de dados.

Figura 9 - Estrutura Geral do SGBD

Pr-compilador da DML - converte comandos da DML2 embutidos em um aplicativo para chamadas de procedimentos normais na linguagem hospedeira do BD. O prcompilador precisa interagir com o processador de consultas pra gerar o cdigo apropriado. Compilador DDL3 - converte comandos da DDL em um conjunto de tabelas contendo metadados (dados sobre dados), que so armazenados no Dicionrio de Dados. Processador de consultas - traduz os comandos em uma linguagem de consulta para instrues de baixo nvel que o gerenciador do banco de dados pode interpretar. Alm disso, o processador de consultas tenta transformar uma requisio do usurio em uma forma compatvel e mais eficiente com respeito ao banco de dados, encontrando uma boa estratgia para executar a consulta. Gerenciador do banco de dados - fornece a interface entre os dados de baixo nvel armazenados no disco e os programas aplicativos e de consulta submetidos ao sistema. Gerenciador de arquivos - gerencia a alocao do espao na armazenagem do disco e as estruturas de dados usadas para representar a informao armazenada no disco. o gerenciador de memria quem traduz os diversos comandos DML em comandos de baixo nvel para atuar sobre os dados armazenados na base de dados. Adicionalmente, diversas estruturas de dados so requeridas como parte da implementao do sistema fsico, incluindo: Arquivos de dados - armazenam o banco de dados propriamente dito. Dicionrio de dados - armazena informaes sobre a estrutura do banco de dados. Tambm chamado de catlogo de dados, contm os metadados, isto , as informaes a respeito dos componentes do banco de dados: tabelas, ndices, procedimentos, restries

Saiba Mais
3

DDL (Data Definition Language) ou linguagem de definio de dados inclui comandos para a criao e manuteno das bases de dados.

16

Banco de Dados

e outros. ndices - proporcionam acesso rpido aos itens de dados com valores especficos. So estruturas que permitem um acesso mais eficiente aos dados

Classes de Usurios de um Sistema de Banco de Dados


Um Banco de Dados pode apresentar diversos usurios cada qual com uma necessidade em particular, e com um envolvimento diferente com os dados do BD. Voc sabe quais so eles? No? Que tal conhecer um pouco mais? Os usurios podem ser classificados nas seguintes categorias: Administrador de Bancos de Dados (DBA DataBase Administrator) - em qualquer organizao onde muitas pessoas compartilham diversos recursos, existe a necessidade de um administrador chefe (sempre existe o que vai ficar frente, no ?) para supervisionar e gerenciar estes recursos (em um ambiente de base de dados, o recurso primrio a prpria base de dados e os recursos secundrios so o prprio SGBD e software relacionados). A administrao desses recursos de responsabilidade do DBA. Ele responsvel, entre outras coisas, por autorizar acesso base de dados e coordenar e monitorar seu uso. Adicionalmente, ele responsvel por problemas, tais como, quebra de segurana ou baixo desempenho do BD. Projetista de Bancos de Dados tambm chamado de analista de banco de dados, possui a responsabilidade de identificar os dados a serem armazenados no BD e pela escolha da estrutura apropriada a ser utilizada para armazen-los. Ou seja, a pessoa responsvel pelo projeto de construo e utilizao do BD, envolvendo as tarefas de definio de quais dados devero ser construdos e como eles sero construdos. Pode existir um nico projetista ou um grupo deles e ele(s) ir(ao) interagir com outras classes de usurios, tanto os analistas e programadores, como os chamados usurios finais do sistema, a fim de obter a viso dos dados que cada um possui, integrando-as de forma a se obter uma representao adequada de todos os dados. Usurios Finais: existem profissionais que precisam ter acesso base de dados para consultar, modificar e gerar relatrios. A base de dados existe para estes usurios. Existem algumas categorias de usurios finais: Usurios ocasionais: ocasionalmente fazem acesso base de dados, mas eles podem necessitar de diferentes informaes a cada vez que fazem acesso. Eles podem usar uma linguagem de consulta sofisticada para especificar suas requisies e so, tipicamente, gerentes de mdio ou alto nvel; Usurios comuns ou paramtricos: estes usurios realizam operaes padres de consultas e atualizaes, chamadas transaes permitidas, que foram cuidadosamente programadas e testadas. Estes usurios constantemente realizam recuperaes e modificaes na base de dados; Usurios sofisticados: incluem engenheiros, analistas de negcios e outros que procuraram familiarizar-se com as facilidades de um SGBD para atender aos seus complexos requisitos; Analistas de Sistemas e Programadores de Aplicaes: so os Engenheiros de Software, aquelas pessoas que determinam as necessidades dos usurios

17

Banco de Dados

finais e desenvolvem as especificaes para as transaes que iro atender a estas necessidades. Os programadores das aplicaes so as pessoas que iro realmente implementar estas especificaes, criando os programas que iro constituir o sistema e fazer acesso ao BD. Adicionalmente, os programadores tambm so os responsveis por testar os programas criados. Muitos de ns nos enquadramos nessa ltima categoria de usurios (usurios finais). Podem existir ainda alguns profissionais de apoio ou suporte para realizar tarefas especficas como tirar backup (cpia de segurana) dos dados armazenados no Banco de Dados.

Alguns Exemplos de SGBDs


Alguns dos principais SGBDs disponveis no mercado nos ltimos anos so: Oracle um sistema comercial, mas possui verses gratuitas para uso acadmico e/ou domstico (em casa). Ele foi o primeiro Banco de Dados Corporativo (cliente/ servidor) possuindo grande variedade de distribuies (para Macintosh, Windows, Linux, FreeBSD, Unix) e para computadores de grande porte. Foi um dos primeiros a fazer parte do mercado Web. Nele a linguagem padro a SQL, mas possui tambm uma linguagem prpria para desenvolvimento de aplicaes, a PL/SQL4. A participao do Oracle no mercado de Banco de Dados bastante acentuada, principalmente em grandes empresas e em conjunto com sistemas de mdio e grande porte. um SGBD robusto e seguro, quando bem administrado. Alm da base de dados, a Oracle desenvolve uma sute de desenvolvimento chamada de Oracle Developer Suite, utilizada na construo de programas de computador que interagem com a sua base de dados. Site Oficial em http://www.oracle.com/us/
products/database/index.htm

Saiba Mais
4

PL/SQL (Procedural Language/Structured Query Language) uma extenso da linguagem padro SQL para o SGBD Oracle da Oracle Corporation. uma Linguagem Procedural da Oracle que estende a linguagem SQL e permite que a manipulao de dados seja includa em unidades de programas.

Microsoft SQL Server o banco de dados comercial da Microsoft. Ele um dos principais concorrentes do Oracle. Tem como uma das vantagens o fato de, por ser um produto Microsoft, se integrar nativamente com produtos e linguagens da Microsoft (talvez seja esse o fator que o popularizou!). As verses atuais so independentes e operam exclusivamente sobre Windows. um software proprietrio e pago, como a maioria dos produtos Microsoft. Algumas empresas que usam o MS SQL Server e so consideradas casos de sucesso no Brasil so o Hipercard, o Banco Ita e a ANEEL (vide: http://www.microsoft.com/brasil/servidores/ sql/default.mspx). Site Oficial em http://www.microsoft.com/sqlserver/2008/en/us/ IBM DB2 - o Sistema Gerenciador de Banco de Dados Relacionais (SGDBR) produzido pela IBM. Existem diferentes verses do DB2 que rodam desde num simples PDA (computador de mo), at em potentes mainframes e funcionam em servidores baseados em sistemas Unix, Windows ou Linux. DB2 vendido em diversos tipos de edies ou licenas. Pela escolha de uma verso com menos recursos, a IBM evita que os consumidores paguem por coisas que no iriam usar. Informaes em http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp Interbase - um sistema gerenciador de banco de dados relacionais da Borland. Foi includo, pela Borland, nas suas ferramentas de desenvolvimento (Delphi, C++ Builder e JBuider). Ele pode ser instalado em sistemas operacionais Microsoft Windows, Linux, Mac OS X e Sun Solaris. Alm de no ser pesado relativamente rpido e suporta bancos de dados de grande tamanho (maiores que 2 Gigabytes).

18

Banco de Dados

Em 2000 a Borland liberou o cdigo da verso 6.0, mas as posteriores voltaram a ter licena proprietria. Desta verso 6.0 foi criado o Banco de Dados Open source Firebird. Site Oficial: http://www.embarcadero.com/products/interbase-smp Firebird - Nascido de uma iniciativa da Borland em abrir o cdigo do InterBase 6.0, este sistema open source e esbanja versatilidade e robustez. O Firebird (algumas vezes chamado de FirebirdSQL) roda em Linux, Windows, Mac OS e uma variedade de plataformas Unix. A Fundao FirebirdSQL coordena a manuteno e desenvolvimento do Firebird, sendo que os cdigos fonte so disponibilizados sob o CVS da SourceForge. O produto bastante seguro e confivel, suportando sistemas com centenas de usurios simultneos e bases de dados com dezenas/centenas de gigabytes. H suporte gratuito na Internet atravs de vrios sites. O Firebird amplamente utilizado em todo o mundo, com a maior base de usurios no Brasil, Rssia e Europa. Site Oficial em http://www.firebirdsql.org/ MySQL - , atualmente, um dos bancos de dados mais populares, com mais de 10 milhes de instalaes pelo mundo. Ele possui verses para Windows, Solaris, Unix, FreeBSD, Linux e gratuito para uso no-comercial. Algumas das empresas mais famosas que fazem uso deste banco esto: NASA, Banco Bradesco, Dataprev, HP, Nokia, Sony e Lufthansa. O MySQL usado principalmente para desenvolvimento WEB como servidor de dados para comrcio eletrnico. Passou a ser considerado um SGBD de verdade (com conceito de transao) a partir da verso 5. Site Oficial em http://www.mysql.com/ PostgreSQL - um sistema gerenciador de banco de dados objeto relacional (SGBDOR), desenvolvido como projeto de cdigo aberto. Ele um dos SGBDs (Sistema Gerenciador de Bancos de Dados) de cdigo aberto mais avanados, grautito e tem uma boa aceitao no mercado. Originalmente concebido para rodar em Linux, ele possui verses para Windows. usando, principalmente, para comrcio eletrnico juntamente com linguagem PHP. O PostgreSQL um projeto open source coordenado pelo PostgreSQL Global Development Group. Site Oficial em http://www.postgresql.org/ Microsoft Access: um banco de dados da Microsoft para uso em micros desktops e no em servidores. Esta a principal diferena dele para os demais bancos SGBD como o Oracle, SQL Server e MySQL, por exemplo. Contudo, ele tem sido muito usado em pequenas e mdias empresas para armazenamento de dados em pequenas quantidades. Agora, o MS Access no considerado um SGBD completo, por no possuir todas as caractersticas de um. Mas ele permite o desenvolvimento rpido de aplicaes que envolvem tanto a modelagem e estrutura de dados como tambm a interface a ser utilizada pelos usurios. A linguagem de programao disponvel no access a Microsoft Visual Basic for Applications, igualmente a outros produtos da srie Microsoft Office. Maiores informaes em: http://office.microsoft.
com/pt-br/access/default.aspx

Dos SGBDs listados acima vale ressaltar que o SQL Server e o Oracle tem verses gratuitas, porm limitadas. O Firebird e o PostgreSQL so open source, o DB2 e o MS Access so pagos (sendo que o Access j vem em algumas verses do pacote Microsoft Office) e o MySQL gratuito para desenvolvimento, mas pago para produo. A escolha de qual SGBD usar depende muito do projeto sendo desenvolvido e do quanto a empresa est disposta a investir para armazenamento dos seus dados. Um SGBD gratuito e muito popular nos dias de hoje o PostGreSQL e vrios sistemas de instituies pblicas vm adotando o mesmo. J no mundo corporativo o Oracle tem sido um dos mais adotados, por ser um dos mais robustos. Dos SGBDs citados, voc j usou algum?

19

Banco de Dados

Consideraes Finais
Apesar de todas as vantagens citadas anteriormente sobre um SGBD, h situaes em que deve-se ponderar sobre sua utilizao, como por exemplo, o alto investimento inicial e a possibilidade de compra de um novo hardware; ou a possibilidade de insatisfao no desempenho geral do sistema que pode ser provocado pelas funes de segurana, controle de concorrncia, recuperao e manuteno de integridade dos dados. Dessa forma, mesmo com todos os benefcios ainda existem situaes em que voc pode no utilizar um SGBD, elas esto descritas no Quadro 1.
Quadro 1 - Usar ou no usar um SGBD, eis a questo! Quando usar SGBD Quando desejar obter: Controle de redundncia Controle de consistncia e integridade Acesso multiusurio Compartilhamento de dados Controle de acesso e segurana Controle de recuperao e restaurao Realizao de consultas eficientes 1 Dados e aplicaes simples, bem definidas e estveis (sem expectativas de mudana) Quando requisitos de tempo real no puderem ser atendidos No h necessidade de acesso multiusurio aos dados Quando no usar SGBD

Conhea Mais
Neste captulo, vimos apenas alguns conceitos bsicos. Para obter mais informaes ou materiais diversificados para o que foi visto aqui, voc pode proceder a uma pesquisa usando o Google (www.google.com.br) com as palavras chaves Banco de Dados + Introduo. Voc vai ver que ir vir muito material. Entre eles: apostilas, notas de aula, reportagens, etc. Adicionalmente, gostaramos de indicar o texto Introduo a Banco de Dados dos professores Osvaldo Kotaro Takai, Isabel Cristina Italiano e Joo Eduardo Ferreira (DCC-IME-USP), produzida em fevereiro de 2005. Eles elaboraram este texto para apoiar a aprendizagem dos alunos nas disciplinas de introduo a Sistemas Banco de Dados do IMEUSP e ela pode servir para apoiar os seus estudos tambm. Ela est disponvel em: http://
www.ime.usp.br/~jef/apostila.pdf

Para quem tem curiosidade, uma comparao entre alguns SGBDs dos mais utilizados pode ser encontrada em: http://www.microsoft.com/sqlserver/2008/en/us/compare. aspx (apenas em ingls). Se possvel, leia tambm os captulos introdutrios (geralmente captulo 1 ou 1 e 2) dos seguintes livros: SILBERSCHATZ, Abraham; KORTH, Henry F;SUDARSHAN, S. Sistema de banco de dados. Traduzido por Daniel Vieira. Rio de Janeiro: Elsevier;Campus, 2006. ELMASRI, Ramez;NAVATHE, Shamkant B. Sistemas de banco de dados. 4a. ed. So Paulo: Pearson Education do Brasil, 2005. DATE, C. J. Introduo a sistemas de bancos de dados. Rio de Janeiro: Campus, 2000.

20

Banco de Dados

Voc Sabia?
O maior banco de dados do mundo se encontra no World Data Centre for Climate que operado pelo Max Planck Institute for Meteorology e o German Climate Computing Centre. Ele possui cerca de 220 terabytes de dados acessveis via Web (incluindo informaes sobre pesquisas climticas e previses do tempo) e 110 terabytes de dados sobre simulaes climticas. Alm disso, ainda h 6 pentabytes de dados adicionais armazenados em fitas magnticas. J imaginou quanto dado tudo isso? Fonte: http://www.docstoc.com/docs/5628186/Top-Largest-Databases-in-the-World-We-all-collected

Aprenda Praticando
A seguir apresento algumas questes sobre banco de dados que fizeram parte das provas de concursos diversos. Que tal praticar com elas? Concurso TCE (Tcnico em Informtica) - CESGRANRIO - 2007 - RO Uma coleo de dados interrelacionados e uma coleo de programas para acesso a esse banco de dados um(a): a) SQL b) SGBD c) Banco de Dados d) SBD e) Tabela Concurso STF (Analista Judicirio Tecnologia da Informao) CESPE - 2008 A execuo de transaes de maneira concorrente a nica causa do surgimento de inconsistncias dos dados armazenados em um banco de dados. Assim, a responsabilidade pela consistncia dos dados nica e exclusiva do componente de controle de concorrncia. Certo Errado

Concurso Petrobrs (Tcnico em Informtica) - CESGRANRIO - 2008 Atomicidade uma propriedade de transao de um SGBD relacional que garante que: a) uma transao seja realizada de forma independente de outras transaes b) uma operao de uma transao seja efetuada de forma independente de outras operaes c) nenhuma operao de uma transao seja subdividida em tarefas menores pelo SGBD d) todos os atributos manipulados por uma transao sejam atmicos e) todas as operaes em um banco de dados, que fazem parte de uma transao, sejam executadas ou nenhuma delas o seja Concurso Petrobrs (Analista de Sistemas Pleno - Especialidade Processos) CESGRANRIO - 2006

21

Banco de Dados

T1 1 2 3 4 5 6 Ler (A); A = A - 30; Escrever (A); Ler (B) B = B + 30; Escrever (B)

A transao T1, pertencente a um sistema bancrio e definida pelas operaes listadas na tabela ao lado. Ela responsvel pela transferncia de R$ 30,00 da conta A para a conta B. Considere tambm uma transao T2 que esteja sendo executada simultaneamente a T1. Caso a transao T2 realize uma operao Escrever(B) aps a execuo da operao 4 e antes da execuo da operao 6 por T1, qual das propriedades das transaes estar sendo violada no banco de dados do sistema bancrio?

a) Atomicidade b) Distributividade c) Isolamento d) Durabilidade e) Consistncia

Gabarito e Comentrios
Questo 1: Resposta letra D. Um SGD justamente o conjunto formado pela coleo de dados interrelacionados (que o BD) e os programas que o manipulam (que o SGBD). Questo 2: Resposta Errado. A redundncia de dados tambm pode levar ao surgimento de inconsistncias. Dessa forma, a responsabilidade por manter a consistncia dos dados do componente de controle de concorrncia, mas tambm do controle de redundncias. Questo 3: Resposta letra E. Atomicidade justamente a propriedade (entre as outras propriedades ACID das transaes) que diz que ou tudo executado ou nada executado. Questo 4: Resposta letra C. Isolamento justamente a propriedade que diz que uma transao no pode interferir no que est sendo executado por outra transao, at que ela acabe. Logo, T2 no poderia acessar a varivel B que estaria sendo utilizada por T1.

Atividades e Orientaes de Estudo


Agora vamos exercitar o que foi estudado at agora. Assim sendo, faa as atividades sugeridas a seguir. Lembre que exercitar vai lhe ajudar a fixar melhor o contedo estudado. Mos obra!

Atividades Prticas
Responda as questes a seguir em um documento de texto (doc) e poste as respostas no ambiente virtual, no local indicado. 1. Quais as principais desvantagens de fazer uso de um sistema de arquivos convencional em relao ao uso de banco de dados? 2. Quais as propriedades que uma transao? 3. O que so metadados? D exemplos.

22

Banco de Dados

4. Que problemas podem ser causados pela falta de padronizao dos dados armazenados? 5. Qual a importncia do controle de redundncia?

Atividades de Interao
Usando o frum da apropriado, discuta com seus colegas, com o professor e o tutor sobre seu conhecimento sobre Banco de Dados. Tenha como guia as seguintes questes: Voc j conhecia alguma coisa sobre o tema Banco de Dados? Se sim, o que? E como ficou sabendo (fez curso, leu sozinho, etc)? Voc j fez uso de algum banco de dados na prtica? Se sim, qual(ais)? Em que situao fez uso? Participe! Responda, discuta, pergunte! Lembre-se que este um frum temtico e far parte da sua avaliao somativa.

Filmoteca: Cinema em Ao
Voc saberia dizer em quantos bancos de dados voc est cadastrado? Voc saberia mensurar a importncia de ter seus dados ntegros, seguros, de forma a no serem modificados por pessoas indevidas? Voc saberia mensurar as consequncias de ter seus dados modificados ou apagados de alguns bancos de dados sem sua cincia? Essas e outras questes so abordadas e levam a pensar no filme chamado A Rede (The Net) que tem como atriz principal Sandra Bullock. Esse um filme um pouco antigo, porm, mostra bem como os dados armazenados em um BD podem ser importantes.

Dica de Cinema
A Rede Sinopse: Aps receber um disquete com dados confidenciais, uma analista de sistemas passa a viver um verdadeiro pesadelo, com seus dados sendo alterados nos computadores do governo para que ela seja considerada uma criminosa. Diretor: Irwin Winkler Ano de Produo: 1995 Atores Principais: Sandra Bullock e Jeremy Northam.

Vamos Revisar?
Voc estudou, neste captulo, os conceitos bsicos iniciais sobre banco de dados (tais como: o que um BD, um SGBD, um SBD, o que dado, informao, etc). Foi apresentado o cenrio existente antes dos bancos de dados virem a ser utilizados (quando eram usados sistemas de arquivos convencionais). Cenrio este que apresentava diversos problemas como redundncia de dados que levava a inconsistncias, dificuldade de acesso

23

Banco de Dados

concorrente, dificuldade de manuteno, entre outros. Tambm foram especificadas as principais vantagens de utilizao de um SGBD e os perfis dos usurios que fazem uso de sistemas de banco de dados. Para finalizar, foram apresentados exemplos de SGBDs atuais e foram apresentadas situaes onde o uso de sistemas de banco de dados dispensvel. No captulo a seguir, vamos continuar o nosso estudo introdutrio falando sobre a evoluo dos sistemas de banco de dados e como est estruturada a sua arquitetura. At l!

24

Banco de Dados

Captulo 2
O que vamos estudar neste captulo?
Neste captulo, vamos estudar os seguintes temas: Evoluo dos Bancos de Dados Arquiteturas dos Bancos de Dados Abstrao de Dados

Metas
Aps o estudo deste captulo, esperamos que voc consiga: Diferenciar as diferentes geraes de Banco de Dados Identificar as diferentes arquiteturas de Banco de Dados Entender o conceito de Abstrao de Dados

25

Banco de Dados

Captulo 2 Evoluo e Arquitetura


dos Bancos de Dados
Vamos conversar sobre o assunto?
Vimos no captulo anterior, a importncia dos Sistemas de Banco de Dados e as principais caractersticas dos mesmos. Porm, ser que os banco de dados sempre foram do mesmo jeito? Ser que eles mudaram? Ser que evoluram com o tempo? Ainda mais, como a arquitetura de um Banco de Dados? Como ele est organizado para fazer tudo que voc leu no captulo anterior? Voc sabe? Justamente sobre esses pontos vamos estudar neste captulo, procurando responder as perguntas aqui formuladas.

Neste captulo, vamos estudar a evoluo dos SGBDs no tempo, que deram origem a geraes diferentes de banco de dados, alm de estudar a forma como os bancos de dados esto organizados internamente, ou seja, a sua arquitetura. Vamos l?

E houve a evoluo...
Como vimos no captulo anterior, no comeo, no existiam bancos de dados, mas apenas os sistemas de arquivos. Ou seja, cada aplicao ou programa desenvolvido para uma organizao tinha seu prprio conjunto de dados e a descrio desses dados ficava dentro das prprias aplicaes. Dessa forma, no havia compartilhamento de dados entre as mesmas. Devido a isso, diversos problemas surgiam, tais como redundncia de dados, inconsistncias, falta de padronizao, falta de segurana no acesso aos dados, limitaes no compartilhamento dos dados, entre outros. Os bancos de dados surgiram como forma de tentar resolver esses problemas (o que voc pode observar pela definio de BD e vantagens anteriormente apresentadas). Mas os bancos de dados forma sempre os mesmos? Ou eles evoluram com o tempo? Os bancos de dados no foram sempre os mesmos. Podemos inclusive subdividir sua evoluo em trs geraes bem definidas (vide Figura 10), cada uma com caractersticas prprias. Na primeira gerao, que surgiu no final dos anos 60, esto os bancos de dados hierrquicos e em rede. Na segunda gerao que nasceu no final dos anos 70 est o banco de dados relacional. E, por fim, a gerao mais atual que data de desde o final dos anos 80 esto os banco de dados orientado a objetos e objeto-relacional. A seguir, detalharemos cada uma dessas geraes.

Figura 10 - Evoluo dos Bancos de Dados

26

Banco de Dados

Primeira Gerao dos Bancos de Dados


Os primeiros bancos de dados surgiram nos anos 60, com o surgimento dos bancos de dados hierrquicos e em rede, com acesso sequencial aos dados e processamento em batch (em lote, vrias instrues de uma vez), essa foi a chamada primeira gerao. Os dois modelos da poca eram o Hierrquico e o em Rede, ambos orientados a registros, isto , qualquer acesso base de dados insero, consulta, alterao ou remoo era feita em um registro de cada vez. Vamos detalhar agora, cada um desses modelos.

Modelo de Dados Hierrquico


O modelo hierrquico foi o primeiro a ser reconhecido como um modelo de dados. Nesse modelo de dados, os dados so estruturados em hierarquias ou rvores (lembra das rvores que voc estudou na disciplina de estrutura de dados?). Os ns das hierarquias contm ocorrncias de registros, onde cada registro uma coleo de campos (atributos), cada qual contendo somente um valor. Os registros so conectados uns aos outros por meio de uma ligao, tambm chamada de link (associao essa entre exatamente dois registros). O registro da hierarquia que precede a outros o registro-pai, os outros so chamados de registros-filhos. O relacionamento entre um registro-pai e vrios registros-filhos possui cardinalidade 1:N, ou seja, cada registro-pai pode possuir 1 ou mais registros-filhos, mas os registros filhos possuem apenas um nico registro pai (vide representao da Figura 11).

Figura 11 - Relao 1-N entre registro-pai e registros-filhos

Os dados organizados, segundo este modelo, podem ser acessados segundo uma sequncia hierrquica com uma navegao do topo (raiz) para as folhas (ns sem filhos) e da esquerda para a direita dentro de cada n ou registro. Um mesmo registro pode estar associado a vrios registros diferentes, desde que seja replicado. Porm, a replicao possui duas grandes desvantagens: pode causar inconsistncia de dados quando houver atualizao e causar desperdcio de espao. Vamos dar um exemplo. Suponha que o conjunto de todos os registros de clientes e de contas de um banco est organizado na forma de uma rvore com raiz (vide Figura 12), em que a raiz da rvore um registro falso (sem contedo, serve apenas para iniciar a rvore). Teramos ns que representariam os clientes (com valores para o nome do cliente, a rua onde ele mora e a cidade) como, por exemplo, o n com valor Rui, Rua XV e S. Carlos e ns que representariam as contas (com valores para o nmero da conta e o saldo) como, por exemplo, o n com valor 7556, 3.000 (vide Figura 13). Neste modelo, a necessidade de representar contas conjuntas levaria duplicao de registros, devido representao em rvore. Por exemplo, suponhamos que Silvia e Rui possuem a conta conjunta de nmero 7556 (vide Figura 12, os ns com o nmero da conta em negrito), para representar esse fato, o n da conta corrente teve de ser duplicado para obedecer a regra que cada filho s pode ter um nico pai.

27

Banco de Dados

Figura 12 - Exemplo de Modelo Hierrquico

Figura 13 - Representao dos ns usada no exemplo

Alm de poder causar inconsistncia de dados quando houver atualizao e causar desperdcio de espao, outros problemas encontrados no modelo hierrquico so: Nem tudo pode ser representado como uma hierarquia; Complexidade dos diagramas de estrutura de rvore; No pode haver ciclos no grfico bsico de um diagrama de estrutura de rvore; Restries cardinalidade dos links (no pode haver ligaes de muitos para muitos (N:M) e de muitos para um (N:1)); Ausncia de facilidades de consultas declarativas (no h linguagem ou recurso especfico para isso), logo a realizao de consultas uma atividade complexa; Necessidade de navegao por ponteiros para acesso informaes;

O sistema comercial mais divulgado no modelo hierrquico foi o Information Management System (IMS) da IBM Corporation. O IMS um dos mais antigos e mais amplamente utilizados sistema de bancos de dados. Os desenvolvedores deste sistema esto entre os primeiros a tratarem caractersticas como concorrncia, recuperao, integridade e processamento eficiente de consultas. Alm dele, outros bancos que usavam o modelo hierrquico foram: UNIVAC 1100, CDC 6000, CYBER 70 e 170.

Modelo de Dados em Redes


O modelo em redes surgiu como uma extenso ao modelo hierrquico, eliminando o conceito de hierarquia e permitindo que um mesmo registro estivesse envolvido em vrias associaes. E que benefcios trs isso? Bem, isso faz com que seja possvel construir relaes menos restritivas entre os registros. No modelo em rede, os registros so organizados em grafos onde aparece um nico tipo de associao (set) que define uma relao 1:N entre 2 tipos de registros: proprietrio e membro. Desta maneira, dados dois relacionamentos 1:N entre os registros A e D e entre os registros C e D possvel construir um relacionamento M:N (muitos para muitos) entre A e D, o que no era possvel no modelo hierrquico. Adicionalmente, ao contrrio do Modelo Hierrquico, em que qualquer acesso aos dados passa pela raiz (lembra do tal registro

28

Banco de Dados

falso?), o modelo em rede possibilita acesso a qualquer n da rede sem passar pela raiz. Dessa forma, no modelo em redes os registros so organizados no banco de dados por um conjunto arbitrrio de grafos. Na Figura 14, podemos ver o mesmo exemplo de registros de clientes e contas apresentado antes como exemplo do modelo hierrquico, agora sendo representados pelo modelo em redes. Note que no h mais duplicao do registro que representa a conta 7556 (em negrito na Figura 14), por ser permitida mais de uma ligao (o que no era possvel no modelo hierrquico). Note tambm a ausncia do registro falso (raiz).

Figura 14 - Exemplo de Modelo em Rede

As restries impostas pelo Modelo de Redes podem ser descritas como de ordem de Entrada e de Existncia. Em relao s restries de entrada citamos a obrigatoriedade de cada novo registro estar conectado ao conjunto indicado. Em relao a restries de Existncia podemos dizer que um componente de um tipo de registro pode existir de forma independente de outros desde que esteja conectado a algum outro registro fazendo parte de algum conjunto, ou sendo base de um novo conjunto. A identificao de um conjunto pode ser verificada atravs do esquema de ligao entre o registro pai e o registro filho, assim sendo, cada instncia de conjunto apresenta um elemento de distino, o tal registro pai, e os registros filhos devidamente ordenados e, portanto, passveis de serem acessados pelos seus elementos. Alguns problemas do modelo em redes so: O modelo de rede fortemente dependente da implementao. As consultas so complicadas: o programador forado a pensar em termos de links e, em como percorr-los para obter as informaes de que necessita. Essa manipulao de dados chamada navegacional.

No Modelo em Rede o sistema comercial mais divulgado o CAIDMS da Computer Associates. Alm dele, h o DBMS10, o IDS II, o DMS II e o IMAGE

Segunda Gerao dos Bancos de Dados


Nos anos 70 e 80, com os dispositivos de acesso direto aos dados, surgem os sistemas indexados e de processamento transacional (cada operao deve ser completamente realizada, se no o for, deve ser desfeita, esse o conceito de transao). Nos anos 80, foram lanadas as bases do modelo relacional (dando origem segunda gerao) que impulsionou o uso e abriu caminho para todos os SGBDs atuais.

Modelo de Dados Relacional


O modelo relacional apareceu devido s seguintes necessidades: aumentar a independncia de dados nos sistemas gerenciadores de banco de dados;

29

Banco de Dados

prover um conjunto de funes apoiadas em lgebra relacional para armazenamento e recuperao de dados; permitir processamento ad hoc

O Modelo Relacional (MR) considerado o primeiro modelo de dados efetivamente usado em aplicaes comerciais. Foi introduzido por Codd em 1970. o modelo que possui a base mais formal entre os modelos de dados, entretanto o mais simples e com estrutura de dados mais uniforme. O modelo relacional tem como base a teoria dos conjuntos e a lgebra relacional. A estrutura fundamental do modelo relacional a relao (tabela). Na verdade, o modelo composto por uma coleo de tabelas de nomes nicos. Cada relao ou tabela constituda por uma ou mais colunas chamadas de atributos (campos) que so os tipos dos dados contidos na relao. O conjunto de valores passveis de serem assumidos por um atribruto ser intitulado de domnio. Cada linha da relao chamada de tupla (registro). O esquema de uma relao nada mais do que os campos (colunas) existentes em uma relao ou tabela. J a instncia da relao consiste no conjunto de valores que cada atributo assume em um determinado instante. As relaes no podem ser duplicadas (por exemplo, no podem existir dois estados de Pernambuco, no conjunto de estados brasileiros) e a ordem de entrada de dados no Banco de Dados no dever ter qualquer importncia para as relaes, no que concerne ao seu tratamento. Diferentemente dos modelos que o precederam o modelo relacional no tem caminhos pr-definidos para se fazer acesso aos dados. Os relacionamentos entre as tabelas so feitos atravs do uso de valores de atributos. Por exemplo, na Figura 15, a Tabela de Empregados precisa usar valores que esto, originalmente, na tabela de Departamentos (o atributo ou campo chamado Cod_Depto). Isso causa a necessidade de um relacionamento entre as tabelas.

Figura 15 - Exemplo de Relacionamento no Modelo Relacional

Para trabalhar com tabelas, algumas restries precisaram ser impostas para evitar aspectos indesejveis, como: Repetio de informao, incapacidade de representar parte da informao e perda de informao. Essas restries so: integridade referencial, chaves e integridade de junes de relaes. Veremos em detalhes isso tudo no volume II da disciplina. O modelo relacional faz uso da linguagem SQL para definio e manipulao de dados (discutiremos sobre a linguagem SQL, em detalhes, no volume III da disciplina). Alguns exemplos de banco de dados que fazem uso desse modelo so: PostGreSQL, Oracle, SQLServer, MySql, entre outros.

Terceira Gerao dos Bancos de Dados


Devido s necessidades do mundo moderno de manipular dados complexos, surgiu a terceira gerao dos bancos de dados, com os modelos de dados orientados a objetos e os modelos de dados objeto-relacionais. E o que eles trouxeram de novo? Vamos ver a seguir.

30

Banco de Dados

Modelo de Dados Orientado a Objetos


Os bancos de dados orientados a objeto comearam a se tornar comercialmente viveis em meados de 1980. A motivao para seu surgimento est em funo dos limites de armazenamento e representao semntica impostas no modelo relacional. Um exemplo de modelo orientado a objetos so os sistemas de informaes geogrficas (SIG) que so mais facilmente construdos usando tipos complexos de dados. A habilidade para criar os tipos de dados necessrios uma caracterstica das linguagens de programao orientadas a objetos. Contudo, estes sistemas necessitam guardar representaes das estruturas de dados que utilizam no armazenamento permanente. A estrutura padro para os bancos de dados orientados a objetos foi feita pelo Object Database Management Group (ODMG). Esse grupo formado por representantes dos principais fabricantes de banco de dados orientados a objeto disponveis comercialmente. Membros do grupo tm o compromisso de incorporar o padro em seus produtos. O termo Modelo de Dados Orientado a Objetos usado para documentar o padro que contm a descrio geral das facilidades de um conjunto de linguagens de programao orientadas a objetos e a biblioteca de classes que pode formar a base para o Sistema de Banco de Dados. Quando os bancos de dados orientados a objetos foram introduzidos, algumas das falhas perceptveis do modelo relacional pareceram ter sido solucionadas com esta tecnologia e acreditava-se que tais bancos de dados ganhariam grande parcela do mercado. Hoje, porm, acredita-se que os Bancos de Dados Orientados a Objetos sero usados em aplicaes especializadas, enquanto os sistemas relacionais continuaro a sustentar os negcios tradicionais, onde as estruturas de dados baseadas em relaes so suficientes. Alguns exemplos de banco de dados que fazem uso desse modelo so: O2, OBJECTSTORE, Cach e IRIS. O diagrama de classes UML, usado na anlise orientada a objetos, serve geralmente como o esquema para o modelo de dados orientado a objetos (vide exemplo para o problema dos registros de clientes e contas, que j foi utilizado para ilustrar os modelos hierrquico e em rede, na Figura 16).

Figura 16 - Exemplo de Modelo de Dados Orientado a Objetos

Alguns problemas do modelo orientado a objetos so: ele no tem base terica (formalismo) como os modelos anteriores e no existe linguagem padronizada para acesso e manipulao dos dados (tal qual o SQL). Isso fez com que esse paradigma no fosse bem aceito no mercado. Como soluo surgiu o paradigma objeto-relacional.

Modelo de Dados Objeto-Relacional


A rea de atuao dos sistemas Objeto-Relacional tenta suprir a dificuldade dos sistemas relacionais convencionais, que o de representar e manipular dados complexos, visando ser mais representativos em semntica e construes de modelagens. Neste modelo de dados, toda a informao persistente est ainda nas tabelas, mas algumas das entradas da tabela podem ter uma estrutura de dados mais rica, denominada tipos abstratos de dados (TAD). Um TAD um tipo de dado que construdo combinando tipos de dados alfanumricos bsicos. Um suporte para tipos de dados abstratos atrativo porque as

31

Banco de Dados

operaes e funes associadas com o novo tipo podem ser usadas para indexar, armazenar, e recuperar registros baseados no ndice do novo tipo de dado (por exemplo, multimdia). Diferente do modelo orientado a objetos, o modelo objeto-relacional foi desenvolvido com base no modelo relacional. Dessa forma, foi possvel unir conceitos de OO (tais como: supertabelas, supertipos, herana, reutilizao de cdigos de criao, encapsulamento, controle de identidade de objetos e referncia a objetos) com conceitos do modelo relacional (tais como: capacidade de consulta avanada e a alta proteo a dados). Assim, os modelos Objeto-Relacional combinam os benefcios do modelo Relacional com a capacidade de modelagem do modelo OO A linguagem de consulta objeto relacional uma extenso da linguagem SQL para suportar o modelo de objetos. As extenses incluem consultas envolvendo objetos, atributos multivalorados, TADs, mtodos e funes como predicados de busca em uma consulta. Alguns motivos que levam a utilizao desse tipo de modelo so: A incapacidade do modelo relacional bsico de resolver os desafios e atender as necessidades das novas aplicaes; A capacidade de armazenar novos tipos de dados; Fornecem suporte para consultas complexas sobre dados complexos Atendem aos requisitos das novas aplicaes e da nova gerao de aplicaes de negcios Algumas aplicaes para as quais necessrio o uso desse tipo de modelo so: Armazenamento de imagens (obtidas por satlite ou de alguma outra forma digital); Dados complexos no-convencionais em projeto de engenharia; Grandes informaes sobre o genoma biolgico Projetos de arquitetura; Dados de sries temporais em transaes; Dados sobre o espao (regies geogrficas, criao de mapas) Sistemas mveis e distribudos, dentre outros.

Alguns bancos de dados que fazem uso do modelo objeto-relacional so Oracle 9i, DB2/6000, ILUSTRA e CA-Ingres.

Arquiteturas de Sistemas de Banco de Dados


A arquitetura dos sistemas de banco de dados influenciada pela arquitetura dos sistemas computacionais, levando em considerao aspectos como: Redes de computadores, cujo surgimento colaborou para a diviso de tarefas entre mquinas remotas, em que uma assume papel de cliente e outra de servidor, levando a uma arquitetura cliente-servidor; Paralelismo, que consiste na possibilidade de executar atividades simultaneamente, obtendo melhores tempos de resposta e executando uma maior quantidade de transaes por segundo; Distribuio, em que os dados residem na localidade em que so gerados ou em que sero mais teis, por meio de diversas cpias do banco de dados. Uma

32

Banco de Dados

arquitetura distribuda possibilita uma maior disponibilidade dos dados, que podem ser acessados ainda que uma determinada localidade enfrente problemas e se torne indisponvel. Como consequncia do emprego desses aspectos, temos as arquiteturas centralizadas, cliente-servidor, distribuda e paralela que iremos descrever a seguir.

Arquiteturas Centralizadas
As primeiras arquiteturas usavam mainframes6 para executar o processamento principal e de todas as funes do sistema, incluindo os programas aplicativos, programas de interface com o usurio, bem como a funcionalidade dos SGBDs. Esta a razo pela qual a maioria dos usurios fazia acesso aos sistemas via terminais que no possuam poder de processamento, apenas a capacidade de visualizao (esses terminais eram muitas vezes chamados de terminais-burros, justamente por no terem poder de processamento). Ou seja, todos os processamentos eram feitos remotamente, apenas as informaes a serem visualizadas e os controles eram enviados do mainframe para os terminais de visualizao (tambm chamados de ns), conectados a ele por uma rede de comunicao (vide Figura 17). Como os preos do hardware foram decrescendo, muitos usurios trocaram seus terminais por computadores pessoais (PCs) e estaes de trabalho (tais como as estaes unix). No comeo os SGBDs usavam esses computadores da mesma maneira que usavam os terminais, ou seja, o SGBD era centralizado e toda sua funcionalidade, execuo de programas aplicativos e processamento da interface do usurio eram executados em apenas uma mquina (a que centralizava tudo). A arquitetura centralizada tem como principais vantagens: permitir que muitos usurios manipulem grande volume de dados e que, com os dados totalmente isolados, se ganha consideravelmente em segurana, visto que o acesso aos dados feito somente em um nico local. E a sua principal desvantagem a total dependncia de um nico sistema, podendo ocasionar uma elevada indisponibilidade em caso de falhas deste.
6

Saiba Mais
Mainframes so computadores de grande porte, dedicados, normalmente, ao processamento de um volume grande de informaes. Os mainframes so capazes de oferecer servios de processamento a milhares de usurios atravs de milhares de terminais conectados diretamente ou atravs de uma rede. Embora venham perdendo espao para os servidores de arquitetura PC e servidores Unix, de custo bem menor, ainda so muito usados em ambientes comerciais e em grandes empresas, tais como: bancos, empresas de aviao e universidades.

Figura 17 - Esquema de um BD Centralizado

Com o desenvolvimento de computadores pessoais com maior capacidade de processamento, parte do controle da aplicao e interface junto ao usurio, que antes era de total responsabilidade do sistema centralizado, passou a ser realizado pelos computadores pessoais, cabendo ao sistema centralizado apenas satisfazer s solicitaes geradas pelos sistemas clientes. Assim, gradualmente, os SGBDs comearam a explorar a disponibilidade do poder de processamento no lado do usurio, o que levou arquitetura cliente-servidor, que veremos a seguir.

33

Banco de Dados

Saiba Mais
7

Arquitetura Cliente-Servidor
A arquitetura cliente-servidor foi desenvolvida para dividir ambientes de computao onde um grande nmero de PCs, estaes de trabalho, servidores de arquivos, impressoras, servidores de banco de dados e outros equipamentos so conectados juntos por uma rede. A ideia definir servidores especializados, tais como servidor de arquivos (que mantm os arquivos de mquinas clientes) ou servidores de impresso (que podem estar conectados a vrias impressoras), assim, quando se desejar imprimir algo, todas as requisies de impresso so enviadas a este servidor. As mquinas clientes disponibilizam para o usurio as interfaces apropriadas para utilizar esses servidores, bem como poder de processamento para executar aplicaes locais. Esta arquitetura se tornou muito popular por algumas razes. Primeiro, a facilidade de implementao dada clara separao das funcionalidades e dos servidores. Segundo, um servidor inteligentemente utilizado porque as tarefas mais simples so delegadas s mquinas clientes, que so mais baratas. Terceiro, o usurio pode executar uma interface grfica que lhe familiar, ao invs de usar a interface do servidor.

Uma API (Application Programming Interface ou Interface de Programao de Aplicativos) um conjunto de rotinas e padres estabelecidos por um software para a utilizao das suas funcionalidades por programas aplicativos que no querem envolverse em detalhes da implementao do software, mas apenas usar seus servios

Saiba Mais
8

ODBC (Open Data Base Connectivity) um padro para acesso a SGBDs. Este padro define um conjunto de interfaces que permitem o uso de linguagens de programao como Visual Basic, Delphi, Visual C++, entre outras capazes de utilizar estas interfaces, para ter acesso a uma vasta gama de banco de dados distintos sem a necessidade de codificar mtodos de acesso especializados. O uso destas interfaces est condicionado existncia de drivers ODBC especficos para as bases de dados que se deseja acessar.

Diferentes tcnicas foram propostas para implementar essa arquitetura, sendo que a mais adotada pelos SGBDs relacionais comerciais a incluso da funcionalidade de um SGBD centralizado no lado do servidor. A realizao de consultas e a funcionalidade transacional (voc lembra do que uma transao?) permanecem no servidor, sendo que este chamado de servidor de consulta ou servidor de transao. assim que um servidor SQL fornecido aos clientes. Cada cliente tem que formular suas consultas (usando a linguagem SQL), prover a interface para o usurio e as funes da interface usando uma linguagem de programao. Comumente, o servidor SQL tambm chamado de back-end machine e a mquina cliente de front-end machine. Resumindo com outras palavras, na arquitetura Cliente-Servidor, o cliente (front_ end machine) executa as tarefas do aplicativo, ou seja, fornece a interface do usurio (tela e processamento de entrada e sada), ferramentas de relatrio, gerao de formulrios, anlise e minerao de dados. J o servidor (back_end machine) executa as consultas no SGBD e retorna os resultados ao cliente, ficando responsvel por tarefas como o controle de acesso, otimizao de consultas, controle de concorrncia, recuperao, etc. Como SQL prov uma linguagem padro para os SGBDs Relacionais, esta criou o ponto de diviso lgica entre o cliente e o servidor. Dessa forma, a comunicao entre a front-end machine e o back-end machine realizada por meio da linguagem SQL e por meio de uma API7 que possibilita a conexo e a comunicao entre as mquinas cliente e servidora. Exemplos de APIs so os padres ODBC8, JDBC9 que vo justamente servir para a comunicao de programas escritos em uma linguagem de programao com os SGBDs. Quando um programa escrito em uma linguagem de programao faz uso de uma API (tudo isso no lado do cliente) para acesso a um banco de dados que est em uma mquina servidora (vide Figura 18), dizemos que se est usando uma arquitetura clienteservidor de 2 camadas. Ou seja, a comunicao direta do cliente para o servidor. J a arquitetura cliente-servidor em trs camadas, conta com a mquina cliente na qual um navegador web, atua como front-end junto ao usurio para acessar um servidor de aplicao (tambm conhecido como servidor Web). Esse servidor de aplicao atua em uma camada intermediria (a segunda camada), processando as solicitaes dos usurios e fornecendo respostas obtidas atravs do acesso ao servidor de banco de dados (que

Saiba Mais
9 JDBC (Java Database Connectivity) uma API escrita em Java e usada com a linguagem JAVA para fazer o envio de instrues SQL para qualquer banco de dados relacional. o equivalente do ODBC para a linguagem JAVA.

34

Banco de Dados

a terceira camada), que continua sendo o responsvel pela realizao de consultas e transaes no SGBD. Sistemas que lidam com grande quantidade de usurios adotam essa arquitetura em trs camadas.

Figura 18 - Esquema de uma arquitetura em 2 camadas

Figura 19 - Esquema de uma arquitetura em 3 camadas

A principal vantagem da arquitetura cliente-servidor a diviso do processamento entre dois ou mais sistemas, o que reduz o trfego de dados na rede.

Arquitetura Distribuda
A tecnologia de Banco de Dados Distribudos (BDDs) surgiu como uma intercalao de duas tecnologias: tecnologia de banco de dados e tecnologia de comunicao de dados e de rede. Com as novas tecnologias de comunicao de dados, atendendo necessidade da descentralizao, possvel se trabalhar com bancos de dados no mais centralizados em um servidor, mas sim distribudos em vrios servidores. Podendo esses servidores estar na mesma rede, assim como podem estar em pases diferentes, compartilhando informaes de uma maneira transparente para os usurios. Assim, em um sistema de banco de dados distribudos, o banco de dados armazenado em diversos computadores, que se comunicam uns com os outros atravs de vrios meios de comunicao, tais como redes de alta velocidade ou linhas de telefone, em que cada qual pode participar na execuo de transaes que acessam dados em um ou diversos ns (vide Figura 20).

Figura 20 - Esquema de um banco de dados distribudo

35

Banco de Dados Nesta arquitetura, cada servidor atua como no sistema cliente-servidor, porm as consultas oriundas dos aplicativos so feitas para qualquer servidor indistintamente. Caso a informao solicitada seja mantida por outro servidor ou servidores, o sistema encarrega-se de obter a informao necessria, de maneira transparente para o aplicativo, que passa a atuar consultando a rede, independente de conhecer seus servidores. Exemplos tpicos so as bases de dados corporativas, em que o volume de informao muito grande e, por isso, deve ser distribudo em diversos servidores. De forma simplificada, pode-se dizer que a principal diferena entre sistemas de bancos de dados centralizados e distribudos que no primeiro os dados esto localizados em um nico lugar, enquanto no ltimo os dados residem em diversos locais. Um dos motivos para distribuir um banco de dados que um banco de dados distribudo alm de ser mais confivel, tem a capacidade de resolver da melhor maneira os problemas grandes e complexos com os quais nos defrontamos hoje, usando uma variao da regra de dividir e conquistar. Ou seja, problemas complicados podem ser resolvidos simplesmente dividindo-os em fragmentos menores e atribuindo-os a grupos de software distintos, que funcionem em computadores diferentes, produzindo um sistema que atue sobre vrios elementos de processamento. Esses grupos de software devem colaborar de forma eficaz para a execuo de uma tarefa em comum. Outros motivos para distribuir so: Disponibilidade - pois se um site sai do ar, os demais sites podem continuar em operao. Isso devido ao fato que, como os dados so replicados em vrios ns, uma transao que necessita de um particular item de dado pode encontr-lo em qualquer outro n. Com isso, a falha de um n no necessariamente implica na parada de funcionamento de um sistema, aumentando a confiabilidade e disponibilidade do sistema. Desempenho otimizado o desempenho otimizado dos SGBDs distribudos se baseia em dois pontos: Um SGBD distribudo fragmenta o banco de dados, permitindo que os dados fiquem armazenados prximos a seus pontos de utilizao, reduzindo o atraso de acesso remoto, alm disso, cada site manipula apenas uma parte do banco de dados, tornando a administrao deste mais simples. O paralelismo inerente de sistemas distribudos pode ser explorado para se obter paralelismo entre consultas e intraconsulta, assim possvel executar vrias consultas ao mesmo tempo e o paralelismo intraconsulta alcanado desmembrando uma nica consulta em vrias subconsultas que sero executadas em locais diferentes. Segundo Moura [1985], a possibilidade de autonomia local frequentemente a maior vantagem de bancos de dados distribudos. Facilidade de Expanso - um sistema distribudo pode crescer mais facilmente que um sistema centralizado. Se for necessrio expandir o sistema porque o volume de dados cresceu ou o volume de processamento aumentou, mais fcil acrescentar um novo n rede de computadores, desde que os ns sejam autnomos, do que substituir um sistema centralizado j existente por outro maior.

Porm, tudo na vida tem pontos positivos e negativos. Dessa forma, nos sistemas distribudos h um acrscimo de complexidade para assegurar a coordenao entre os sites e h um custo para desenvolver os softwares de aplicao e gerenciamento do sistema como um todo.

Arquitetura Paralela
Sistemas gerenciadores de bancos de dados paralelos so compostos por diversos processadores, memrias e discos, utilizados em aplicaes crticas, que necessitam lidar com quantidades muito grandes de dados e oferecer baixos tempos de resposta. A arquitetura paralela adequada aos seguintes casos:

36

Banco de Dados

Quando necessrio consultar bancos de dados extremamente grandes (na ordem de terabytes); Quando necessrio processar um nmero muito grande de transaes por segundo (na ordem de milhares de transaes por segundo). Existem vrios modelos de arquitetura paralela. So eles:

Memria compartilhada - Em um modelo de memria compartilhada, diversos processadores acessam uma nica memria, por meio de barramento ou rede de interconexo (vide Figura 21). Esse modelo tem como vantagem o fato de que os processadores podem trocar rapidamente mensagens entre si atravs da memria comum. E possui como desvantagem o fato que o modelo no pode ser expandido a um nmero superior a 32 ou 64 processadores, visto que o barramento ou a rede de interconexo entre processadores e memria se tornaria um gargalo e os processadores passariam mais tempo aguardando pela sua vez para acessar memria do que realizando o processamento.

Figura 21 - Esquema do modelo paralelo de memria compartilhada

Disco compartilhado - No modelo de disco compartilhado (vide Figura 22), todos os processadores acessam todos os discos diretamente por meio de uma rede de interconexo, contudo, cada processador possui sua prpria memria privada e exclusiva. Esse modelo tem como vantagens o fato de que, como cada processador possui sua prpria memria, no h problemas de gargalo de acesso memria e pode-se maximizar o nmero de processadores utilizados. Alm disso, h uma boa tolerncia a falhas, visto que caso um processador falhe, todos os demais continuaro trabalhando normalmente e acessando os dados nos discos compartilhados de forma natural. Como desvantagem, temos que, em relao ao modelo de memria compartilhada, a troca de mensagens entre os processadores muito mais lenta, uma vez que necessrio que as mensagens trafeguem pela rede de interconexo (tanto para acessar o disco, como para haver a comunicao entre os processadores).

Figura 22 Esquema do modelo paralelo de disco compartilhado

37

Banco de Dados

Nenhum compartilhamento Neste modelo (vide Figura 23), cada n possui seus prprios discos, processador e memria, comunicando-se com os demais ns por meio de uma rede de interconexo de alta velocidade. Aqui, cada n assume o papel de servidor em relao aos demais ns, oferecendo como servio o acesso aos dados que esto em seus discos. A vantagem que esse modelo altamente escalvel, podendo admitir facilmente uma grande quantidade de processadores. A desvangagem que o custo para comunicao e acesso aos dados em discos nolocais muito maior que nos modelos de memria e discos compartilhados, visto que, alm de ser necessria a transmisso por rede, tambm h a interao entre os softwares, em ambas as extremidades.

Figura 23 - Esquema do modelo paralelo sem compartilhamento

Hierrquico este modelo combina caractersticas do modelo de memria compartilhada, disco compartilhado e com nenhum compartilhamento. Em um nvel superior, pode-se ter ns que no compartilham memria ou discos entre si, trabalhando em um modelo sem nenhum compatilhamento, porm, cada n poderia ser um sistema de memria compartilhada entre dois ou mais processadores. Ou seja, no nvel mais alto os ns so conectados por uma rede, sem compartilhar recursos. E, no nvel mais baixo, cada n constitudo de sistemas de compartilhamento (vide Figura 24).

Figura 24 - Esquema de modelo paralelo hierrquico

Arquitetura Mono-Usurio
Aqui, o banco de dados encontra-se no mesmo computador em que so executadas as aplicaes e no h mltiplos usurios. Geralmente utilizada com computadores pessoais, no comeo esse processamento era bastante limitado, porm, com a evoluo do hardware, tem-se hoje PCs com grande capacidade de processamento. Eles utilizam o padro Xbase e quando se trata de SGBDs, funcionam como hospedeiros e terminais. Desta maneira, possuem um nico aplicativo a ser executado na mquina. A principal vantagem desta arquitetura a simplicidade.

38

Banco de Dados

Abstrao de Dados
Abstrair dados significa omitir a complexidade do sistema de modo a facilitar a interao dos usurios com ele. Como um dos principais objetivos de um SGBD simplificar a interao do usurio com o sistema, ele deve prover uma viso abstrata dos dados, ou seja, omitir detalhes de como os dados so armazenados e mantidos. Na verdade, uma das caractersticas fundamentais da abordagem de banco de dados que ela fornece algum nvel de abstrao de dados, pela omisso de detalhes de armazenamento de dados que no so necessrios para a maioria dos usurios. O modelo de dados a principal ferramenta que fornece esta abstrao. Um Modelo de Dados um conjunto de conceitos que podem ser usados para descrever a estrutura do banco de dados. Por estrutura do banco de dados entendem-se os tipos de dados, relacionamentos e restries pertinentes aos dados. Muitos modelos de dados tambm definem um conjunto de operaes para especificar como recuperar e modificar a base de dados.
Em qualquer modelo de dados importante distinguir entre a descrio do banco de dados e o banco de dados propriamente dito. A descrio de um banco de dados chamada Esquema do Banco de Dados. Um esquema de banco de dados especificado durante o projeto deste banco, sendo que a expectativa de mudanas no grande. A forma de visualizao de um esquema chamada Diagrama do Esquema. Muitos modelos de dados tm certas convenes para, diagramaticamente, mostrar esquemas especificados no modelo. Os dados existentes em um banco de dados podem mudar com relativa frequncia. Os dados contidos em um banco de dados em um momento especfico do tempo so chamados Instncias do Banco de Dados (ou Ocorrncias ou Estados). A base-esquema algumas vezes chamada de Base-Intencional e uma instncia chamada de Base-Extensional do esquema.

Para prover abstrao um SGBD prov a definio de esquemas em trs nveis (vide Figura 25): o nvel de viso, o nvel conceitual e o nvel fsico. Estes nveis facilitam a manuteno do sistema e a interao dos usurios com os sistemas. Vamos detalhar mais cada um deles a seguir.

Figura 25 - Nveis de Abstrao providos por um SGBD

O nvel fsico tambm chamado nvel interno, possui um esquema interno que descreve como os dados esto de fato armazenados no(s) disco(s) rgido(s) (ex: formato dos registros, ordem em que aparecem, etc). Ou seja, descreve a estrutura de armazenamento fsico dos dados do BD, fornecendo um modelo fsico dos dados que inclui detalhes sobre os caminhos de acesso aos dados internamente. Os desenvolvedores de Banco de Dados devem ter noo desse nvel. O nvel conceitual tambm chamado nvel lgico, um nvel mdio de abstrao

39

Banco de Dados

e possui um esquema conceitual que descreve quais dados esto armazenados no banco de dados e quais so os interrelacionamentos entre eles. Ou seja, descreve a estrutura de todo o BD para uma determinada comunidade de usurios, ocultando detalhes sobre a organizao fsica dos dados e apresentando a descrio lgica dos dados e das ligaes existentes entre eles. Esse esquema se concentra na descrio de entidades, tipos de dados, relacionamentos e restries. a viso dos administradores de banco de dados e dos programadores. O nvel de viso tambm chamado nvel externo, possui esquemas externos ou vises dos usurios. Ele o mais alto nvel de abstrao. Cada esquema externo descreve a viso do banco de dados de um grupo de usurios deste banco. Cada viso descreve, tipicamente, a parte do banco de dados que um grupo particular de usurios est interessado e esconde deste o restante do banco de dados. Ou seja, vai existir uma viso diferente para cada grupo de usurios finais. Ele descreve apenas parte do BD, pois os usurios normalmente no precisam conhecer todo o banco, eles acabam utilizando apenas parte dele.

Essa diviso em nveis conhecida como arquitetura Three-Schema (tambm conhecida como arquitetura ANSI/SPARC) e foi proposta por Tsichritzis & Klug em 1978. A meta desta arquitetura separar as aplicaes de usurios do banco de dados fsico (meio que deixar cada macaco no seu galho)
Como os trs nveis apresentam descries diferentes para os mesmos dados, torna-se necessrio converter uma representao em outra, ou seja, definir mapeamentos de dados entre os nveis. Esses mapeamentos so mantidos pelo DBA. Muitos SGBDs no separam os trs nveis completamente. Pode acontecer que alguns SGBDs incluam detalhes do nvel interno no esquema conceitual. Em muitos SGBDs que permitem vises, os esquemas externos so especificados com o mesmo modelo de dados usado no nvel conceitual..

Estes trs nveis podem ser utilizados para explicar conceitos de independncia de dados. Mas o que independncia de dados? Independncia de dados se refere imunidade de aplicativos dos usurios a mudanas na definio e na organizao de dados, e vice-versa. Em outras palavras, ela pode ser definida como a capacidade de alterar o esquema de um nvel de abstrao sem ter que alterar o esquema do prximo nvel superior. Voc s vai ter ideia da importncia disso quando comear realmente a manipular um banco de dados! Pode-se dividir a independncia de dados em dois tipos: a independncia de dados lgica e a independncia de dados fsica. A independncia de dados lgica a capacidade de alterar o esquema conceitual sem ter que mudar os esquemas externos (nvel de viso) ou programas de aplicao que fazem uso do banco de dados. Pode-se mudar o esquema conceitual para expandir o banco de dados, com a adio de novos tipos de registros (ou itens de dados), ou reduzir o banco de dados removendo um tipo de registro. Neste ltimo caso, esquemas externos que se referem apenas aos dados remanescentes (que no foram alterados) no devem ser afetados. Assim possvel modificar a organizao conceitual com impacto mnimo nas aplicaes (construdas sobre os esquemas externos ou vises). A independncia de dados fsica a capacidade de alterar o esquema interno (nvel fsico) sem ter que alterar o esquema conceitual (nvel lgico). Mudanas no esquema interno podem ser necessrias devido a alguma reorganizao de arquivos fsicos para melhorar o desempenho nas recuperaes e/ou modificaes. Aps a reorganizao, se nenhum dado foi adicionado ou perdido, no haver necessidade de modificar o esquema conceitual. Em outras palavras, a independncia de dados fsica lida com a ocultao dos

40

Banco de Dados

detalhes da estrutura de armazenamento em relao aos aplicativos do usurio, ou seja, quando um aplicativo escrito, ele no deve se preocupar com os detalhes da organizao fsica dos dados. Assim, possvel modificar as estruturas de armazenamento sem impactar nas aplicaes que fazem uso do BD.

Conhea Mais

Para maiores detalhes sobre os assuntos tratados neste captulo, voc pode recorrer a qualquer livro de banco de dados, como os indicados no captulo anterior. Adicionalmente, voc pode consultar as seguintes fontes: CASANOVA, M. A.; MOURA, A. V. Princpios de Sistemas de Gerncia de Bancos de Dados Distribudos. Rio de Janeiro: Campus, 1985 MATTOSO, Marta. Bancos de Dados Distribudos. Universidade Federal do Rio de Janeiro, 1998. TSICHRITZIS, D. & KLUG, A. (eds.). The ANSI/X3/SPARC DBMS framework report of the study group on database management systems. Information Systems 3, pp. 173-191, 1978. DATE, C.J. Introduo a Sistemas de Banco de Dados. 7 Edio, Editora Campus, 2000. H tambm um texto bem interessante na internet: TAKAI, K.; ITALIANO, I.C.; FERREIRA, J. E. Introduo a Banco de Dados (Apostila). DCCIME-USP, 2005. Disponvel em: http://www.ime.usp.br/~jef/apostila.pdf

Voc Sabia?
Existem alguns termos que vamos utilizar, em breve, que interessante j conhecer. So eles: Tempo de resposta - Em sistemas gerenciadores de banco de dados, tempo de resposta o tempo necessrio para que o sistema execute uma nica tarefa, a partir do momento em que esta foi submetida. Throughtput - Em sistemas de bancos de dados, throughput o nmero de tarefas que um sistema capaz de completar em um determinado intervalo de tempo. Agora, voc j sabe o significado para quando eles aparecerem tanto nas suas leituras, como nos nossos textos futuros, ok?

Aprenda Praticando
O sistema de banco de dados deve prover uma viso abstrata de dados para os usurios, isolando, desta forma, detalhes mais internos do BD. Essa abstrao provida em trs nveis. Faa um esquema grfico e explique estes nveis de abstrao. Como voc responderia essa questo? Como voc desenharia o esquema de nveis de abstrao? Bom, quanto ao desenho podemos partir para algo bem simples, veja a seguir.

41

Banco de Dados

Cada nvel representado por um retngulo com o nome dentro. Para reforar a ideia de que o nvel fsico o que realmente armazena os dados no banco de dados, podemos desenhar umas bases de dados conectadas ao nvel fsico. Para dar a ideia de que no nvel de viso, para cada grupo de usurios pode existir uma viso diferente dos dados, devemos desenhar mais de um retngulo. Voc ainda poderia ter colocado bonequinhos de usurios conectados s caixas do nvel de viso. Preferimos simplificar e no colocar os bonecos. Agora, vamos descrio dos nveis. O nvel fsico tambm chamado de Esquema interno e o nvel mais baixo de abstrao. Descreve como os dados esto realmente armazenados, englobando estruturas complexas de baixo nvel. O nvel conceitual (ou lgico) conhecido tambm como Esquema Conceitual. Ele descreve quais dados esto armazenados e seus relacionamentos. O nvel de vises do usurio o nvel externo. Ele descreve partes do BD que sero visualizadas pelos usurios de acordo com suas necessidades. Uma viso um subconjunto de dados do BD, sem que exista a necessidade de estarem armazenados no BD. Vamos dar uma olhada novamente em questes de concurso? TRF4 -FCC-2004 1. Considerando a proposta ANSI/X3/SPARC, o esquema de banco de dados: a) interno corresponde ao modelo lgico. b) interno corresponde ao modelo conceitual. c) externo corresponde ao modelo lgico. d) externo corresponde ao modelo conceitual. e) conceitual corresponde ao modelo lgico. 2. Qual(ais) do(s) modelo(s) abaixo (so) modelo(s) de Banco de Dados? a) Modelo Relacional b) Modelo Hierrquico c) Modelo em Rede d) Todas as alternativas esto corretas e) Todas as alternativas esto incorretas 3. A arquitetura de um banco de dados divide-se em trs nveis de abstrao: fsico (ou interno), conceitual e de vises (ou externo). A respeito do nvel de vises, no correto afirmar que: a) fornecem mecanismos de segurana, restringindo o acesso dos usurios aos dados. b) o nvel mais alto de abstrao e pode ser composto por inmeras vises do mesmo banco de dados. c) os usurios veem um conjunto de aplicaes e visualizam os detalhes de todos os tipos de dados.

42

Banco de Dados

d) o nvel de vises definido para simplificar a interao entre o usurio final e o banco de dados. e) a forma como geralmente os usurios finais veem as informaes contidas no banco de dados.

Respostas
1. E (o esquema interno corresponde ao modelo fsico, o esquema externo ao modelo de vises ou modelo externo, a nica correta que o esquema conceitual corresponde ao modelo lgico). 2. D (todos os modelos citados so modelos de banco de dados, como vimos quando descrevemos a evoluo dos BDs) 3. C (o nvel de viso restringe o acesso aos dados dos banco, tornando visvel apenas uma parte dele, que seja a adequada s operaes do usurio, simplificando assim a interao)

Atividades e Orientaes de Estudo

Atividades Prticas
Resolva os exerccios a seguir em um documento texto (doc) e poste no ambiente virtual, no local indicado. 1. Como os conceitos de nveis de abstrao do banco de dados (nvel de viso, conceitual e fsico) se relacionam com os conceitos de independncia de dados? 2. Qual a diferena entre esquema e instncia do banco de dados? 3. Quais os modelos de arquitetura paralela? Fale brevemente, com suas palavras, sobre cada um deles. 4. Quais as principais diferenas entre o modelo relacional e os seus antecessores (modelos hierrquico e em rede)? 5. Quais os dois exemplos mais conhecidos de arquitetura cliente-servidor e qual a diferena entre eles? Responder esses exerccios lhe permitir revisar o assunto que acabou de ser estudado.

Vamos Revisar?

O primeiro Sistema Gerenciador de Banco de Dados (SGBD) comercial surgiu no final de 1960 com base nos primitivos sistemas de arquivos disponveis na poca, os quais no controlavam o acesso concorrente por vrios usurios ou processos. Os SGBDs evoluram desses sistemas de arquivos de armazenamento em disco, criando novas estruturas de dados com o objetivo de armazenar informaes. Com o tempo, os SGBDs passaram a utilizar diferentes formas de representao, ou modelos de dados, para descrever a

43

Banco de Dados

estrutura das informaes contidas em seus bancos de dados: modelo hierrquico, modelo em redes, modelo relacional (amplamente usado) e o modelo orientado a objetos. Em termos de arquitetura, dependendo do uso feito das redes de computadores, do paralelismo envolvido e da distribuio dos dados, os SBDs podem ser classificados em centralizados, cliente-servidor (cujos modelos mais conhecidos so o em 2 e em 3 camadas), distribudo, paralelos (podendo haver memria compartilhada, disco compartilhado, compartilhamento hierrquico e no haver compartilhamento) e mono-usurio. Tambm podemos considerar a arquitetura em termos da abstrao dos dados. Para prover abstrao um SGBD prov a definio de esquemas em trs nveis: o nvel de viso, o nvel conceitual e o nvel fsico. Estes nveis facilitam a manuteno do sistema e a interao dos usurios com os sistemas e so muitas vezes chamados de arquitetura threeschema. O uso da arquitetura three-schema relaciona-se com o conceito de independncia de dados, que pode ser independncia fsica e independncia lgica.

44

Banco de Dados

Captulo 3
O que vamos estudar neste captulo?
Neste captulo, vamos estudar os seguintes temas: Tipos de Banco de Dados Perspectivas

Metas
Aps o estudo deste captulo, esperamos que voc: Reconhea os diferentes tipos de Banco de Dados do mundo atual Desperte a curiosidade para as novas perspectivas da rea de Banco de Dados

45

Banco de Dados

Captulo 3 Novas Tendncias e


Perspectivas
Vamos conversar sobre o assunto?
O mundo atual complexo e lida, diariamente, com dados cada vez mais complexos. Sejam eles mapas, imagens, vdeos, genomas, etc. Alm disso, surgiu a necessidade de extraes diferenciadas dos dados, de forma a dar suporte tomada de deciso e de ter banco de dados onde a temporalidade do dado ganha uma importncia elevada. Isso tudo trouxe a necessidade de se criarem formas alternativas e no-convencionais de armazenamento, manuteno e consulta desses novos tipso de dados. justamente sobre esses novos tipos de SGBDs que vamos tratar neste captulo

Neste captulo, vamos comentar sobre os novos e no-convencionais tipos de banco de dados, dando uma breve descrio sobre cada um deles e, posteriormente, vamos apresentar novas perspectivas para dar uma ideia do que pode estar por vir. A ideia lhe proporcionar apenas uma viso geral dessas novas tecnologias de BD. Mas, se voc desejar se aprofundar nos temas, deixaremos indicadas vrias referncias. Vamos l?

Classificao dos Bancos de Dados


Um Sistema de Gerncia de Bancos de Dados (SGBD), como j estudamos nos captulos anteriores, permite o controle de grandes volumes de dados, oferecendo persistncia e garantindo o acesso de mltiplos usurios com eficincia e segurana. Todo SGBD, normalmente, implementa um determinado modelo de dados, que define tanto uma estrutura de representao para os dados como tambm o formalismo de manipulao dos mesmos. H vrios anos o modelo relacional de dados, baseado em relaes matemticas, comumente abstradas como tabelas, vem sendo utilizado como modelo padro de mercado. Para aplicaes ditas convencionais, envolvendo administraes empresariais ou coorporativas, os SGBDs relacionais disponveis no mercado atendem os requisitos de dados e funcionais sem maiores dificuldades. Entretanto, novas aplicaes trazem desafios de estruturao de dados nos diversos nveis de memria, especificao de consultas e manipulaes complexas, sobre conjuntos de dados cada vez maiores. Esse o caso das aplicaes cientficas, dos sistemas de informaes geogrficas e de suporte a deciso que compreendem objetos geogrficos, dados semiestruturados, petabytes de dados e processamentos complexos. Em vrios casos, como por exemplo, em sistemas onde o atributo tempo importante, sistemas que compreendem imagens, vdeos ou dados espaciais de forma geral, difcil utilizar SGBDs convencionais ou mesmo suas verses com funcionalidades estendidas. Por exemplo, abstrair mapas para armazenamento em tabelas convencionais de SGBDs relacionais exige muitas adaptaes e simplificaes que podem comprometer a semntica da aplicao. Neste cenrio, os Bancos de Dados No-Convencionais (BDNCs), tambm chamados de BDs ps-relacionais, visam atender as necessidades de gerenciamento de dados de aplicaes ditas no-convencionais que realizam processamentos complexos e manipulam

46

Banco de Dados

a diversidade de novos dados que vo surgindo (mapas, imagens, sons, vdeos, o genoma humano, etc). Vamos, a seguir, descrever brevemente alguns desses BDNCs.

Banco de Dados de Informaes Geogrficas (BDG)


Um Sistema Gerenciador de Bancos de Dados Geogrficos (SGBDG) caracterizado por armazenar e manipular dados cuja geometria est referenciada superfcie planetria. Ou seja, um SGBDG armazena informaes geogrficas (mapas dos mais diversos tipos), dados climatolgicos, imagens de satlite, etc. Os SGBDGs permitem manter dados georeferenciados, sendo fundamentais para o desenvolvimento de aplicaes em vrias reas, como controle sobre os processos ambientais e de uso da terra (tais como: planejamento agrcola e de bacias hidrogrficas, controle de queimadas e desmatamento e classificao de solos); econmicos e sociais (tais como: anlise de distribuio de produtos e de servios); cadastro e planejamento urbano e rural (tais como lotes, logradouros, redes de infraestrutura, turismo) e previso climatolgica. O que diferencia os SGBDGs dos demais sistemas capazes de manipular dados espaciais como, por exemplo, softwares de CAD10, a capacidade de realizar operaes complexas de anlise sobre dados espaciais. E o que armazenado em um SGBD geogrfico? Geralmente, a modelagem de um SGBDG consiste em referenciar objetos representados em mapas. Estes objetos podem ser constitudos de informaes espaciais e informaes no espaciais (vide Figura 26). As informaes espaciais esto georeferenciadas, tal como o local de uma rea de plantao e as no espaciais representam as informaes descritivas, como o tipo de cultura plantada na rea e o nome do proprietrio.
10

Saiba Mais
Computer-Aided Design (CAD) ou desenho assistido por computador, o nome genrico de sistemas computacionais (softwares) utilizados pela engenharia, geologia, arquitetura, e design para facilitar o projeto e desenho tcnicos.

Figura 26 Exemplo de objetos representados em um SGBDG

O uso de SGBDGs permite a Anlise Geo-Espacial. Esta anlise um conjunto de funes aplicadas sobre um mapa ou objetos deste mapa e uma dos principais diferenciais operacionais em relao aos SGBDs convencionais. Um SGBDG apenas um dos componentes de um Sistema de Informao Geogrfica (SIG), que um sistema responsvel por capturar, armazenar, manipular, analisar e apresentar dados geogrficos.

Banco de Dados Multimdia


Sistemas Multimdia devem armazenar, recuperar, transportar, e apresentar dados com caractersticas heterogneas tais como textos, imagens, grficos, sons e vdeos. Estes so sistemas complexos e necessitam de acesso uniforme aos objetos multimdia, de forma transparente. Todos os principais arquivos so armazenados em binrio, ou seja, em cadeias de zeros e uns, e so codificados de acordo com o tipo de arquivo (imagem, vdeo, etc). Os SGBDs relacionais mais utilizados (tais como: Microsoft SQL Server, Oracle e MySQL) oferecem suporte a este tipo de informao. Mas onde ela armazenada no Banco de

47

Banco de Dados

Dados? Ela armazenada em um campo criado para o armazenamento de qualquer tipo de informao em formato binrio (tal como o dado multimdia) dentro de uma tabela em um Banco de dados chamado BLOB (Binary Large Object ou grande Objeto binrio). Porm, o uso dessa soluo mostrou-se inadequada para lidar com dados multimdia, em funo da grande quantidade de bytes necessrios para este fim, com isso, tornou-se necessrio o desenvolvimento de sistemas de bancos de dados especificamente voltados para essas aplicaes. Os Sistemas de Bancos de Dados Multimdia (SGBD MM) se caracterizam pela incorporao de mdia contnua como vdeo, udio e animao. Um bom SGBD MM deve permitir consultas baseadas no contedo dos documentos e, para isso, importante que ele seja capaz de fazer a interpretao dos dados, com a identificao de objetos conceituais nele contidos e seus relacionamentos. E em que tipos de aplicaes so usados os SGBD MM? Vamos dar alguns exemplos: Gerenciamento de documentos e registros: os dados podem incluir projetos de engenharia e dados sobre produo, registros mdicos de pacientes, entre outros. Disseminao de conhecimento: o modo multimdia ir abranger um crescimento fenomenal em livros, catlogos, manuais e enciclopdias eletrnicas, bem como repositrios de informaes em muitos tpicos. Marketing, propaganda, vendas no varejo, entretenimento e turismo: praticamente no existem limites para utilizao de informaes multimdia nessas aplicaes desde apresentaes eficazes de vendas at excurses virtuais em cidades e galerias de arte. A utilizao de objetos armazenados pr-projetados em banco de dados multimdia ir expandir a extenso dessas aplicaes.

Datawarehouses
Nos ltimos anos houve um aumento considervel nos sistemas de gesto empresarial, e como consequncia os dados tambm cresceram. Bancos de dados evoluram para atender a esse crescimento tecnolgico e toda uma atmosfera de gesto informatizada foi gerada. Nessa evoluo, os sistemas convencionais que so transacionais no conseguiram cumprir a tarefa de analisar esses dados para garantir um resultado confivel ao usurio. Era preciso trabalhar num contexto de dados distintos para uni-los externamente. O conceito de Data Warehouse surgiu da necessidade de integrar dados corporativos espalhados em diferentes mquinas e sistemas operacionais, para torn-los acessveis a todos os usurios dos nveis decisrios. Outro fator que contribuiu para o estabelecimento desse conceito foi a evoluo da Tecnologia da Informao, particularmente, os Sistemas de Apoio Deciso (do ingls, Decision Support Systems - DSS). O DataWarehouse surgiu como uma soluo para suprir as necessidades de informaes para o usurio de nvel decisrio (ou gerencial). Mas o que um Datawarehouse? DataWarehouse (se traduzirmos ao p da letra, chamaramos armazm de dados, mas no usada traduo para o termo) uma coleo de dados, organizados por assunto, integrados, no-volteis, histricos, cujo propsito fornecer suporte tomada de deciso nas organizaes. Vamos explicar melhor alguns dos termos dessa definio: O datawarehouse orientado por assunto, o que significa que os dados que faro parte dele, devem ser orientados e organizados por um tema; O datawarehouse composto de dados integrados, o que quer dizer que uma limpeza preliminar dos dados necessria, com vista a uma racionalizao e normalizao (porque os dados podem vir de fontes diferentes, tais como, arquivos e banco de dados diversos);

48

Banco de Dados

Os dados do datawarehouse so no volteis o que significa que um dado entrando no armazm fica assim para sempre e no deve ser deletado; s h insero de novos dados, mas no h atualizao ou deleo (seno, no seria possvel manter o histrico); Os dados do datawarehouse devem ter um histrico, logo, eles devem ser datados.

Para que fazer uso de um datawarehouse? Os sistemas de informao disponveis foram concebidos e implantados para atender ao nvel operacional. Ou seja, para agilizar procedimentos administrativos das organizaes, sendo mantidos por reas estanques e independentes. Porm, os nveis gerencial e estratgico passaram a requerer informaes mais trabalhadas, o que provocou uma alterao no perfil da demanda por informaes. As necessidades de informaes para o nvel estratgico da organizao so supridas por meio de processamentos sob demanda sobre os dados de nvel operacional depositados em fitotecas, arquivos e bases on-line. No entanto, o acesso aos dados corporativos tornase difcil, devido falta de integrao dessas bases. A integrao dos dados e a agilidade na recuperao de informaes foi conseguida com o advento dos datwarehouses, com a vantagem de que, como os dados do DataWarehouse esto separados das bases operacionais, os usurios podem acess-los, explorando e descobrindo as informaes disponveis sem impacto no processamento operacional. E como os dados do datawarehouse so manipulados? Ser que se usa SQL tambm, tal qual nos bancos de dados relacionais? No. Para acessar e manipular os dados em um datawarehouse so usadas ferramentas OLAP (do ingls, Online Analytical Processing). Essas ferramentas so capazes de navegar pelos dados de um DataWarehouse, possuindo uma estrutura adequada tanto para a realizao de pesquisas, quanto para a apresentao de informaes. Por exemplo, atravs de um processo chamado Drill o usurio pode aumentar (Drill down) ou diminuir (Drill up) o nvel de detalhamento dos dados sendo consultados. Como isso? Imagine que voc fez uma consulta e os dados forma retornados organizados por pases, fazendo um Drill down, os dados passaro a ser apresentados por estados, cidades, bairros e, assim, sucessivamente at o maior nvel de detalhamento possvel. O processo contrrio, o Drill up, faz com que os dados sejam consolidados em nveis superiores de informao. O uso de recursos para manipular, formatar e apresentar os dados de modo rpido e flexvel um dos pontos fortes de um datawarehouse.

Banco de Dados Temporal (BDT)


Segundo Edelweiss (1998), bancos de dados temporais permitem armazenar e recuperar todos os estados de um objeto, registrando sua evoluo ao longo do tempo. As informaes relativas ao tempo so associadas aos dados de forma implcita (atravs do tempo de transao e do tempo de validade) ou de forma explcita (atravs de um tempo definido pelo usurio). Bancos de dados que suportam tempo de transao e tempo de validade (BD bi-temporais) so necessrios para realizar a modelagem completa da realidade, que possibilite o acesso a todos os estados dos objetos armazenados. Logo, diferentemente de bancos de dados convencionais onde a realidade representada apenas pelo estado presente de um objeto, os bancos de dados temporais (BDT) permitem armazenar e recuperar todos os estados do objeto ao longo do tempo. Por que armazenar o tempo importante? Normalmente, em aplicaes do mundo real esto presentes informaes temporais que so relevantes na especificao de sistemas, para saber quais informaes tiveram, tm ou tero seus valores alterados. Com a incluso de uma dimenso tempo possvel identificar quando uma informao foi definida e por quanto tempo ela vlida. Outro ponto importante que se o valor de um atributo

49

Banco de Dados

for alterado, o valor anterior no perdido, favorecendo a criao de um histrico. Como se inclui essa dimenso temporal no BD? Informaes temporais so representadas em BDs atravs de datas, perodos, intervalos temporais e durao da validade de informaes. A associao entre as informaes temporais e os dados, ou simplesmente a insero do quesito tempo a um dado, possvel atravs do acrscimo de uma dimenso (uma tabela ou um atributo) temporal ao banco de dados.

Saiba Mais
11

Business Intelligence (BI) pode ser traduzido como Inteligncia de negcios, refere-se ao processo de coleta, organizao, anlise, compartilhamento e monitoramento de informaes que oferecem suporte gesto de negcios.

Que aplicaes fazem uso desse tipo de SGBD? A utilizao de um BD temporal se faz necessria em tempos onde a riqueza dos dados fundamental para a anlise e obteno de informaes, ampliando a capacidade de sistemas que fazem o cruzamento de dados/ informaes. Exemplos de aplicaes que so beneficiadas pelo uso de BD temporal so os SIGs (Sistemas de Informaes Gerenciais), Dataminer (sistemas de minerao de dados), Datawarehouses, Sistemas de Suporte a Deciso tais como as aplicaes de BI (Business Intelligence11), aplicaes da rea mdica (por exemplo, para manter o registro do quadro clnico ou o acompanhamento do diagnstico de pacientes), aplicaes da rea empresarial (ex: tomada de decises e planejamento de oramentos), dentre outras. Apesar do custo de armazenamento ser alto em BD temporais, os benefcios so relevantes pelo fato de serem possveis consultas histricas com alta recuperabilidade de dados. Atualmente, SGBDs como o PostgreSQL ou a ferramenta Time Series Cartridge inserida no Oracle, oferecem recursos para que informaes temporais possam ser inseridas aos dados em banco de dados.

Saiba Mais
12

O que mais h por a?


E ainda h mais? H sim. H vrios bancos de dados surgindo tanto pela necessidade criada por uma rea especfica (por exemplo, os bancos de dados biolgicos), como tambm surgindo pela prpria evoluo da tecnologia (tais como os bancos de dados XML e os banco de dados mveis). Vamos apresentar mais esses exemplos.

Bioinformtica o campo da cincia no qual a Biologia, a Cincia da Computao e a Tecnologia da Informao convergem em uma nica disciplina. Esse campo surgiu da necessidade de formao de um profissional que tivesse conhecimento suficiente para saber quais eram os problemas biolgicos reais e quais seriam as opes viveis de desenvolvimento e abordagem computacional dos problemas em questo.

Bancos de Dados Biolgicos


A quantidade de bancos de dados em Biologia Molecular vem crescendo exponencialmente nos ltimos anos, e o aspecto funcional da bioinformtica12 a representao, o armazenamento e a distribuio de dados. Os objetivos destes bancos variam e podem ser utilizados para armazenar e disponibilizar biosequncias, funes moleculares, estruturas de protenas, modelos metablicos, entre outros, oferecendo em alguns casos informaes mais amplas. Em alguns casos, as informaes biolgicas so obtidas por anlise computacional de outros bancos de dados; j em outros, atravs da literatura ou informaes especificadas (preenchidas no BD) por pesquisadores. BDs biolgicos se tornaram uma importante ferramenta no entendimento da vasta quantidade de fenmenos biolgicos existentes, desde a estrutura das biomolculas e sua interao ao metabolismo como um todo e a evoluo das espcies. Este entendimento contribui para facilitar a luta contra doenas, auxilia no desenvolvimento de novos produtos farmacuticos e na descoberta de relaes entre espcies. Os BDs biolgicos so tanto bancos pblicos quanto privados. H mais de 1000 bancos de dados biolgicos comerciais e pblicos disponveis atualmente. O acesso a esses bancos de dados, geralmente, se d atravs de padres abertos (open standards) como a web, para facilitar o acesso aos usurios destes bancos (em geral, pessoal da rea mdica e pesquisadores). Vamos dar alguns exemplos de BDs biolgicos existentes:

50

Banco de Dados

Bancos de dados primrios de sequncia (nucleotdeos e aminocidos) ex: GenBank, UniProt, EBI (European Bioinformatics Institute) e o DDBJ (DNA Data Bank of Japan) Bancos de genomas ex: Mouse Genome Database, NCBI Genomic Biology Bancos de dados especializados ex: Flybase, Wormbase, CGAP Bancos de dados de vias bioqumicas ex: KEGG (Kyoto Encyclopedia of Genes and Genomes) Bancos de dados de estrutura de protenas ex: PDB (Protein Data Bank), SCOP Bancos de dados de microarrays ex: Array Express, SMD Bancos de dados de interaes protena-protena ex: STRING, BioGRID Bancos de Cadastro de recursos naturais ex: AmazonLink, ENDS, National Whale and Dolphins Stranding Database

A revista Nucleic Acids Research um importante recurso com informaes sobre estes BD (http://www3.oup.co.uk/nar/database/c/). Anualmente, ela publica uma lista atualizada com a classificao de todos os bancos de dados biolgicos disponveis.

Banco de Dados XML


XML (eXtensible Markup Language) uma linguagem de marcao de dados13, utilizada para troca, compartilhamento e armazenamento de dados. Na verdade, uma linguagem que vem se tornando um padro para representao e transferncia de dados. um padro aberto desenvolvido pela W3C (World Wide Web Consortium), que responsvel pela definio de padres para a Web. um consrcio formado pela academia e pela indstria. Os dados no formato XML so descritos em um documento XML. Mas qual o formato de um documento XML? Veja, a seguir, um exemplo de um documento XML representando a ficha de um cliente:
<?xml version=1.0 encoding=UTF-8?> <ficha> <InformacaoPessoal> <DataNascimento>10/10/1970</DataNascimento> <Nomecompleto> Jssica Soares </Nomecompleto> <Contatos> <Endereco> <Rua>R. das Flores</Rua> <Num>45</Num> <Cidade>Recife</Cidade> <Estado>PE</Estado> <Pais>Brasil</Pais> </Endereco> <Telefone>9999-9999</Telefone> <CorreioEletronico>jessica@email.com</CorreioEletronico> </Contatos> <Nacionalidade>Brasileira</Nacionalidade> <Sexo>F</Sexo> <Profissao>Professora</Profissao> </InformacaoPessoal> </ficha>

Saiba Mais
13

Linguagem de marcao de dados aquela que utiliza tags para descrio dos dados (uma tag indica a inteno do dado e delimita o seu contedo). Outro exemplo de linguagem de marcao a linguagem HTML.

Qual a motivao para a utilizao crescente da XML? Entre os motivos para

51

Banco de Dados

essa utilizao crescente est o aumento do uso de aplicaes Web e fato de ser cada vez mais frequente a utilizao de operaes de extrao, manipulao, integrao, transferncia e publicao de dados. De fato, cada vez mais comum o uso de documentos XML em aplicaes, principalmente quelas relacionadas Web, tornando importante a manipulao desses documentos. Por isso, com o tempo surgiu a necessidade de armazenlos em um ambiente que fornea recursos de bancos de dados. Porm, dados XML no so naturalmente adequados para armazenamento em BDs, como pode ser visto na comparao feita no Quadro 2.
Quadro 2 Dado BD x Dado XML Dado de Banco de Dados Representao homognea Esquema independente dos dados Totalmente Estruturado Esquema enxuto Dado XML Representao heterognea Representao autodescritiva Estruturao parcial Esquema Extenso

Assim, surgiu a necessidade de utilizao de BDs especficos para armazenar esse novo tipo de dado ou que deem suporte a esse armazenamento. Assim, surgiram os bancos de dados XML, que permitem o armazenamento de dados no formato XML. H dois tipos de banco de dados XML: os com suporte a XML e os XML nativo. Bancos de dados com suporte a XML mapeiam todo XML para um banco de dados tradicional (tal como um BD relacional). Eles aceitam XML como entrada e renderizam XML como sada, sendo o prprio banco responsvel por essa converso. Exemplos: o Oracle o PostgreSQL possuiem suporte a XML (biblioteca interna de manipulao XML). Banco de dados nativos XML possuem documentos XML como unidade de armazenamento. Utilizam o prprio XML para estruturar, organizar e armazenar as informaes. Ex: Tamino. Mas qual a vantagem de usar um banco de dados XML? Devido ao aumento de fluxo de dados entre bancos de dados tradicionais e documentos XML nos sistemas de informao atuais, fazer uso de banco de dados XML trs uma maior eficincia (e facilidade) para converter e armazenar dados em XML. Alm de melhorar bastante o tempo de resposta das consultas.

Bancos de Dados Mveis


Em computao mvel, uma unidade mvel est em constante mudana de lugar o que torna a localizao um fator de grande importncia. Nestes sistemas, as respostas para consultas dependem de onde so originadas tornando-as significativamente diferentes de sistemas fixos sendo necessrias diferentes tcnicas que devem considerar as caractersticas dos sistemas mveis. Na verdade, o paradigma de computao mvel tem afetado conceitos, modelos e premissas tradicionais em vrias reas da cincia da computao. Na rea de redes, preciso que os dispositivos estejam conectados rede independente de sua localizao, o que conhecido como computao ubqua. Na rea de engenharia, o novo paradigma introduziu a noo de cdigo mvel, que significa a capacidade do cdigo de migrar entre unidades da rede. Em relao aos bancos de dados no diferente. A computao mvel introduziu o conceito e a necessidade de os clientes mveis acessarem seus bancos de dados de qualquer lugar. E que os bancos de dados conseguissem responder a variao de localidade com rapidez.

52

Banco de Dados

Assim, bancos de dados mveis se resumem a uma ou mais base de dados acessada por unidades mveis. Cada base de dados est localizada em uma outra unidade da rede, seja ela fixa ou mvel. Se observarmos bem, os bancos de dados mveis so uma particularidade de BDs distribudos. Na verdade, todo banco de dados mvel distribudo, principalmente, entre os componentes sob a rede com fio, possivelmente com replicao parcial ou total. Assim, uma estao de base gerencia seu prprio banco de dados com as funcionalidades inerentes aos SGBDs, com funcionalidades adicionais para localizar unidades mveis e caractersticas adicionais de gerncia de consultas e transaes, para atender aos requisitos de ambientes mveis. A responsabilidade sobre a gerncia de dados compartilhada entre estaes de base e unidades mveis. Um exemplo de aplicao para uso de BD mveis a consulta dependente de localidade. Imagine uma famlia viajando em frias em um estado completamente desconhecido. As bases de dados sensveis a localidade podero estar mantendo informaes sobre os diversos servios locais, tais como hotis, postos de gasolina, hospitais e etc..As bases de dados respondero a pesquisa como Qual o hotel mais prximo de onde estamos que aceite o carto VISA para pagamento?, ou Qual o hospital mais prximo que possui determinado convnio?. Estas perguntas podem ser feitas repetidamente e produziro respostas diferentes a cada momento, pois dependero da localidade a partir de onde a pesquisa foi realizada. A tecnologia de Sistemas de Bancos de Dados Mveis encontra-se ainda num patamar emergente, representando um grande desafio para mundo tecnolgico.

Consideraes Finais
Neste captulo, apresentamos alguns exemplos de BD-no convencionais que surgiram para atender propsitos especficos ou devido s necessidades tecnolgicas. A apresentao de cada um dos BDs foi breve, apenas para lhe dar uma ideia do que existe, mas tanto h muito mais informao sobre cada tipo de BD deste, como a cada dia tanto novas tcnicas e informaes sobre os j existentes, como surgem novos tipos de BDs (ex: BDs dedutivos). Ou seja, BD uma rea ampla para se pesquisar e se voc se interessar, vai ter muito pano pra manga.

Conhea Mais
Existem diversos livros de Banco de Dados que, nos captulos finais, falam um pouco sobre os bancos de dados no convencionais. Alm dos que indicamos no captulo 1 deste fascculo, voc pode consultar as seguintes referncias: KIM, W. Modern Database Systems: The Object Model, Interoperability and Beyond. Addison Wesley, 1995. RAMAKRISHNNAN, R.; GEHRKE, J. Database Management Systems. McGraw-Hill, 2003. STONEBRAKER, M. Object-Relational DBMS: The Next Great Wave. 2a ed., Academic Press. 1998. BRADLEY, N. XML Companion. 3a ed., Addison-Wesley. 2002. CHAUDHRI, A. B.; RASHID, A.; ZICARI, R. XML Data Management: Native XML and XML-Enabled Database Systems. Addison-Wesley. 2003. CAMARA, Gilberto. Anatomia de Sistemas de Informao geogrfica: Viso Atual e Perspectivas de Evoluo. So Paulo, 1993. Anais do Simpsio Brasileiro de

53

Banco de Dados

Geoprocessamento, USP, 2005. CAMARA, Gilberto. Bancos de Dados Geogrficos. Mundo Geo. Curitiba PR, 2005. EDELWEISS, Nina; OLIVEIRA, Jos Palazzo M. Modelagem de aspectos temporais de sistemas de informao. Livro texto da Escola da Nona Computao. Universidade Federal de Pernambuco, Recife, 1994. EDELWEISS, N. Bancos de Dados Temporais: Teoria e Prtica. Anais do XVIII Congresso Nacional da SBC (XVII JAI), v.II, 1998. MACHADO, F. N. R. Tecnologia e Projeto de Data Warehouse. Editora rica, 2004. KIMBALL, R. Data warehouse toolkit: tcnicas para construo de data warehouses dimensionais. Traduo Mnica Rosemberg. Makron Books, So Paulo, 1998. KIMBALL, R.; REEVES, L.; ROSS, M.; THOMTHWAITE, W. The datawarehouse lifecycle toolkit: tools and techniques for designing, developing and deploying data warehouses. Jonh Wiley & Sons, New York, 1998. INMON, W.H. Building the data warehouse. 2nd ed. John Wiley & Sons, New York, 1996. MOUNT, D. Bioinformatics: Sequence and Genome Analysis. Cold Spring Harbor Laboratory, 2001. JAMBECK, P.; GIBAS, C. Desenvolvendo Bioinformtica - Ferramentas de Software Para Aplicaes Em Biologia. Editora: Elsevier Editora LTDA,2001. Alm disso, voc pode consultar os seguintes sites: Sobre Data Warehouse: http://www.datawarehouse.inf.br/ Apresentao sobre BD Temporal: http://www.slideshare.net/sergeduardo/banco-dedados-temporais-temporal-database

Notas de Aula sobre Banco de Dados no-convencionais do professor Ronaldo S. Mello: http://www.inf.ufsc.br/~ronaldo/bdnc/ Reportagem BateByte sobre O Que Data Warehouse, escrita por Carlos Alberto Sowek: http://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=250 Informaes sobre alguns bancos de dados biolgicos: Genbank: http://www.ncbi.nlm.nih.gov/ DDJB: http://www.ddbj.nig.ac.jp/ EBI: http://www.ebi.ac.uk/ KEBB: http://www.genome.ad.jp/kegg/

Voc Sabia?
Que os Banco de Dados Dedutivos (BDD) tm a capacidade de definir regras dedutivas? Ou seja, eles derivam novos dados a partir das relaes bsicas existentes no BD, podendo deduzir ou inferir informaes adicional a partir de fatos que j esto armazenados. Pois ...

54

Banco de Dados

Atividades e Orientaes de Estudo

Atividades de Interao
Discuta no frum da semana sobre o seu conhecimento sobre os banco de dados convencionais. Tenha como guia as seguintes questes: 1. Voc j conhecia, fez uso ou j ouviu falar de algum dos banco de dados noconvencionais descritos nesse captulo? Quais? 2. Entre os especificados nesse captulo, qual o que voc achou mais interessante e por qu? 3. H algum outro banco de dados-no convencional que voc j ouviu falar que no foi tratado neste captulo? Qual(ais)? O que voc pode dizer sobre ele(s)? Este um frum temtico, logo, ele far parte da sua avaliao somativa. Logo, no deixe de participar! Alm disso, voc pode aprender muito compartilhando informaes com seus colegas.

Vamos Revisar?
Novas aplicaes trazem desafios de estruturao de dados nos diversos nveis de memria, especificao de consultas e manipulaes complexas, sobre conjuntos de dados cada vez maiores. Por isso, surgiu a necessidade de especificar e utilizar novos tipos de bancos de dados, chamados especficos. Entre esses, descrevemos nesse captulo os bancos de dados geogrficos, temporais, datawarehouses, biolgicos, mveis, multimdia e os banco de dados XML. A ideia foi lhe dar uma viso geral do que existe e lhe abrir a viso para novos rumos para pesquisa, se voc for um interessando na rea de BD.

55

Banco de Dados

Consideraes Finais
Ol, cursista! Esperamos que voc tenha aproveitado este primeiro mdulo da disciplina Banco de Dados. No prximo mdulo, estudaremos como fazer a modelagem dos dados a fim de que eles possam ser armazenados em um banco de dados. Voc vai perceber a importncia de fazer essa modelagem e conhecer os diversos tipos de modelos e esquemas existentes. Eu diria que esse um dos assuntos mais importantes da disciplina, porque uma vez que a modelagem seja feita de forma errada, o banco de dados ser criado de maneira errada e, consequentemente, voc no conseguir obter dele as informaes que gostaria. Nesse sentido, o final deste mdulo j uma motivao para que voc fique curioso(a) para as prximas reflexes sobre como criar um banco de dados. Aguardamos sua participao no prximo mdulo. At l e bons estudos! Sandra de Albuquerque Siebra Professora Autora

56

Banco de Dados

Referncias
SILBERSCHATZ, Abraham; KORTH, Henry F;SUDARSHAN, S. Sistema de banco de dados. Traduzido por Daniel Vieira. Rio de Janeiro: Elsevier;Campus, 2006. HEUSER, Carlos Alberto. Projeto de Bancos de Dados. 4 ed. Porto Alegre: Sagra Luzzatto, 2001. ELMASRI, Ramez;NAVATHE, Shamkant B. Sistemas de banco de dados. Traduzido por: Marilia Guimares Pinheiro et al. 4a. ed. So Paulo: Pearson Education do Brasil, 2005. DATE, C. J. Introduo a sistemas de bancos de dados. Rio de Janeiro: Campus, 2000. BATINI, C.; CERI, S.; NAVATHE, S. B. Conceptual database design: an entityrelationship approach. San Francisco : Benjamim Cummings, 1992. COUGO, Paulo Srgio. Modelagem Conceitual e Projeto de Banco de Dados. Elsevier Editora, 1997. DATE, C. J. Banco de dados: tpicos avanados. Rio de Janeiro : Campus, 1988. DATE, C. J. Introduo a Sistemas de Banco de Dados. Elsevier Editora, 2004. ELMASRI, R. & NAVATHE, S. B. Sistemas de Banco de Dados. 4. ed., PearsonAddison-Wesley, 2005. HEUSER, Carlos Alberto. Projeto de Banco de Dados. 3. Edio., Porto Alegre: SagraLuzzatto, 2004. KORTH, H. F.; SILBERSCHATZ, A.; SUDARSHAN, S. Sistema de Banco de Dados. Elsevier Editora, 2006. LAENDER, A. H. F. ; CASANOVA, M. A. ; TUCHERMAN, L. . On the Design and Maintenance of Optimized Relational Representations of Entity-Relationship Schemas. Data & Knowledge Engineering, Amsterdam, v. 11, n. 1, p. 1-20, 1993 Revista SQL Magazine - http://www.sqlmagazine.com.br SETZER, V. W. Banco de dados. 3.ed. So Paulo : Revista Edgard Blucher, 1989.

57

Banco de Dados

Conhea a Autora
Sandra de Albuquerque Siebra
Doutora em Cincia da Computao, pelo Centro de Informtica da UFPE onde trabalhou com Ambientes Virtuais de Aprendizagem e Ambientes Colaborativos em Geral. Ensinou na Faculdade Integrada do Recife (FIR) e na Universidade Catlica de Pernambuco (UNICAP), alm de ter trabalhado como gerente de projetos no Centro de Estudos e Sistemas Avanados do Recife (CESAR). Atualmente, professora da Universidade Federal Rural de Pernambuco (UFRPE). Atua na equipe de Educao a Distncia da UFRPE e no Departamento de Estatstica e Informtica (DEINFO), como professora autora de materiais didticos para cursos a distncia, j tendo tambm atuado como coordenadora de curso e professora executora de disciplinas. Tem experincia, trabalhos desenvolvidos e artigos publicados nas reas de Educao a Distncia, Interfaces Homem- Mquina, Sistemas Colaborativos, Banco de Dados, Anlise e Projeto de Sistemas Orientados a Objetos, Sistemas de Informao e Engenharia de Software. Atualmente, desenvolve pesquisas sobre contextualizao de interaes em ambientes virtuais de aprendizagem e trabalho cooperativo.

58

Você também pode gostar