Beruflich Dokumente
Kultur Dokumente
Banco de Dados
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.
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
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
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.
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.
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?
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)
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.
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.
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).
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
Que tal? Ficou mais claro? Espero que sim! Vamos detalhar agora os SGBDs...
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.
Saiba Mais
2 Comandos DML (Data Manipulation Language) incluem comandos para inserir, atualizar, consultar e excluir dados do banco de dados.
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
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.
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?
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 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
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.
26
Banco de Dados
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
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.
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).
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
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.
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.
30
Banco de Dados
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.
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.
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.
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.
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).
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.
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).
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.
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).
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.
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 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
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?
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.
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.
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.
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.
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
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.
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.
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.
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.
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 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