8127780 Colecao InfoBanco de Dados

download 8127780 Colecao InfoBanco de Dados

of 110

Transcript of 8127780 Colecao InfoBanco de Dados

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    1/110

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    2/110

    CONTEDO

    BANCO DE DADOS

    4 A aventura dos dados15 >Sabe o que tupla?24 >Planeje bem

    o seu banco31 >O banco fala SQLqus

    TESTES34 >Um SQL Server

    fcil de usar36 >Oracle em verso light38 >DB2 grtis com

    tudo dentro

    42 >O MySQL ganha msculos47 >Misso crtica para Postgre

    50 >Firebird poupaa mquina

    54 >O Access entraem reforma

    57 >Administrao tudo

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    3/110

    CONTEDO

    C OL E O I N FO> 5

    EQUIPEEDIOLucia ReggianiEDITORA DE ARTEIara SpinaCAPACrystian Cruz (arte) e Cellus (ilustrao)COLABORADORESCarlos Chernij,Fred Carbonare, Helio Silva, NivaldoForesti (texto) e Rita Del Monaco (reviso)

    108 Certificao: laboratriopara especialistas

    89 Tutorial: dados Exif dasfotos para o SQL Express

    42 Teste: o MySQL 5.0vem reforado

    TUTORIAIS62 >Tabelas sem mistrio71 >Relatrio feito com views75 >Crie pesquisas com

    critrios

    78 >O phpMyAdmindoma o MySQL83 >Atualizao com o Ajax86 >Pesquise bem no Access89 >O Exif vai para o banco97 >E-mail falso no entra100 >O Rails faz mais rpido

    105 >Controle os seus livrosCERTIFICAES108 >Especialistas em dados109 >Todo mundo

    quer um OCP111 >Domine o DB2 em

    seis etapas

    113 >Craques em SQL Server

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    4/110

    Fundador: VICTOR CIVITA(1907-1990)

    Diretora de Redao:Sandra CarvalhoRedatora-chefe:Dbora FortesDiretor de Arte:Crystian Cruz

    Editores Seniores: Carlos Machado, Lucia Reggiani e Maurcio GregoEditores:Airton Lopes,Andr Cardozo e Eric Costa

    Reprter:Silvia BalieiroEstagirios:Danilo Gregrio e Paulo de AlencarRevisora:Marta MagnaniEditor de Arte:Jefferson BarbatoDesigners:Catia Herreiro e Wagner Rodrigues

    Colaborador:Dagomir MarqueziInfolab:Osmar Lazarini (consultor de sistemas)Colaborador:Eduardo KalnaitisEstagirios:Bruno Roberti,Celso Rodrigues e Valdir Fumene JuniorInfo Online:Cristian Medeiros e Renata Verdasca (webmasteres)

    Atendimento ao leitor:Virglio Sousawww.info.abril.com.br

    Apoio Editorial:Beatriz de Cssia Mendes,Carlos GrassettiServios Editoriais:Wagner BarreiraDepto. de Documentao e Abril Press:Grace de SouzaCorrespodente Internacional:Ruth de Aquino

    PUBLICIDADE CENTRALIZADADiretores:Mariane Ortiz, Sandra Sampaio,Srgio R.Amaral

    Executivos de Negcio:Eliane Pinho, Letcia Di Lallo, Maria Luiza Marot, Marcelo Cavalheiro, Marcelo Dria,Nilo Bastos, Pedro Bonaldi, Robson Monte, Rodrigo Toledo, Sueli Cozza,Vlamir Aderaldo,Wlamir Lino

    Publicidade RegionalDiretor Jacques Baisi RicardoPublicidade Rio de Janeiro:Diretor Paulo Renato SimesGerente de Publicidade ncleo Tecnologia:Marcos Peregrina GomezExecutivos de Negcio:Andria Balsi,

    Emiliano Hansenn, Marcello Almeida e Renata MioliMARKETING E CIRCULAO:

    Gerente de Produto:Ricardo Fernandes,Coordenadora de eventos:Carol Fioresi,Estgiario de marketing:Maurcio Simes RodriguesGerente de Circulao Avulsas:Maria Helena CoutoGerente de Circulao Assinaturas:Euvaldo Nadir Lima Junior

    Planejamento, Controle e Operaes: Diretor:Auro IasiGerente:Fbio Luis dos SantosAnalista:Tales BombiciniProcessos:Ricardo Carvalho

    ASSINATURAS:Diretora de Operaes de Atendimento ao Consumidor:Ana DvalosDiretor de Vendas:Fernando Costa

    Editor: Roberto CivitaConselho Editorial: Roberto Civita (Presidente), Thomaz Souto Corra (Vice-Presidente),

    Jose Roberto Guzzo, Maurizio Mauro

    Presidente Executivo: Maurizio Mauro

    Diretor Secretrio Editorial e de Relaes Institucionais: Sidnei BasileVice-Presidente Comercial: Deborah Wright

    Diretora de Publicidade Corporativa: Thais Chede Soares B. Barreto

    Diretor-Geral:Jairo Mendes LealDiretor de Ncleo:Alexandre Caldini

    INTERNATIONAL ADVERTISING SALES REPRESENTATIVES Coordinator for International Advertising:Global Advertising, Inc.,218 Olive Hill Lane,Woodside,California 94062.UNITED STATES:CMP Worldwide Media Networks,2800 Campus Drive,San Mateo,California 94403,tel. (650) 513 4200,fax (650) 513 4482. EUROPE:HZI International,Africa House,64-78 Kingsway,London WC2B 6AH,tel. (20) 7242-6346,fax (20) 7404-4376. JAPAN:IMI Corporation,Matsuoka Bldg.303, 18-25,Naka1- chome, Kunitachi,Tokyo 186-0004,tel. (03) 3225-6866, fax (03) 3225-6877. TAIWAN: Lewis Intl Media Services Co. Ltd., Floor 11-14 no 46, Sec 2, Tun Hua SouthRoad,Taipei, tel. (02) 707-5519, fax (02) 709-8348

    COLEO BANCO DE DADOS,edio 27, uma publicao da Editora Abril S.A. Distribuda em todo o pas pela Dinap S.A.Distribuidora Nacional de Publicaes, So Paulo.

    Presidente do Conselho de Administrao: Roberto CivitaPresidente Executivo: Maurizio Mauro

    Vice-Presidentes: Deborah Wright, Eliane Lustosa, Marcio Ogliara, Valter Pasquiniwww.abril.com.br

    IMPRESSA NA DIVISO GRFICA DA EDITORA ABRIL S.A.Av. Otaviano Alves de Lima, 4400, CEP 02909-900 - Freguesia do - So Paulo - SP

    Publicaes da Editora Abril: Veja:Veja, Veja So Paulo, Veja Rio, Vejas RegionaisNegcios:Exame, Voc S/AA Consumo/Comportamento: NcleoConsumo:Boa Forma, Elle, Estilo, ManequimNcleo Comportamento:Claudia, NovaNcleo Bem-Estar:: Bons Fluidos, Sade!, Vida SimplesTurismo/Tecnologia: Ncleo Turismo:Guias Quatro Rodas, National Geographic, Viagem e TurismoNcleo Homem:: Placar, Playboy, Quatro Rodas, VipNcleo Tecnologia:Info,Info Canal, Info CorporateCultura/Jovem: Ncleo Jovem:Bizz, Capricho, Flashback, Mundo Estranho, Superinteressante, SupersurfNcleo Infantil:Atividades, Disney, RecreioNcleo Cultura:: Almanaque Abril, Guia do Estudante, Aventuras na Histria, Revista das ReligiesCasa/Semanais: Ncleo Casa e Construo:Arquitetura e Construo, Casa Claudia, Claudia CozinhaNcleo Celebridades:Contigo! NcleoSemanais:Ana Maria, Faa e Venda,Minha Novela,Tititi,Viva! MaisFundao Victor Civita:Nova Escola

    Publicidade So Paulowww.publiabril.com.br,Classificados tel.0800-7012066,Grande So Paulo tel. 3037-2700ESCRITRIOS E REPRESENTANTES DE PUBLI-CIDADE NO BRASIL:Central-SP tel.(11) 3037-6564 Bauru GnottosMdia Representaes Comerciais, tel. (14) 3227-0378,e-mail: [email protected] Propaganda e Representaes Ltda, tel (91) 3272-8195,e-mail: [email protected] Horizontetel. (31) 3282-0630,fax (31) 3282-0632BlumenauM.Marchi Representaes,tel. (47) 3329-3820,fax (47) 3329-6191BrasliaEscritrio:tels. (61) 3315-7554/55/56/57,fax (61) 3315-7558;Representante:Carvalhaw Marketing Ltda.,tels (61) 3426-7342/ 3223-0736/ 3225-2946/ 3223-7778, fax (61) 3321-1943,e-mail: [email protected] Press Com. eRepresentaes, telefax (19) 3233-7175, e-mail: [email protected] GrandeJosimar Promoes Artsticas Ltda.tel. (67) 3382-2139 e-mail: [email protected] Fnix Propaganda Ltda., tels. (65) 9235-7446/9602-3419, e-mail: [email protected] Escritrio: tel. (41) 3250-8000/8030/8040/8050/8080, fax (41) 3252-7110; Representante:Via Mdia Projetos Editoriais Mkt. e Repres. Ltda., telefax (41) 3234-1224,e-mail: [email protected] Publicidade Ltda. tel.(48) 3232-1617, fax (48) 3232-1782,e-mail:[email protected] Repres.e Negoc.em Meios de Comunicao,telefax (85) 3264-3939,e-mail: [email protected] West Representaes Ltda., tels.(62) 3215-5158,fax (62) 3215-9007,e-mail: [email protected] Joinville Via Mdia Projetos Editoriais Mkt.e Repres. Ltda., telefax (47) 3433-2725, e-mail:[email protected] Comunicaes, telefax (92) 3656-7588,e-mail: [email protected] de Comunicao e Representao,tele-fax (44) 3028-6969,e-mail:[email protected] AlegreEscritrio:tel. (51) 3327-2850,fax (51) 3227-2855;Representante:Print Sul Veculos de ComunicaoLtda., telefax (51) 3328-1344/3823/4954, e-mail: [email protected] ;Multimeios Representaes Comerciais, tel.(51) 3328-1271, e-mail:[email protected]

    RecifeMultiRevistas Publicidade Ltda.,telefax (81) 3327-1597,e-mail:[email protected] Pretotel.(16) 3964-5516,fax (16) 632-0660,e-mail:[email protected] de Janeiropabx:(21) 2546-8282,fax (21) 2546-8253SalvadorAGMN Consultoria Public.e Representao, tel.(71) 3341-4992/1765/9824/9827,fax: (71) 3341-4996, e-mail:[email protected] - Zambra Marketing Representaes, tel. (27) 3315-6952,e-mail:[email protected]

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    5/110

    RECADO DA REDAO

    D-LHEINFORMAO!universo do software grande e abriga mundos

    muito peculiares, comoo dos bancos de dados.

    De obscuros repositrios dos main-frames, esses programas passarama estrelas de todo porte, organizan-do a exploso de informaes gera-das pela vida digital de pessoas eempresas. Neles, tabelas so maisque colunas e linhas, os dados seagrupam em entidades e se relacio-nam abertamente, transacionam,disparam gatilhos e administram res-tries. Nesse mundinho, o e/ANDno soma, diminui. E quem no sabedessa e outras pegadinhas lgicas,

    perde tempo fazendo besteira. aqui que se encaixa este especial.Aos novatos, contamos a histriagloriosa dos bancos de dados e des-trinchamos seus conceitos. De ban-deja, vai um roteiro para escolher osistema gerenciador, planejar e exe-cutar o banco da melhor forma pos-

    svel. Testamos as novssimas ver-ses gratuitas dos poderosos Oracle,

    DB2 e SQL Server 2005, dos livresMySQL, PostgreSQL e Firebird e dobeta repaginado do Access 12. Entre-gamos o jeito profissional de mon-tar tabelas e consultas, os segredosdas interfaces de administrao euma poro de tutoriais com osvariados bancos. Voc vai sabercomo extrair as informaes Exif dasfotos digitais para o banco, criar rela-trios com views, controlar os livrosemprestados, cadastrar e-mails vli-dos e muito mais. E se a animaochegar ao ponto de devotar a carrei-ra administrao dos bancos de

    dados, esto aquios caminhos paraas especializaesmais valorizadasda rea. Aproveite.

    LUCIA REGGIANIEDITORA DE BANCODE DADOS

    O

    INFO COLEOUma publicao mensal da Editora AbrilPara contatar a redao:[email protected] assinar a Coleo:(11) 3347.2121 Grande So Paulo0800-701-2828 Demais [email protected]

    C OL E O I N FO>7

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    6/110

    A AVENTURADOS DADOSDO MAINFRAME INTERNET, OS BANCOS

    DE DADOS TM MUITO PARA CONTARPOR TAGIL OLIVEIRA RAMOS

    HISTRIA

    8 < C OL E O I NF O

    rmazenar informaesorganizadas e recupe-r-las sem faltar peda-o sempre que neces-

    srio. Dita assim, a misso dos ban-

    cos de dados parece simples, trivial.No deixa de ser verdade para astecnologias atuais, que disfaram acomplexidade do processamento e

    do gerenciamento de dados com in-

    A

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    7/110

    HISTRIA

    C OL E O I NF O> 9

    terfaces grficas e assistentes. Mas,no princpio, lidar com bases de da-dos era coisa cabeluda, encaradapor mainframes.

    A histria dos modernos bancosde dados comea na dcada de 60,quando os computadores amplia-ram a capacidade de armazenamen-to e se transformaram em possibi-lidade real para as empresas. Nohavia ainda o conceito elaboradode banco de dados o armazena-mento de informao digital basea-va-se em modelos de organizao

    do mundo fsico. No incio, dois mo-

    delos de bancos de dados foram de-senvolvidos: o de rede (Codasyl) e

    o hierrquico (IMS). O acesso ba-se de dados era complicadssimo, eos detalhes do armazenamento de-pendiam do tipo de dado a ser ar-quivado. Acrescentar um campo ex-tra base requeria, muitas vezes,reescrever todo o esquema que sus-tentava a aplicao. A nfase, nes-se caso, estava nos registros a se-rem processados, e no na estrutu-ra do sistema. Para fazer qualquermodificao, um usurio precisariaconhecer a estrutura fsica da basede dados. Sistemas comerciais bem-sucedidos, como o Sabre, da IBM eda American Airlines, utilizaram pormuitos anos esse tipo de modelo.

    O MODELO DE CODDNo incio dos anos 70, as coisas co-meam a mudar. O pesquisador daIBM Edgar Frank Codd (1923-2003)

    prope o modelo relacional para abase de dados. Mais do que isso, eleintroduz uma nova maneira de pen-sar a informao digital a ser gra-vada, recuperada e gerenciada, es-tabelecendo um jeito mais compu-tacional de tratar o relacionamen-to entre os dados. Esse sistema vi-rou padro e usado at hoje.O modelo abstrato de Codd a pri-meira abordagem completa parauma base de dados, o resgate dasinformaes, manipulao, integri-dade lgica, visualizao, atualiza-o e gerenciamento. Foi concebi-

    do para armazenar registros de da-

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    8/110

    HISTRIA

    10 < C OL E O I NF O

    dos com estruturas relati-vamente simples e proces-

    sar transaes simples.A idia comeou a ser

    desenvolvida por Codd du-rante seu doutorado naUniversidade de Michigan.Em sua tese, ele apresen-tava uma espcie de au-to-reproduo feita emprogramas de computa-dores. O trabalho foi publicado em1967 no livro Cellular Automata, pu-blicado pela Academic Press. A idiaera to avanada que levou uma d-cada para ser digerida.

    Pelo menos dois prottipos prin-cipais de sistemas relacionais foramdesenvolvidos entre 1974 e 1977,mostrando aplicaes prticas doque s existia na teoria.

    Um dos prottipos era o Ingres,desenvolvido na UniversidadeBerkeley, que seria seguido pela In-

    gres Corporation, Sybase, MS SQLServer e Britton-Lee, dentre outras.

    Esse tipo de sistema usaQUEL como linguagem de

    pesquisa das bases de da-dos. O segundo prottipo,conhecido como SystemR, foi desenvolvido pelaIBM em San Jose, Califr-nia, e levou ao SQL/DS &DB2, da prpria empresa,seguido por Oracle e HP.Nesse sistema, utiliza-

    da a SEQUEL como linguagem depesquisa de dados. Originalmente,as aplicaes foram desenvolvidaspara os enormes mainframes.

    AS DOZE REGRASO termo relao era usado porCodd de maneira estritamente ma-temtica, dentro de uma tabela comlinhas e colunas que trabalhavamcom propriedades especiais. Embo-ra isso parea bvio atualmente, noera nada elementar nos anos 70.

    Tanto que Codd sentiu a necessida-de de estabelecer as 12 regras deuma base de dadosrelacional, uma re-ceita para extrair domodelo algo quefuncionasse mesmo.Isso aconteceu em1974 e foi expandidoao longo das dca-das. Em 1990, a listacresceu para 333 re-querimentos.

    Vistas com osolhos de hoje, as 12

    leis parecem brinca-Mapa de relacionamento: a teoria de Codd na prtica

    Edgar Codd: pai domodelo relacional

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    9/110

    HISTRIA

    C OL E O I NF O> 11

    deira. A primeira de-las, conhecida como

    Lei da Informao,dizia simplesmenteque todo dado deveser apresentado aousurio na forma detabela. A segunda, ouRegra do Acesso Ga-rantido, exige quetodo dado seja aces-svel sem ambigidade e aconselhaque cada informao seja descritapor uma combinao de nome databela, chave primria e o nome docampo. E assim por diante.

    O mesmo Codd cunharia o nomeOLAP (On-Line Analytical Proces-sing) para descrever uma ampla ca-tegoria de produtos de software quetinham as caractersticas de acessoaos dados propostas por ele. As 12Regras de seu padro foram adota-das pela indstria de TI, forando

    muitas empresas a revisar seus pro-dutos para melhor se adequar aoscritrios OLAP de Codd.

    Em 1976, outro avano viria das pes-quisas de Peter P. Chen. Ele prope omodelo Entidade-Relacio-namento (ER) para o designde banco de dados, dandoum importante passo paraa modelagem de alto nvele permitindo ao desenvol-vedor concentrar-se maisno uso das informaes doque propriamente na estru-tura lgica que h por trs

    da tabela.

    SURGE O DBASEA evoluo natural dos bancos dedados passaria pelo estabelecimen-to de um padro no-terico: o dBa-se, ao ser lanado no final dos anos70, tornou-se uma referncia. Suaorigem encontra-se em meados dosanos 60. Seu antecessor era um sis-tema chamado Retrieve, vendido pe-la Tymshare Corporation. Naquelapoca, os computadores s eramencontrados em grandes gabinetes,no ambiente do trabalho.

    O Retrieve era usado no Jet Pro-pulsion Laboratory (JPL), em Pasa-dena, na Califrnia. Nos anos 60,Jeb Long, um programador desselaboratrio, recebeu a tarefa de es-

    crever um programa quedesempenhasse as mes-mas funes que o Retrie-ve. Em 1973, ele se tornouengenheiro de softwaredo JPL. Ali ele desenvol-veu um programa de ge-renciamento de arquivoschamado JPLDIS (Jet Pro-pulsion Laboratory Dis-

    play Information System),

    dBase III: padro de banco de dados para PCs nos anos 80

    Peter Chen: novomodelo de design

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    10/110

    HISTRIA

    12 < C OL E O I NF O

    escrito na linguagem For-tran para rodar num main-

    frame Univac 1108.O JPLDIS foi, assim, a

    me da linguagem dBase,que passou a rodar em mi-crocomputadores com osistema CP/M. Criada porum jovem programadordo JPL, Wayne Ratliff, seugrande sucesso baseava-se na simplicidade. Os co-mandos seguiam a lgica das pala-vras inglesas: use, find, list etc. NodBase, Ratliff partia de uma idiatambm simples: desenvolver umprograma de banco de dados paradesktop baseado naquele que roda-va nos mainframes de seu trabalho.Fez tudo isso num computador mon-tado em sua casa.

    Foi um grande progresso para apoca. No somente o programacriava tabelas e guardava dados,

    mas tinha a capacidade de criar pro-gramas ASCII (como arquivos batchdo DOS), que podiam ento exibire imprimir as informaes requisi-tadas. Ratliff batizou seu softwarede Vulcan (em homenagem ao Sr.

    Spock, do filme Jornadanas Estrelas) e comeou

    a vend-lo por reembol-so postal.

    Mais tarde, Long asso-ciou-se a Ratliff e traduziuaquela verso original dodBase II para rodar no IBMPC. Todo o trabalho foi fei-to em linguagem As-sembly. Jeb Long foi umdos fundadores da empre-

    sa Ashton-Tate, ficou conhecido comum dos gurus do dBase e como res-ponsvel tambm pelas versesdBase III e dBase IV.

    AS LINGUAGENSEm 1984 surgiu o Clipper, linguagemde programao compatvel com odBase III Plus, com desempenho de-zenas de vezes mais rpido que odBase original. At meados da d-cada de 90, o Clipper era o lder do

    mercado de linguagens de desen-volvimento para micros. A partir da,as linguagens visuais, criadas pararodar no ambiente Windows,comeam a ganhar terreno.

    Quando os bancos de dados rela-cionais estavam sen-do desenvolvidos, fo-ram criadas lingua-gens destinadas suamanipulao. O de-partamento de pes-quisa da IBM desen-volveu a linguagemSQL (Structured

    Query Language) nosFoxPro para DOS: gerenciador baseado em dBase

    Wayne Ratliff:criador do Vulcan

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    11/110

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    12/110

    HISTRIA

    14 < C OL E O I NF O

    produtos fundamentados nas tec-nologias ASP e, mais recentemen-te, .Net, da Microsoft. No item es-pecfico dos gerenciadores de ban-cos de dados, os grandes nomes soIBM, Oracle e Microsoft. Com a ex-panso da conectividade, os ban-cos de dados estendem as possibi-lidades de acesso at aos PDAs.

    AOS TERABYTESMas as tendncias apontam parasistemas de alto nvel de armaze-namento (da ordem de terabytes)que exigem rapidez e confiabili-dade de processamento, manuseioe anlise dos dados. Projetos gran-diosos, como o Genoma, apontampara esse tipo de demanda. Aomesmo tempo, bases de dadosgeolgicos, meteorolgicos e es-paciais requerem mais velocida-de e segurana. Tambm se tor-nam comuns as aplicaes empre-

    sariais de data mining, data ware-house e data marts. Esses usos do

    banco de dados exigem gerencia-dores capazes de dar respostas r-

    pidas s empresas.Nessa rea, a Oracle se destaca

    como o maior fornecedor de ban-cos de dados corporativos. Desde1985, o produto passou a tirar pro-veito da disseminao das redes lo-cais, dando suporte ao modelo clien-te-servidor. O Oracle 5, dessa po-ca, suportava consultas distribu-das. Em 1988, surgiu a verso 8, comsuporte ao desenvolvimento orien-tado a objeto e aplicaes multim-dia. Em 1999, sai a verso 8i i deinternet. O nmero atual 10g, sen-do o g indicativo da capacidade de

    funcionar num grid de servidores.O Oracle tambm foi o primeiro ban-co de dados comercial a ofereceruma verso para Linux.

    Finalmente, deve-se prestarateno ao crescimento das plata-formas de cdigo aberto, notada-mente o Linux. Junto com ele, des-pontam bancos de dados como o

    MySQL, utilizado emaplicaes web. Es-sa mudana em di-reo ao software li-vre pode redefinir operfil do mercado

    de banco de dados,em especial na fai-xa das aplicaesmdias e pequenas,a curto prazo, masabarcando as gran-des aplicaes, a

    longo prazo.Oracle 10g: gerenciador de bancos de dados para clusters

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    13/110

    SABE O QUE TUPLA?ENTENDA OS CONCEITOS QUE FAZEM DO BANCO DE DADOS

    UM MUNDO PARTE NO UNIVERSO DO SOFTWAREPOR CELSO HENRIQUE PODEROSO DE OLIVEIRA

    CONCEITOS

    C OL E O I NF O> 15

    odo mundo que usa te-lefone possui uma agen-da. Nela, cada amigotem nome, endereo,

    nmero da linha, data de anivers-rio e e-mail, cada dado anotado numespao especial. Quando precisa-

    mos ligar para algum contato, va-mos letra inicial do nome e bus-camos o nmero do telefone. Essaagendinha quase banal expressa

    bem o que um banco de dados um armazm de informaes rele-vantes, organizadas de maneira coe-rente e lgica, que precisam ser re-cuperadas com freqncia.

    No universo dos bits e bytes, obanco de dados envolve conceitos

    importantes, que precisamos enten-der bem para torn-lo til e eficien-te. disso que trataremos aqui, co-meando pelo prprio.

    T

    Sistema gerenciador: coleo de programas que mantm as estruturas do banco

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    14/110

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    15/110

    CONCEITOS

    C OL E O I NF O> 17

    ta fiscal, pedido de compra, ordemde servio), um local (armazm, se-de, filial) ou qualquer outro objeto domundo real. Cada entidade deve pos-suir diversas instncias do objeto querepresenta. Vamos exemplificar comos automveis. A entidade o gru-po carro. A instncia o objeto Hon-da Civic, Peugeot 206, VW Gol.

    Quando se transpe a entidade pa-ra um modelo fsico, tem-se a tabe-la (no modelo relacional) ou a classe(no modelo orientado a objeto). Umaentidade representada por um re-tngulo com o respectivo nome.

    ATRIBUTO

    Qualificador lgico de um objeto, ser-ve para descrever ou caracterizar os

    elementos de uma entidade. Cada atri-buto deve conter apenas uma carac-terstica do objeto. Esse ponto im-portante para no confundirmos atri-buto com entidade.

    Um objeto deve ter algumas carac-tersticas especficas. Cada uma delasser um atributo do objeto. O inver-so tambm verdadeiro: um atribu-to no pode ter subdivises. Se utili-zar o exemplo da entidade carro, po-demos ter atributos como nome, mon-tadora, modelo etc.

    Quando se transpe para o mode-lo fsico, os atributos se transformam

    em colunas ou campos no modelo re-

    lacional e em atributos ou proprieda-des no modelo orientado a objetos.

    Os atributos so colocados dentro doretngulo que representa a entidadee abaixo do nome da prpria.

    TUPLA

    Nada mais do que o conjunto de ca-ractersticas do objeto que se quer re-presentar, a estrutura de atributos re-lacionados e interdependentes. A tu-pla seria a linha ou o registro de umatabela no modelo relacional e a ins-tncia no modelo orientado a objetos.

    TABELA

    Estrutura composta por linhas e co-lunas que serve para armazenar osdados em um banco de dados rela-cional. A linha indica uma ocorrn-cia do objeto do mundo real, e a co-luna serve para qualificar o objeto.Dessa forma, se imaginarmos umatabela PESSOA, ela teria em cada li-

    nha uma pessoa e em cada colunaas informaes relevantes dessa pes-soa, como nome, peso, altura, datade nascimento, documento de iden-tificao, cor dos olhos, cor dos ca-

    Entidade: grupo de coisas semelhantes

    Tabela: estrutura com linhas e colunas

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    16/110

    CONCEITOS

    18 < C OL E O I NF O

    cal, por exemplo, o nmero da no-ta no se repete e obrigatrio. Por

    isso poder ser candidato para a co-luna chave. Uma chave geralmenteest destacada por um smbolo (as-terisco ou uma pequena chave) aolado do atributo correspondente.

    Quando se analisa o modelo fsi-co, uma chave pode ser classifica-da como:s PRIMRIA: qualificador nico eobrigatrio. Deve haver uma nicachave primria em cada tabela.s ESTRANGEIRA: serve para rela-cionar duas tabelas. Vamos voltarao exemplo da Nota Fiscal. Cada no-ta est relacionada a um cliente. No-ta Fiscal uma tabela e cliente ou-tra. Cada tabela tem a sua prpriachave primria. Para relacionar ocliente com a nota fiscal, deixamosuma referncia coluna chave docliente na tabela nota fiscal (chaveestrangeira).s SECUNDRIA classifica os dados

    nas tabelas. Geralmente, os ndicestm o objetivo de agilizar o proces-so de busca.

    RELACIONAMENTO

    Se uma entidade um conjunto decoisas semelhantes, natural queessas coisas guardem algum tipo

    de relacionamento que seja impor-tante recuperar em algum momen-to. Quando dizemos que uma notafiscal emitida contra um cliente,podemos entender que estamos tra-tando de duas entidades diferen-tes: Nota Fiscal e Cliente. H, entre

    Chaves: qualificadores das entidades

    belos etc. A idia central que as ca-ractersticas do objeto permitam iden-tificar uma nica pessoa em cada li-nha da tabela.

    CHAVE

    Um ou mais atributos que permi-tem identificar uma nica ocorrn-cia na entidade. um qualificadornico. No modelo fsico, a chave o campo ou a coluna que contmum valor exclusivo e com preenchi-mento obrigatrio. Assim, no po-der haver o mesmo contedo da

    coluna em duas linhas diferentes.Imagine uma chave para PESSOA.Nome seria uma boa coluna parachave? Naturalmente no, pois hpessoas que tm nomes iguais. CPFseria uma boa chave? Em alguns ca-sos sim, pois embora no tenha re-petio e seja um documento obri-

    gatrio para os adultos, no paraos bebs. O que normalmente acon-tece em casos como esse criar-mos uma coluna.

    Em alguns outros exemplos, a cha-ve seria localizada com mais facili-dade. Se analisarmos uma Nota Fis-

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    17/110

    CONCEITOS

    C OL E O I NF O> 19

    essas duas entidades, uma relaode interdependncia, ou seja, para

    se emitir uma Nota Fiscal, neces-srio que haja um Cliente. A essainterdependncia damos o nomede relacionamento. Na prtica, sem-pre que uma ou mais tuplas de umaentidade guardarem alguma rela-o com uma ou mais tuplas de ou-tra entidade teremos um relaciona-mento entre as entidades.

    Um relacionamento pode ser clas-sificado de duas formas: opcionali-dade e cardinalidade.

    A opcionalidade indica se obri-gatria ou no a ocorrncia ou in-dicao de uma tupla de uma en-

    tidade na outra. Dessa forma, po-demos dizer que obrigatria apresena de um Cliente em umaNota Fiscal, mas opcional a exis-tncia de uma Transportadora, porexemplo. De outro lado, o Clientepode ou no estar vinculado a umaNota Fiscal. O mesmo acontece coma Transportadora.

    A cardinalidade indica quantasocorrncias de uma tupla se rela-cionam com a outra tupla. Sabemosque cada Cliente pode estar vincu-lado a zero, uma ou muitas NotasFiscais, enquanto cada Nota Fiscal

    est relacionada a um nico Clien-te. Como voc pode notar, a cardi-nalidade e a opcionalidade so sem-pre expressas de um e de outro la-do do relacionamento.

    A cardinalidade pode ser:s UM PARA UM (1:1) : quando cadatupla de uma entidade est relacio-

    nada apenas a zero ou a uma tuplada outra entidade (lembre-se que ze-

    ro ou um a opcionalidade). Esse ti-po de relacionamento no o maiscomum, pois sempre se deve ques-tionar a vantagem de manter os da-dos separados em duas entidades.Note que sempre h um custo vincu-lado criao e manuteno de umatabela. Se o custo compensar, deve-se manter separado. Do contrrio, melhor unir as duas entidades.s UM PARA MUITOS (1:M): quan-do cada tupla de uma entidade es-t relacionada a zero, uma ou maistuplas da outra entidade (no es-quea que o zero ou um a opcio-

    nalidade). Este o relacionamentomais comum.s MUITOS PARA MUITOS (M:M):

    quando h ocorrncias de mltiplosrelacionamentos entre as tuplas deduas entidades. Esse relacionamen-to, apesar de existir, no passvelde implementao em um banco de

    Relacionamento: muitos para muitos(acima); um para muitos (abaixo)

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    18/110

    CONCEITOS

    20 < C OL E O I NF O

    dados relacional. Sempre que seidentificar essa situao, deve-se

    criar uma entidade entre as duasentidades, classificadas como fun-damentais. Essa nova entidade, clas-sificada como entidade associativa,deve conter, pelo menos, as chavesdas duas entidades fundamentais.

    Uma das formas de representaro relacionamento o p-de-gali-nha para indicar a cardinalidademuitos, um pequeno trao para in-dicar a cardinalidade um, o trace- jado para indicar opcionalidade e osegmento de reta contnuo para in-dicar obrigatoriedade. Uma outraforma indicar a opcionalidade comum pequeno crculo antes do umou muitos da cardinalidade. Lem-bre-se: so apenas convenes. Oimportante que o relacionamen-to esteja claro e esteja representa-do no modelo de dados.

    INTEGRIDADE REFERENCIALMecanismo utilizado pelos gerencia-dores de bancos de dados para man-ter a consistncia das informaesarmazenadas. Suponha que estamoscadastrando uma Nota Fiscal e indi-camos um cdigo de cliente (que re-laciona com a tabela Cliente) inexis-tente. Outra situao tentar excluirum Cliente que tenha diversas No-tas Fiscais emitidas. Como iramosrecuperar a informao, caso o ban-co de dados permitisse a exclusodo Cliente? Simplesmente perdera-mos o elo entre as tabelas, e a infor-

    mao armazenada estaria invlida.

    A principal forma de garantir aintegridade entre tabelas se d por

    meio do vnculo entre a chave pri-mria de uma tabela com a chaveestrangeira da outra tabela. As co-lunas das duas tabelas armazenamas informaes que permitem es-tabelecer o relacionamento entreas linhas das tabelas. Assim, o c-digo de cliente 1 da tabela Clien-te, cujo nome Joo, ser arma-zenado na coluna cdigo do clien-te da tabela Nota Fiscal sempreque se quiser indicar que o Joocomprou determinados produtos.No ser possvel excluir Joo (c-digo do cliente 1) enquanto hou-ver Notas Fiscais emitidas contraesse cliente.

    RESTRIESUtilizam-se as restries (constraints)para melhorar a qualidade da infor-mao guardada nas tabelas do ban-

    co. As restries mais comuns soa chave primria e a estrangeira.Mas h outras restries bastanteimportantes:s NULOS: uma coluna que no te-nha valor inicializado considera-da uma coluna nula. Nem sempre adequado permitir que uma co-luna no tenha valores atribudos.Imagine uma linha na tabela Clien-te cujo nome seja nulo. Como po-demos identificar o cliente?s EXCLUSIVOS: suponha que se te-nha criado uma tabela Cliente cujocdigo do cliente no seja um do-

    cumento, como CPF ou RG. Mesmo

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    19/110

    CONCEITOS

    C OL E O I NF O> 21

    no sendo uma coluna chave, es-ses valores no podem ser duplica-dos em clientes (linhas) diferentes.

    Para isso definimos que sejam ad-mitidos somente valores exclusivos.O que a difere de uma chave pri-mria que esta ltima no podeassumir valores nulos.s PADRO: muito comum que,quando um valor no informado,o sistema assuma um valor-padropara a coluna (como data de emis-so de uma Nota Fiscal ou quanti-dade de um determinado produtoem uma Nota Fiscal).s DOMNIO: as vezes necessriodeterminar um intervalo de valorespossveis para uma determinada co-

    luna. o caso do sexo, por exem-

    Restries: melhoram a qualidade da informao armazenada nas tabelas do banco

    plo, que pode assumir apenas osvalores Masculino ou Feminino.

    TRANSAOOcorre sempre que houver uma mo-dificao no contedo das tabelasde um banco de dados. Dessa for-ma, uma incluso, alterao ou ex-cluso geram uma transao. Emgerenciadores de banco de dados,o controle sobre o momento da efe-tiva gravao (COMMIT) dos dadosou abandono da operao (ROLL-BACK) realizado pelo usurio dobanco de dados ou pelo sistema. Atransao representa um conjuntode operaes que so realizados nabase de dados para produzir um re-

    sultado final.

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    20/110

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    21/110

    CONCEITOS

    C OL E O I NF O> 23

    Procedimentos armazenados: cdigos que ficam armazenados para usar depois

    para o novo grupo. Caso no hajaum bom atributo para ser a chave,

    deve-se cri-lo. isso que foi feitocom o Cliente e Produto.s 3 - FORMA NORMAL (3FN): depoisque os grupos de dados estiverem na2- Forma Normal (e jamais antes dis-so), localizam-se atributos com de-pendncia transitiva. Calma! No to complicado. Dependncia transi-tiva ocorre quando um dado pode serobtido por meio de outro, exceto achave. Isso porque os atributos de-pendem da chave. At que voc sehabitue, tente localizar campos quepossam ser substitudos por frmu-las matemticas. No exemplo, temoso atributo Valor Total no Item da No-ta e o Valor Total da Nota Fiscal. Es-ses atributos devem ser excludos,pois podem ser obtidos por meio deum clculo realizado com outros atri-butos. Com os dados normalizados, possvel criar as tabelas.

    PROCEDIMENTOSARMAZENADOS

    So pequenos cdigos executadosem um banco de dados que ficamguardados para posterior utiliza-o. Podem ser stored procedures(procedimentos armazenados),stored functions (funes armaze-nadas), trigger (gatilho) e package(pacote). Um procedimento umconjunto de comandos dentro deuma estrutura lgica, com o obje-tivo de realizar uma ao no ban-co de dados. A diferena entre pro-cedimento e funo que esta l-tima retorna valor.

    Gatilhos so procedimentos dispa-rados por eventos do banco de da-dos (incluso, alterao ou excluso).Por fim, um pacote um conjunto defunes, procedimentos e outras es-truturas que so armazenados emconjunto para facilitar a manutenoe a segurana da informao.

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    22/110

    PLANEJE BEM OSEU BANCOSIGA O ROTEIRO PARA CRIAR UM BANCO DE DADOS QUE

    ACOMPANHE AS TRANSFORMAES DA EMPRESAPOR CELSO HENRIQUE PODEROSO DE OLIVEIRA

    CRIAO

    24 < C OL E O I NF O

    criao de um banco dedados um processoque envolve uma sriede competncias. Hou-

    ve tempo em que esse processo es-tava reduzido a identificar um oumais objetos, escolher uma formade armazenamento, algumas carac-tersticas desses objetos e pronto.Geralmente, a prpria estrutura dobanco de dados era vinculada lin-guagem de programao.

    Com o passar do tempo, a tecno-logia evoluiu e foi separada das lin-

    guagens de programao. Ambien-tes completos de administrao fo-ram desenvolvidos e sua utilizaocontribuiu para disseminar as in-formaes de maneira adequada econsistente.

    Atualmente, os produtos estomuito mais complexos e permitemao profissional realizar um trabalhoque pode contribuir para a melhorutilizao da informao. De simpleslocal de armazenamento, o banco dedados evoluiu para um verdadeirorepositrio de informaes das em-presas. o ambiente adequado pa-

    ra armazenar e recuperar dados ope-

    racionais, alm de dar suporte to-mada de deciso por parte da m-dia e alta gerncia das corporaes.No se consegue atingir esse obje-tivo sem que se observem algumasregras. Por isso, trataremos aqui daestratgia para a criao de umbanco de dados.

    PLANEJAMENTOE ESCOLHAPlanejar e escolher o melhor bancode dados uma tarefa extremamen-te importante no processo de criao.

    A escolha certa evita frustraes nasoperaes do dia-a-dia e na evoluoque o produto deve ter para acom-panhar o crescimento da empresa.

    Planejar saber onde se quer che-gar e estabelecer os meios adequa-dos para estar l. necessrio olharpara frente e analisar como vocquer que as coisas estejam no futu-ro. antever situaes que podemdefinir o sucesso ou no do seu em-preendimento. Portanto, antes deescolher o produto, pense onde vo-c quer chegar. Enxergue o bancode dados como um meio para atin-

    gir sua meta.

    A

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    23/110

    CRIAO

    C OL E O I NF O> 25

    Com isso, dependendo do caso, sea sua empresa desenvolve sistemas,

    a deciso poder ser totalmente di-ferente de uma construtora, porexemplo. Baseie-se em aspectos tc-nicos e mercadolgicos para definiro produto com o qual voc ir con-

    viver durante um bom tempo (tenhaisso em mente: no se troca de ban-

    co de dados seno com alguma di-ficuldade). Veja na tabela abaixo al-gumas questes que podem ajudarna escolha do produto ideal para assuas necessidades.

    GUIA PARA A ESCOLHA DO GERENCIADOR>H uma empresa ou comunidade responsvel pelo produto?>Como est a sade financeira dessa empresa? Como a

    participao dos membros da comunidade?

    >Qual o compromisso tecnolgico da empresa? Houve evoluonos ltimos anos? (um ano de atraso em informticapode ser fatal)

    >Qual a participao de mercado do produto? (produtos compequena participao podem sumir ou ser absorvidos poroutras empresas)

    >Quanto tempo de vida tem o produto?>Qual tipo de empresa o utiliza?>Quando foi lanada a ltima verso? Como o fabricante resolve

    problemas de segurana (atualizaes e correes)?

    >O produto possui as caractersticas mnimas de um sistemagerenciador de banco de dados (controle de transaes,integridade referencial, programao, backup e recuperao,segurana de acesso, compatibilidade)?

    >Como o ambiente de administrao do banco de dados? Hpossibilidade de administrao remota?

    >Voc vai precisar de um administrador de banco de dados (DBA)o tempo todo ou esse trabalho poder ser feito remotamente?

    >H profissionais qualificados no mercado para administrar obanco? Quanto custa a mo-de-obra?

    >H produtos (ERP, CRM, BI etc.) adequados para a sua empresaque utilizam o banco de dados?

    >Qual o volume mdio de transaes que voc vai realizar e comoo produto se comporta com isso?

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    24/110

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    25/110

    CRIAO

    C OL E O I NF O> 27

    Outras geram os scripts para seremexecutados no banco de dados. S

    que, para chegar aqui, necessrioficar atento a alguns detalhes.

    PADRONIZAO sempre importante manter um pa-dro para o nome dos objetos, colu-nas e outros elementos. Mesmo quevoc trabalhe sozinho em um proje-to, bem provvel que no futuro ou-tras pessoas tenham de atualizar aqui-lo que voc fez. A padronizao co-mea na documentao do projetoe continua em todo o processo fsi-co de criao do banco de dados.

    Toda equipe deve estar envolvidapara definir o que e como ser essepadro. Imagina-se que, quanto maisclaro for o nome da entidade, porexemplo, melhor ser para a pessoaentender o que est armazenado ali.Parece bvio, mas algum tempo atrsera comum utilizar nomes estranhos,

    muito mais vinculados aos progra-mas que mantinham a entidade doque ao objetivo dela. Algunsanalistas at se valiam des-se expediente para manter-se no emprego quantomais obscuro, mais depen-dncia do analista.

    TABELAS E COLUNASSe eu identifiquei um objetoque armazene as informaesde um veculo, devo dar-lheo nome de VEICULO. Em cer-tos casos, alguns analistas pre-

    ferem indicar qual o mdulo

    CDIGO

    NMERODESCRIONOMEDATAVALORQUANTIDADESIGLADOMNIO

    PADRONIZE AS COLUNAS

    OPO 2

    CD

    NR

    DS

    NM

    DT

    VL

    QT

    SG

    DM

    OPO 1

    COD

    NUM

    DES

    NOM

    DAT

    VAL

    QTD

    SIG

    DOM

    do sistema que mantm aquela es-trutura. Em outros, acrescenta-se a

    estrutura departamental que realizaesse trabalho. Essa ltima opo apior, visto que h mudanas freqen-tes nas funes departamentais deuma empresa moderna. Particular-mente, creio que ambas situaes sodesnecessrias, visto que atualmen-te uma classe destacada para essafuno. A classe normalmente tam-bm tem um nome claro e objetivo.

    Se h atributos importantes pa-ra serem mantidos, como cor, mo-delo, ano de fabricao, ano do mo-delo e montadora, deve-se colocaresses nomes nas colunas.

    Outro ponto importante, mas nodeterminante, especificar a classifi-cao do dado junto com o nome. As-sim, se a cor do veculo fizer refern-cia a uma tabela de cores e, portan-to, eu for armazenar o cdigo da cor, comum utilizar-se CD ou COD antes

    do nome. O nome do campo ficariaCDCOR, por exemplo.

    CLASSIFICAO

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    26/110

    CRIAO

    28 < C OL E O I NF O

    Como no possvel utilizar es-paos na definio do nome das co-

    lunas (ou mesmo objetos), utiliza-se o caractere sublinhado (_) parasubstituir o espao. A tabela ficariacomo no exemplo da figura abaixo.

    TIPOS DE DADOSA definio do tipo de dados tam-bm exige padronizao. Parecebvio que um dado que receber

    apenas contedo numrico devaser definido como NUMBER, DECI-MAL, INTEGER, FLOAT ou qualqueroutro tipo que seja otimizado pa-ra este fim. O mesmo acontece comalfanumricos e datas, mas h al-gumas observaes a considerarnessa escolha.

    O tipo de dado numrico, de ummodo geral, possui mecanismosque fazem com que as buscas se- jam mais rpidas do que as queocorrem em colunas alfanumri-cas. Ele tambm ocupa menos es-pao fsico para armazenamento.

    Por isso, chaves primrias (e con-

    seqentemente estrangeiras) sodefinidas por campos numricos.

    Colunas pesquisadas com freqn-cia, como CPF, tambm so defi-nidas como numricas.

    A maioria dos gerenciadores debanco de dados trabalha com doisgrupos de tipos de dados alfanu-mricos: CHAR e VARCHAR (ouVARCHAR2, no Oracle). O primei-ro utiliza todo o espao especifi-cado, enquanto que o segundo varivel, usando, no mximo, o es-pao predeterminado. Isso faz comque o segundo, por utilizar apenaso espao efetivamente ocupadopelo contedo, otimize o armaze-namento e no deixe buracos noscontedos. DBAs experientes le-vam em considerao o volume dealteraes no contedo para essadefinio. Isso porque, caso umcontedo seja alterado com fre-qncia, a atualizao poder ge-

    rar uma fragmentao da informa-o quando includo, o conte-do ocupou um espao e, depois deuma alterao para maior, quan-do no h espao na seqncia,ser colocado em outro espao f-sico do disco.

    Campos que armazenam datasdevem ser definidos dessa formapara facilitar operaes de buscae at mesmo operaes matem-ticas entre elas. O padro SQL pos-sui uma srie de comandos espe-cficos para calcular intervalo en-tre datas, extrair ano, dia, ms etc.

    Para contedos muito grandes, co-

    PROJETOLGICO DEDADOS

    PROJETO FSICODE DADOS

    CRIAO DOBANCO DE DADOS

    Anlise e modelagemutilizando o Modelo deEntidade eRelacionamento eNormalizao de Dados

    Desenho com definiode tabelas, ndices,vises etc.

    Criao de scripts paraexecuo do gerenciadorde banco de dados

    BANCO DE DADOS CRIADO

    PROCESSO DECRIAO DE BANCODE DADOS

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    27/110

    CRIAO

    C OL E O I NF O> 29

    mo arquivos XML, imagens, sons etextos extensos deve-se utilizar o

    LOB. Normalmente h uma separa-o para binrios (BLOB), adequa-dos para armazenamento de ima-gens e sons, e alfanumricos (CLOB).No caso especfico de XML, pos-svel que o gerenciador de bancode dados tenha algum mecanismomelhor de armazenamento.

    PROGRAMAOSempre que possvel, prefira criaros mdulos que utilizam e manipu-lam dados dentro do banco de da-dos. Apesar de atualmente haveruma grande difuso da necessida-de de independncia de banco dedados por meio da utilizao de umacamada intermediria que assumaessa responsabilidade, inegvelque o gerenciador do banco de da-dos o ambiente mais adequadopara manter e atualizar dados.

    Ao se programar em qualqueroutra camada que no a de dados,o trfego de informaes pela re-

    de aumentado. Se voc optar porcolocar a camada de aplicao no

    mesmo servidor (ou servidores),poder comprometer seu desem-penho pelo excesso de uso.

    Assim, prefira programar o ban-co de dados para rotinas que en-volvam acesso e manipulao dedados. Os programas devem seguira padronizao da empresa no quediz respeito aos mdulos: definiode variveis, letras maisculas e/ouminsculas para comandos etc.

    INTERFACES DEADMINISTRAOTo importante quanto criar estru-turas estveis para suprir as ne-cessidades de informao da em-presa a tarefa de manter o ban-co de dados com um nvel aceit-vel de tempo de resposta. Para is-so, necessrio ter uma atenoespecial na administrao.

    As interfaces de administraotm evoludo bastante para sim-plificar o processo. Mesmo os ge-renciadores de cdigo aberto pos-suem interfaces amigveis que per-mitem criar e manter todas as es-truturas do banco rapidamente. Al-gumas podem ser acessadas re-motamente, o que facilita o pro-cesso de manuteno e acompa-nhamento que o DBA faz no ban-co de dados.

    A tendncia que os gerencia-dores sejam cada vez mais auto-matizados, em especial no que diz

    respeito ao desempenho. Os ajus-

    Programao: no SQL Server 2005 d

    para criar consultas sem escrever cdigo

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    28/110

    CRIAO

    30 < C O LE O I N FO

    tes (tuning) podem ser realizadossem a interferncia direta do DBA.

    O administrador supervisiona e va-lida o que foi feito e, em caso deproblemas, adota outras medidas.

    SEGURANANunca pouco lembrar que acriao de usurios e a rotina debackup seja planejada com coe-

    rncia. Usurios com superpode-res no so desejveis em bancosde dados. Deve haver poucos, depreferncia um nico DBA por ban-co. Deve ser objeto de estudo cons-tante a verificao e a auditoria dosusurios e as transaes realiza-das. No basta confiar apenas nosistema para esse controle. Os ge-renciadores possuem interfaces deadministrao relativamente sim-ples. Usurios genricos podemcomprometer a segurana dos da-dos nessa situao.

    A rotina de backup deve ser tes-

    tada inclusive com restauraes pe-ridicas, para determinar a exatidoe o conhecimento do processo. Nor-malmente, para backup, h al-gumas formas disponveis nosprincipais gerenciadores. Asprincipais so:s CPIA COMPLETA DOS DA-

    DOS (OFF LINE): interrompe-se a execuo do banco de da-dos e copiam-se os arquivosde dados. Em caso de pane,pode-se restaurar todo o ban-co que retornar ao momen-to em que foi feita a cpia.

    s CPIA COMPLETA DOS DADOS(ON LINE): as transaes que so efe-

    tuadas so armazenadas em local es-pecfico para serem copiadas paraum meio fsico. Em caso de pane nobanco de dados, possvel retornara um ponto no tempo, at o limitedas transaes gravadas no disco. Is-so faz com que a perda de dados se- ja consideravelmente menor.s SERVIDOR STANDBY: a cpia dastransaes realizada em um ser-vidor separado. Em caso de pane,o outro servidor assume a funodo servidor que falhou.

    CONCLUSOCom planejamento, padronizao econtrole possvel fazer com queos dados da empresa possam seracessados em segurana e rapida-mente. Unir diversas tabelas no criar um banco. O processo come-a com a escolha do gerenciadoradequado s necessidades e termi-

    na com a execuo de um plano ro-busto e completo para o que pre-ciso hoje e ser necessrio amanh.

    BI:ferramenta para necessidade atual e futura

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    29/110

    O BANCO FALASQLQUSCONHEA O IDIOMA DOS BANCOS DE DADOS E AS

    LINGUAGENS DE ACESSO A ELESPOR ANDR CARDOZO

    LINGUAGENS

    C OL E O I NF O> 31 ILUSTRAO PAVO

    s programadores podemescolher a linguagem quequiserem para construir

    aplicativos que acessemo banco de dados. Mas no tm comoescapar da SQL (Structured Query Lan-guage). Se o TCP/IP o idioma da in-ternet, podemos dizer que a SQL tema mesma funo nos bancos de da-dos. A linguagem foi desenvolvida nadcada de 70 pela IBM com uma ni-

    ca finalidade: manipular bancos de da-dos. A SQL em muitos casos pro-nunciada como SEQUEL adotada

    por todos os sistemas gerenciadoresmais utilizados no mercado, como Ora-cle, MySQL e Microsoft SQL Server.

    No nvel mais avanado, um pro-gramador precisa se dedicar paradominar a SQL, mesmo porque di-versos bancos de dados possuem ex-tenses proprietrias, funes mais

    O

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    30/110

    LINGUAGENS

    32 < C OL E O I NF O

    avanadas que s funcionam naque-le sistema. Os comandos bsicos so

    intuitivos e podem ser usados semdificuldade por quem tem noo deprogramao. Veja alguns:CREATE:cria tabelasSELECT:seleciona dadosINSERT:inclui dados em tabelasUPDATE:atualiza dadosDELETE:apaga dados

    Alm das expresses principais,outros comandos muito usados soo where, que inclui a condio, eo order by, que ordena o resulta-do da consulta SQL. Veja como elasfuncionam no exemplo abaixo:SELECT nome,endereco FROMclientes WHERE estado = spORDER BY nome

    Esse comando seleciona as colu-nas nome e endereco da tabelaclientes em que o estado iguala sp (condio imposta pela ex-presso where). Portanto, somen-

    te os clientes de So Paulo. Os re-sultados so ordenados por nome.A tabela poderia conter outras co-lunas, como idade e sexo, masnesse exemplo usamos s nomee endereco. Para selecionar todasas colunas, basta trocar nome,en-dereco por *, como abaixo:SELECT * FROM clientesWHERE estado = sp ORDERBY nome

    PL/SQL, A TURBINADAA linguagem PL/SQL uma extensoda SQL especializada no banco de da-

    dos Oracle. Ela combina a facilidade de

    manipulao de dados da SQL com asfacilidades de programao de uma lin-

    guagem procedural. Permite criar ob- jetos de esquema, como gatilhos, pro-cedimentos armazenados e pacotes.

    A linguagem PL/SQL utiliza o con-ceito de bloco estruturado. Esses blo-cos so compostos por procedures efunes. Um bloco tem a estruturabsica composta por trs partes:DECLARE:seo opcional, em quetodos os objetos so declarados;BEGIN: em que os comandosPL/SQL so colocados;EXCEPTION:em que os erros sotratados.

    >LINGUAGENS DE ACESSOOpes no faltam para os desen-volvedores de programas de acessoa banco de dados. As mais popula-res so ASP, Perl, PHP e Java. Cadauma dessas linguagens tem suas van-tagens e desvantagens, e a escolha

    depende de uma srie de fatores, co-mo compatibilidade, custo e porta-bilidade. Conhea essas opes.

    PHP, A POPULARUma soluobastante popularentre os web-masters de sites

    dinmicos o PHP (Personal HomePage), criado pelo programador Ras-mus Leedorf. A linguagem funcio-na tanto em Unix quanto em Win-dows e possui suporte para diver-sos bancos de dados, incluindo

    MySQL, Sybase, SQL e Oracle.

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    31/110

    LINGUAGENS

    C OL E O I NF O> 33

    A sintaxe possui alguns elemen-tos derivados do Perl, mas bem

    mais simples e exige apenas noesbsicas de programao. Alm dis-so, h outra qualidade muito impor-tante, que beneficia uma parte sen-svel de todos ns: o bolso. O inter-pretador PHP (programa que pro-cessa as pginas feitas nesse for-mato) gratuito, e basta baixar einstalar no servidor para comeara criar um website dinmico.

    ASP, A OPO WINDOWSO ASP (Active Ser-ver Pages) no exatamente umalinguagem de

    programao, mas o que a Microsoftdefine como ambiente de execuode scripts. Na maior parte das vezes,as instrues so escritas em VBScript,que derivado do Visual Basic, tam-bm filhote da Microsoft.

    A penetrao do Visual Basic nomercado contribui bastante para ocrescimento do ASP. Como a quanti-dade de programadores VB gran-de, fica mais fcil para as empresascontratarem profissionais que desen-volvam aplicaes em VBScript.

    Aderir ao ASP significa quase sem-pre optar pelo mundo Windows, umavez que as pginas ASP s rodam na-tivamente em servidores Windowscom servidor web IIS (Internet Infor-mation Server), da Microsoft. pos-svel rodar pginas ASP em sistemasUnix por intermdio de solues co-

    merciais, como o ChiliASP, ou usan-

    do o OpenASP, no servidor web Apa-che. Mas a implementao desse ti-

    po de soluo costuma ser problem-tica para os webmasters.

    JAVA, A ECLTICAA linguagem Java a al-ternativa de programa-o criada pela Sun Mi-crosystems. uma lin-guagem robusta, comfunes complexas.

    Possui como principal vantagem, aportabilidade roda em qualquerplataforma, de palmtop a main-frame, de sistemas embarcados aprogramas srios de internetbanking, por exemplo. Profissionaisespecializados em Java esto entreos mais disputados do mercado.

    PERL, A VETERANAA linguagem Perl(Practical Extraction

    and Reporting Lan-guage) foi criada em1987 pelo progra-

    mador Larry Wall para resolver tare-fas de administrao em sistemas Unix.Wall divulgou a primeira verso dePerl nas listas de discusso da Use-net e logo programadores de todo omundo comearam a dar sugestespara o aprimoramento da linguagem.Uma das vantagens de Perl a por-tabilidade. Os scripts podem ser trans-feridos do Unix para o Windows e vi-ce-versa com pouca ou nenhuma mo-dificao. A linguagem expandida

    pelo uso de mdulos.

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    32/110

    UM SQL SERVERFCIL DE USARA VERSO GRTIS DO BANCO DE DADOS DA MICROSOFT

    TEM ASSISTENTE E MUITOS RECURSOSPOR NIVALDO FORESTI

    TESTE/SQL SERVER

    34 < C OL E O I NF O

    que no faz a concorrn-cia. Bastou os bancos dedados de cdigo abertocomearem a ganhar es-

    pao nas corporaes, os fabricantestradicionais passarama oferecer verses gra-tuitas com a maioriados recursos das ver-ses pagas e algumasrestries. A Microsoftinaugurou esse movi-mento, lanando no fi-nal do ano passado o SQL Server 2005Express e seus trs irmos pagos:

    Workgroup, Standard e Enterprise. De-pois, vieram a Oracle e a IBM.Como as verses

    comerciais irms, oSQL Server 2005 Ex-press vem integradoao Visual Studio .Net,o que se traduz em fa-

    cilidade para o desen-volvimento de aplica-es. O INFOLAB tes-tou o programa num

    servidor Pentium 4 de 2 GHz com 1GB de memria RAM.

    Seguindo o padro dos produtos de-senvolvidos pela Microsoft, a instala-o do Express extremamente sim-

    ples e fcil de fazer. Umassistente leva o usu-rio pela mo por todasas etapas do processo.Com alguns cliques demouse, voc instalauma instncia do ge-renciador de banco de

    dados. Mas nem tudo perfeito. A su-te de administrao e desenvolvimen-

    to SQL Server Express ManagementStudio Community Technology Pre-

    O

    FIQUE LIGADO

    >Pequenas empresase desenvolvedores soo alvo do SQL Server2005 Express

    Management Studio:sute de administraoe desenvolvimento

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    33/110

    TESTE/SQL SERVER

    C OL E O I NF O> 35

    SQL SERVER 2005EXPRESSFABRICANTE

    PR

    CONTRAS

    INSTALAO

    GERENCIAMENTO

    FERRAMENTAS

    DESENVOLVIMENTO

    SEGURANA

    AVALIAOTCNICA(1)

    PREO

    CUSTO/BENEFCIO

    ONDE ENCONTRAR

    Microsoft

    Fcil de usar e gerenciar

    Suporta apenas umprocessador, 1 GB dememria e bancosde at 4GB

    8,5Rpida, com verificaode pr-requisitos eprimeiros passos

    7,5Possui administraosimilar da versoStandard, mas faltamfuncionalidades

    6,5Fica devendo ferramentascomo o DTS para aimportao de dados

    8,5Traz todos os recursos dasdemais verses, inclusivesuporte nativo a XML

    8,0Conta com criptografiabaseada em chavese replicao de dadosvia web

    7,6

    Gratuito

    www.info.abril.com.br/download/4339.shtml

    (1) Mdia ponderada considerando os seguintes itens e respectivos pesos:Instalao (10%), Gerenciamento (35%), Ferramentas (35%),Desenvolvimento (10%) e Segurana dos dados (10%). O SQL ServerExpress ganha 0,2 ponto na avaliao tcnica devido ao bom desempenhodo seu fabricante na Pesquisa INFO de Marcas 2005.

    view (CTP) no acompanha a instala-o. preciso fazer o download se-

    paradamente do CTP no endereowww.info.abril.com.br/download/4454.shtml .

    RECURSOSNo espere que a Microsoft tenha da-do tudo de bandeja nessa verso dis-ponvel gratuitamente para voc. Fal-tam vrios recursos. Voc no encon-trar o DTS (Data TransformationSystem), o que dar muita dor de ca-bea na hora de importar dados deoutros formatos de arquivo para den-tro do banco de dados. Tambm noter a pesquisa em texto, os servios

    de notificao e os recursos de busi-ness intelligence que tornam a ver-so Enterprise bastante atraente pa-ra as empresas maiorzinhas.

    Outras restries importantes soo suporte a apenas um processador,somente 1 GB de memria RAM e at4 GB de tamanho do banco de dados.Se bem que difcil uma pequena em-presa bater nesses limites.

    FUNCIONALIDADESNem tudo problema. O mecanismode acesso a dados MSDE (MicrosoftDesktop Engine), um SQL Server ru-

    dimentar para desktops, desapare-ceu com o advento do Express. E, comele, sumiu a restrio de desempe-nho quando existiam mais de cincoconexes simultneas ao banco dedados. Toda a funcionalidade progra-mtica est no Express, at mesmo osuporte a XML e a integrao da lin-

    guagem CLR (Common LanguageRuntime) da .Net com a Transact-SQL,

    a linguagem de comandos SQL da Mi-crosoft. O novo conjunto de objetose a habilidade de agir como clientena replicao de dados e nos cen-rios de envio de mensagens no fal-taram na verso gratuita. Em suma,d para aproveitar bastante at seremnecessrias mais funcionalidades.

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    34/110

    ORACLE EMVERSO LIGHTA EDIO GRATUITA DO PODEROSO BANCO DE DADOS

    CHEGA COM RECURSOS DE SOBRAPOR ERIC COSTA

    TESTE/ORACLE EXPRESS

    36 < C OL E O I NF O

    Pgina principal: portal de acesso a funes e links com a comunidade Oracle

    eguindo os rastros daMicrosoft, a Oracle pro-duziu uma verso ma-gra de seu poderoso

    banco de dados, a Oracle 10g ExpressEdition, de olho nas pequenas em-presas. O software inclui os princi-pais recursos das verses comerciaisdo irmo robusto e gratuito. Emcontrapartida, limita o tamanho m-ximo da base de dados a 4 GB, almdo hardware usado. O gerenciadorde bancos de dadosusa apenas um pro-

    cessador (caso o com-putador tenha maisde um) e, no mximo,1 GB de RAM, mesmoque o micro possuamais memria.

    A licena do Oracle Express bas-tante aberta: possvel, sem pagarnada, distribuir e implantar o pro-grama, alm de us-lo para desen-volvimento de software. Nos testesda INFO, feitos com o sistema ope-racional SUSE Linux 10.0, o OracleExpress Edition teve bom desem-penho, sendo instalado rapidamen-te num micro com processador Pen-tium 4 de 2,4 GHz, com 512 MB dememria RAM. A instalao bas-

    tante simples. Toda aadministrao do

    banco de dados fei-ta pelo browser, o quetambm facilita oacesso remoto, paraquem quer deixar oservidor afastado.

    S

    FIQUE LIGADO

    >Limitaes tornamo Oracle 10g Expressindicado para aspequenas empresas eos desenvolvedores

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    35/110

    Utilitrios: inclui importao de XML

    TESTE/ORACLE EXPRESS

    C OL E O I NF O> 37

    Apesar de ser relativamente sim-ples, a interface web funciona bem,trazendo recursos suficientes paraa criao e a manuteno de ban-cos de dados. Ainda existe, claro,uma ferramenta para migrar umbanco de dados do Oracle Expresspara o Oracle 10g pago.

    Uma grande vantagem da versoExpress do Oracle em relao ao tam-bm gratuito MySQL est no supor-te ao PL/SQL, a verso turbinada doSQL feita pela Oracle. Com ela, pos-svel acrescentar mais funcionalida-de em stored procedures (ou rotinas

    armazenadas), o que pode diminuira necessidade de manuteno futu-ra dos programas que usem o ban-co de dados. Outra vantagem do Ora-cle Express a robustez do bancode dados, que traz a base do respei-tado Oracle 10g. Para quem vai de-senvolver software, a verso Expresstem o mesmo suporte a linguagensde programao do Oracle 10g, in-tegrando-se com Java, C++, PHP,com os principais dialetos da tecno-logia .Net (como C# e VB.NET), en-tre outros. O suporte do Oracle Ex-press feito pelos prprios usurios,

    que ajudam uns aos outros em um

    Browser: controle sobre cada objeto

    ORACLE 10GEXPRESS EDITIONFABRICANTE

    PRS

    CONTRAS

    COMPATIBILIDADE

    INSTALAO

    RECURSOS

    FERRAMENTAS

    AVALIAO TCNICA

    PREO (R$)(1)

    CUSTO/BENEFCIO

    ONDE ENCONTRAR

    Oracle

    Dispensa hardwareparrudo, traz recursosde primeira

    Limitaes ao tamanho dobanco de dados, memria e CPU usadas

    8,0Roda em Windows e Linux(distribuies compatveiscom pacotes RPM)

    8,0Instalao simples e diretatanto no Windows quantono Linux

    8,5Suporte a PL/SQL,integra-se com Java, C++,VB.NET, entre outraslinguagens

    8,0Gerenciamento pelobrowser, com ferramentade construo de consultas

    8,4

    Gratuito

    www.info.abril.com.br/download/4346.shtml

    (1) Mdia ponderada considerando os seguintes itens e respectivos pesos:Compatibilidade (20%), Instalao (20%), Recursos (30%) e Ferramentas(30%). O Oracle Express ganha 0,2 ponto na Avaliao Tcnica devido aobom desempenho do seu fabricante na Pesquisa INFO de Marcas 2005.

    grupo de discusso mediado por pro-fissionais da Oracle. Ao baixar o Ora-cle Express, possvel cadastrar-senesse grupo automaticamente.

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    36/110

    TESTE/DB2 EXPRESS

    38 < C OL E O I NF O

    epois da Microsoft e daOracle, foi a vez da IBMcriar uma verso gratui-ta de seu robusto ban-

    co de dados DB2. Como as demaisedies expressas dos concorren-tes, o DB2 Express-C tem limitaes suporta at 4 GB de memriaRAM , mas possui caractersticasque permitem seu uso em aplicaescomerciais e sensveis. Tem a vanta-gem de suportar tanto a plataformaWindows quanto a Linux e roda emmquinas com at dois processado-

    res, enquanto as edies expressasdo SQL Server e do Oracle s aceitam

    um. Acompanhe a seguir o teste doINFOLAB, realizado num PC Pentium4 de 2,8 MHz, com 512 MB de RAM eWindows 2003 Server Standard.

    INSTALAOO processo de instalao do DB2 Ex-press-C rpido, mas fazer o down-load pela web pode ser torturante.O arquivo tem pouco mais de 450MB e, mesmo numa conexo vitami-nada, ir demorar mais de uma ho-ra para baixar. Ler os pr-requisitose as notas nos menus do instalador

    evitar problemas durante e aps ainstalao. Por exemplo, um dos pr-

    requisitos que naplataforma Windowsse use o Windows XPProfissional.

    Durante a instala-o, o prprio sistemacoloca em ao as op-es Java necessrias.Alm disso, permitetestar imediatamente

    D

    DB2 GRTIS COMTUDO DENTROA VERSO DEGUSTAO DO BANCO DE DADOS DA IBM

    VEM REPLETA DE BOAS FERRAMENTASPOR NIVALDO FORESTI

    Instalao: o assistenteguia o usurio durantetodo o processo

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    37/110

    TESTE/DB2 EXPRESS

    C OL E O I NF O> 39

    seu funcionamento,criando ou carregan-do os bancos de da-dos de exemplo queo acompanham. Umasrie de caixas de di-logo e janelas de con-firmao indicam oque fazer a cada pas-so da instalao em bom portugus.

    A atualizao para verses maisrecentes fica a um clique de distn-cia no prprio instalador. Basta acio-nar Atualizar Verso para o progra-ma verificar qual a verso em usoe executar o upgrade. Acessando oitem Visualizar Introduo, o usu-rio encontra tutoriais e informaesdetalhadas sobre o produto e ou-tros assuntos de interesse, como a

    migrao de verses anteriores. Osoutros primeiros passos disponveis criar banco de dados e acessarexemplos abrem aCentral de Controle.

    NAS RDEASO Centro de Controle o ponto de partidade todas as opera-es, controles e ad-ministrao das bases de dados cria-das no DB2 Express-C. Como podehaver mais de uma instncia ope-rando na mesma mquina, o Cen-

    tro de Controle pode dar conta de

    todas elas. um utilitrio bastanterico em funcionalidade para criar emodificar tabelas, executar consul-tas (queries) e anlises complexas,monitorar o status dos bancos dedados, funes de importao e ex-portao de dados, dentre outras.

    Os usurios contam com uma in-terface bastante fcil de usar, simi-lar nos sistemas operacionais Win-dows e Linux. Essa estratgia segue

    a da concorrente Oracle, que estusando os navegadores para man-ter interfaces semelhantes em to-

    das as plataformasque suporta.

    Na plataforma Win-dows, a Central deControle pode seraberta a partir do me-nu Iniciar ou clican-do-se com o boto di-

    reito no cone do DB2 na bandeja desistema. Uma janela com uma listasimilar do Explorer, contendo ban-co de dados e seus objetos, mos-

    trada ao abrir o programa.

    Centro de Controle: dconta de todas as

    instncias em operao

    FIQUE LIGADO

    >Fcil de usar e cheiode ferramentas, o DB2

    Express-C vai bem naspequenas empresas

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    38/110

    TESTE/DB2 EXPRESS

    40 < C OL E O I NF O

    A quantidade deutilitrios disponveis

    no DB2 Express-Cimpressiona. H pro-gramas para moni-toramento de me-mria, de aplicativos,um Centro de Tare-fas em que podemser programadas ta-refas especficas pa-ra execuo em lo-te e a configuraodo sistema. Para fa-cilitar a vida do ad-ministrador ou doprogramador, funes como criar oualterar banco de dados, backup e re-store so controladas por assistentes.

    DESEMPENHOConseguir um desempenho timodas aplicaes com banco de dados considerada uma combinao de

    magia negra e cincia. Na tentativade se aproximar do timo, o DB2 Ex-press-C oferece ferramentas em sua

    maioria grficas, pa-ra assegurar que as

    aplicaes no se- jam prejudicadas pe-lo mau uso dos re-cursos. So vrias asferramentas dispo-nveis: db2batch, queverifica o desempe-nho das queries emtempo real; VisualExplain, que analisagraficamente as con-sultas; Design Advi-sor, que sugere a co-locao de ndices

    em tabelas para diminuir o tempode acesso baseado nas consultas exe-cutadas, e, finalmente, o Activity Mo-nitor, que gera relatrios do desem-penho dos sistemas para anlise.

    DESENVOLVIMENTOO DB2 Express-C inclui os drivers e

    a interface necessrios para o de-senvolvimento de aplicaes naslinguagens C/C++, Java e .Net, alm

    de PHP e Perl. Su-porta linguagens noservidor para o de-senvolvimento destored procedures,triggers e funes.Elas podem ser es-critas em C/C++, Co-bol, Java (JDBC e

    Visual Explain: ferramentaespecial para a anlise grfica dasconsultas ao banco de dados

    Desenvolvimento:stored procedures emambiente grfico

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    39/110

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    40/110

    O MYSQL GANHAMSCULOSPREFERIDO PELA TURMA DO LINUX, O BANCO

    DE DADOS INCORPORA NOVAS FUNES E CORTEJAO MERCADO CORPORATIVOPOR CARLOS MACHADO, COM LUIZ CRUZ

    TESTE/MYSQL

    42 < C OL E O I NF O

    banco de dados de c-digo aberto MySQL te-ve um belo upgrade naverso 5.0, liberada no

    final de outubro de 2005. De alter-nativa rpida, eficaz e pouco sofis-ticada para sites simples, o produ-to passou categoria dos robustos.Com suporte a novas funes, co-mo transaes e stored procedures,o banco de dados se prope a ta-refas mais ambiciosas. Essas mu-danas sinalizam que o MySQL es-

    t cultivando msculos para enca-rar o mercado corporativo.Produzido pela empresa sueca

    MySQL AB, o MySQL tem uma for-ma de licenciamento duplo. Ousurio pode adot-lo como pro-duto gratuito, segundo a licenaGPL, mas tambm tem a opo deadquiri-lo comercialmente, comdireito a suporte e outros benef-cios. Parte fundamental do cha-mado padro LAMP sigla de umconjunto de produtos de cdigoaberto formado por Linux, Apa-che, MySQL, PHP/Perl/Python ,

    o MySQL tem hoje uma enorme

    base instalada. A MySQL AB come-

    morou a marca de mais de 1 mi-lho de downloads nas trs pri-meiras semanas de lanamento daverso 5.0. O nmero sem dvi-da indicativo do grau de interes-se em torno do banco de dados.

    MULTIPLATAFORMADesde o incio, o MySQL se des-

    tacou pela velocidade, que permi-te seu uso em mquinas de recur-sos relativamente modestos. Isso otransformou no sistema preferidodos sites profissionais pequenos emdios. Tambm contribui para o

    sucesso sua disponibilidade em

    O

    MySQL Administrator: interfacegrfica de gerenciamento

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    41/110

    TESTE/MYSQL

    C OL E O I NF O> 43

    quase todos os siste-mas operacionais

    mais importantes. Hverses do MySQLpara Windows, Linux,Unix, Solaris, Mac OSX, FreeBSD, HP-UX,IBM AIX e outros. Htambm verses para plataformasde hardware Intel e AMD, de 32 e64 bits, alm dos chips Sparc, Al-pha, PowerPC etc. INFO analisou averso 5.0.15 do MySQL para Linuxnum servidor Pentium 4 de 3 GHz,rodando a distribuio SUSE 10 de64 bits. Tambm instalamos o ban-co de dados num computador como Windows XP. Nos dois casos, ainstalao no ofereceu nenhumadificuldade especial.

    Algumas das funes que es-triam no MySQL 5.0 eram h mui-to tempo reclamadas pelos usu-

    rios. A principal de-las o suporte a

    transaes. Agora, ogerenciador capazde processar transa-es do tipo ACID,obrigatrias em apli-caes de misso cr-

    tica. Uma transao, para os noiniciados, uma operao que sfaz sentido se todos os seus pas-sos forem executados. Um exem-plo clssico a transferncia dedinheiro de uma conta bancriapara outra. H duas tarefas: debi-tar o valor numa conta e credit-lo na outra. Se apenas uma das ta-refas executada, o sistema se tor-na inconsistente. Nos bancos dedados profissionais, o processa-mento de transaes garante a in-tegridade de operaes desse ti-po. Se, por exemplo, o hardware

    Controles: uma s interface para controlar usurios, montar rotinas e verificar carga

    FIQUE LIGADO

    >Muito utilizado emsites simples, o MySQL5.0 j d conta deaplicaes corportivas

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    42/110

    TESTE/MYSQL

    44 < C OL E O I NF O

    falha no meio de uma operao,ela completamente anulada. A

    primeira regra do modelo ACID exatamente esta: ou tudo ou na-da. O MySQL 5.0 tambm suportatransaes distribudas, ou seja,transaes complexas envolvendomltiplos bancos de dados locali-zados em diferentes ambientes.

    STORED PROCEDURESOutra novidade do MySQL 5.0 soas stored procedures. Uma storedprocedure literalmente: rotinaarmazenada um programa, ouseqncia de comandos, guardadofisicamente no servidor. Uma sriede consultas complexas roda maisrpido como uma stored proced-ure do que uma lista de comandos,executados um a um, a partir deum computador cliente. As proced-ures tambm podem ser dispara-das dentro de uma transao.

    Os novos recursos do MySQL j

    existem h muito tempo nos gran-des gerenciadores de bancos dedados. A MySQL AB sempre negouque compete com Oracle, IBM eMicrosoft. Mas, ao incorporar osnovos recursos, a empresa d for-tes indicaes de que est de olhono mercado corporativo. Outro si-

    nal evidente disso est no MySQLMigration Toolkit, conjunto de fer-ramentas oferecido para incenti-var a migrao dos bancos de da-dos concorrentes para o MySQL.Obviamente, o produto ainda notem cacife, nem tcnico nem co-

    MYSQL 5.0FABRICANTE

    PR

    CONTRA

    INSTALAO

    RECURSOS

    FERRAMENTAS

    AVALIAOTCNICA(1)

    PREOLICENA

    CUSTO/BENEFCIO

    ONDE ENCONTRAR

    MySQL AB

    multiplataforma: temverses para Windows,Linux, Unix

    No tem suporte a XML

    8,6

    Simples, no oferece nenhumadificuldade especial

    8,5As novas funesaumentam muito o poderde ao do programa

    7,5O MySQL Administratoroferece poucos recursosgrficos

    8,3Comparado com o JBoss,foi, em mdia, 3,6 vezesmais rpido no tempo deresposta

    GratuitoGPL

    www.info.abril.com.br/download/3641.shtml

    (1) Mdia ponderada considerando os seguintes itens: Instalao(30%), Recursos (50%), Ferramentas (20%).

    mercial, para encarar os gigantesdo setor. Mas, como se diz, est

    tentando comer pelas beiradas. Umrecurso importante que o produ-to ainda est devendo aos usurios o suporte a XML.

    O fabricante do MySQL tambmoferece o MySQL Administrator, umaferramenta visual para gerenciar ban-cos de dados e usurios. O Adminis-

    trator deve ser obtido num download parte. Essa ferramenta permite criare alterar bancos de dados, montarstored procedures e verificar infor-maes de carga do sistema. Embo-ra execute bem as funes a que seprope, ainda no aproveita bem osrecursos da interface grfica.

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    43/110

    MISSO CRTICA PARA POSTGRE

    TESTE/POSTGRESQL

    C OL E O I NF O> 47

    elho conhecido das co-munidades de softwarelivre, o PostgreSQL de-morou um pouco mais do

    que o MySQL para se popularizar, pro-vavelmente por ser focado em aplica-es crticas. Muitos dos recursos que

    o MySQL apresenta na verso 5.0, taiscomo o suporte a gatilhos, stored pro-cedures e transaes, j fazem partedo PostgreSQL h tempos. O impulsoveio com a verso para Windows e acolaborao de empresas como Sun,Fujitsu e Pervasive Software. Com ex-perincia no desenvolvimento e em-pacotamento de verses comerciaisafinadas com as necessidades das cor-poraes, elas estocolocando terno egravata no produto.

    O PostgreSQLtambm foi vtima

    dos rtulos lento epesado. Pode-se di-zer que o logotipodo produto umelefante azul atreforce essa ima-gem. Mas, debru-ando-se sobre a

    verso 8.1, maisrecente, logo sepercebe que is-so no verdade.

    A distribuio decdigos binrios do Post-greSQL 8.1 prontos para ins-

    talar est disponvel apenas para Li-nux ou Windows. Para outras plata-formas Unix, preciso baixar o cdi-go-fonte e compilar o sistema.

    No Linux, o PostgreSQL vem comopacote binrio na maior parte das dis-tribuies, mas para quem gosta deaventura e tem bastante tempo, po-de baixar o cdigo-fonte e compilar.

    No ambiente Windows, o progra-

    V

    PostgreSQL: o pgAdmin faz a administrao do banco

    VERSO 8.1 CONTA COM DRIVERS E CAMADAS DESOFTWARE QUE GARANTEM SUA CONECTIVIDADE

    POR HELIO SILVA

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    44/110

    TESTE/POSTGRESQL

    48 < C OL E O I NF O

    ma pode ser instalado de duas for-mas: utilizando o ambiente Cygwin,

    que permite, com certas restries,utilizar os programas escritos paraLinux, ou diretamente no WindowsXP. O Cygwin mais indicado paraquem tem experincia no uso doPostgreSQL em ambiente Linux. Ja verso pronta para o Windows muito robusta, fcil e no decepcio-na. A instalao no Windows podeser feita em portugus, mas, no fi-nal, o software de administraopgAdmin se apresentar em ingls.

    RECURSOSO PostgreSQL 8.1 chega bem abaste-cido de drivers e camadas de soft-ware que garantemsua conectividade comferramentas de criaoe extrao de relat-rios alm, claro, de li-g-lo com as lingua-

    gens de programaopopulares como Java,Visual Basic e Delphi. A plataforma.Net da Microsoft tambm no fica defora, contando com o data providerNpgSQL. natural que o banco man-tenha conexes privilegiadas com seuspares do software livre, como as lin-guagens Phyton, Perl, TCL e PHP.

    Se para escrever programas defront-end existem tantas opes, omesmo pode se dizer das linguagensdisponveis para desenvolver funese processos que rodam dentro dobanco. As opes so: PL/Perl,

    PL/TCL, PL/Java e o PL/pgSQL do

    prprio PostgreSQL, que equivale aoPL/SQL da Oracle. Essa diversidade

    facilita a vida de quem j versadoem uma dessas linguagens.

    Alm do pacote bsico, sem-pre bom dar uma checada em si-tes que mantm projetos ligadosao PostgreSQL. Um deles o sitepgfoundry.org , onde podem serencontrados utilitrios e at mes-mo sistemas completos.

    Uma ausncia sentida o suportenativo ao XML. Em aplicaes comtrocas de dados entre sistemas hete-rogneos, como em operaes detransmisso eletrnica de pedidos efaturas entre empresas ou intercm-bio de dados bancrios, de se es-

    perar que existam di-ferentes bancos atuan-do do outro lado, e omercado aponta parao XML como melhorforma de garantir es-

    sa conversa. Quemaderir ao PostgreSQLter de escrever suas interfaces XML.

    BOA HERANAUm velho dilema da crescente co-munidade de programadores quetrabalham com a abordagem daorientao a objeto (OOP) que elesraciocinam e projetam seus sistemaspensando em objetos e, no entanto,tm de lidar com bancos de dadosrelacionais na hora de depositar seusdados. Eles gostariam de ter bancosde dados que entendessem um pou-

    co mais sua abordagem. O Post-

    FIQUE LIGADO

    >Recursos poderososindicam o PostgreSQLpara as aplicaes demisso crtica

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    45/110

    TESTE/POSTGRESQL

    C OL E O I NF O> 49

    POSTGRESQL 8.1FABRICANTE

    PRS

    CONTRAS

    INSTALAO

    GERENCIAMENTO

    FERRAMENTAS

    DESENVOLVIMENTO

    SEGURANA

    AVALIAOTCNICA(1)

    PREOLICENA

    CUSTO/BENEFCIO

    ONDE ENCONTRAR

    PostgreSQL GlobalDevelopment Group

    Inclui replicao de dados,processamento paralelo,suporte a 64 bits e aclusters

    Falta de suporte nativo aopadro XML

    7,0Fcil e rpida com pacotesbinrios e instalador emportugus

    8,5O pgAdmin III d acesso atodos os recursos dobanco, mas est s emingls

    8,5Conta com ferramentas degeoprocessamento,administrao, tunning edatawarehouse na web

    8,0Pode ser feito em Java,Perl, PHP, TCL, C, C++ equalquer linguagem comconectores de acessocomo o .Net

    8,5Dispe de criptografiapara protegerarmazenamento, trfego,atributos e autenticao

    8,3

    GratuitoBSD

    www.info.abril.com.br/download/4119.shtml

    (1) Mdia ponderada considerando os seguintes itens e respectivos pesos:Instalao (10%), Gerenciamento (35%), Ferramentas (35%),Desenvolvimento (10%) e Segurana dos dados (10%).

    greSQL faz um pequeno esforo nes-se sentido, implementando uma das

    propriedades da orientao a obje-to que a herana.

    Para compreender a aplicao daherana em um banco de dados, ima-gine o desenvolvimento de um sis-tema para uma loja de barcos. A pri-meira providncia criar a tabelaBarcos com todas as caractersticascomuns a qualquer barco (cdigo,preo, descrio etc.). Em seguida,cria-se uma tabela filha que trata es-pecificamente de veleiros e que her-da as caractersticas de Barcos, acres-centando-se os atributos especficosde um veleiro como a altura do mas-tro e o tipo de vela. Por fim, cria-seuma tabela Lanchas, que tambm filha de Barcos, adicionando-se a elaatributos como potncia do motor.Alteraes em Barcos, como a cria-o do atributo Preo Promocional,por exemplo, automaticamente se

    refletem em Veleiros e Lanchas.

    SINCRONIZAOUsando-se um dos seus diversos sis-temas de replicao, o PostgreSQLpode ser aplicado em empresas depequeno e mdio porte que tm ne-cessidade de sincronizao de dadosentre matriz e filiais.

    Alm da sincronizao, o bancode dados tem evoludo em recursospara resistir a falhas e operar commltiplos processadores, o que otorna uma boa opo para os pro- jetos de misso crtica. Possui tam-

    bm a habilidade de lidar com enor-

    mes bases com respostas em tempoaceitvel, requisito bsico para siste-

    mas de datawarehouse, cujos bancosde dados podem chegar facilmenteaos terabytes. Esse tipo de sistemaest na ordem do dia das empresasgraas reduo dos custos de pro-cessamento e armazenamento, alm, claro, da necessidade constante debuscar competitividade.

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    46/110

    FIREBIRD POUPAA MQUINAA VERSO 1.5.3 TEM RECURSOS PODEROSOS E DISPENSA

    EQUIPES DE MANUTENOPOR HELIO SILVA

    TESTE/FIREBIRD

    50 < C OL E O I NF O

    banco de dados Firebirdest cada vez melhor,acompanhando os avan-os dos concorrentes de

    cdigo aberto MySQL e PostgreSQL.Nascido de uma iniciativa da Borlandde abrir o cdigo do seu banco In-terbase 6, o Firebird chegou ver-so 1.5.3 bem mudado, graas ao tra-balho do IBPhoenix. Esse grupo dedesenvolvedores j estabilizou a tra-duo do cdigo da linguagem C pa-ra a C++, o que deve permitir ao pro-

    duto alar vos mais altos entre asrie de verses 1.5.x e a 2.0.

    No teste do INFOLAB, utilizamos oFirebird 1.5.3 Classic Server, a versoestvel mais recente, rodando numPC com processador Pentium HT de1,3 GHz e 512 MB de memria RAM.

    INSTALAOA instalao fcil, mas no atuali-za as outras verses previamenteinstaladas. Ao contrrio, pede a re-moo de antigas edies de Inter-

    O

    EMS SQL Manager:interface grfica elegante para Firebird com jeito de Windows XP

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    47/110

    TESTE/FIREBIRD

    C OL E O I NF O> 51

    base ou Firebird. Aofinal do processodescobre-se que fo-ram criados algunstextos dos manuaisem arquivos texto ePDF e apenas umprograma baseadono velho prompt de comando. Issoporque o pacote bsico no trazuma interface grfica que facilite aadministrao do banco. Existe umprojeto de interface grfica de c-

    digo aberto chamado FlameRobin(www.flamerobin.org ), que no fu-turo deve fazer parte do pacote,mas seu desenvolvimento ainda es-t em estgio inicial.

    INTERFACESDe qualquer forma, o usurio no fi-ca desprovido de interface de geren-ciamento. Pode escolher uma entreas diversas disponveis no site do IB-Phoenix (www.ibphoenix.com ).A maior parte delas sharewarecom verses livres sem algumasfuncionalidades.

    No teste do INFOLAB, utilizamostrs interfaces de ge-renciamento: a DB-Manager (www.info.abril.com.br/down-load/3682.shtml ), daDBTools, a IBExpert(www.info.abril.com.

    IBExpert: traz recursosarrojados, como anlisede performance

    br/download/4047.shtml ), da H-Ksoftware, e a EMS SQL Manager(www.info.abril.com.br/down-load/4453.shtml ), da EMS DatabaseManagement Solutions.

    O gerenciador EMS SQL Managerempresta ao Firebird uma interfa-ce elegante e funcional, com apa-rncia bem prxima do WindowsXP, usando o mesmo tipo de co-nes. Na verso gratuita, ele j pro-v todos os recursos necessrios administrao. J o brasileiro DBMa-nager tem como vantagem o su-porte em portugus.

    Se a inteno for adquirir umaferramenta para ir alm das ativi-dades normais de administrao,ento vale a pena dar uma boa olha-da no IBExpert em sua verso co-

    mercial que, alm da interface maiscompleta para admi-nistrao, conta comrecursos arrojadoscomo anlise de per-formance e at pes-quisas OLAP. Relem-brando, por meio do

    FIQUE LIGADO

    >Feito para aplicaesde mdio porte, o Fire-bird oferece baixo cus-to de manuteno

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    48/110

    TESTE/FIREBIRD

    52 < C OL E O I NF O

    OLAP podem ser criadas vises mul-tidimensionais do banco j agrega-

    das, os famosos cubos. Esse tipo deviso facilita o desmembramento ea comparao de uma informaomensurvel, como o faturamento,por exemplo. Com um cubo de fa-turamento fica fcil estabelecer asvendas por tipo de produto, por ti-po de consumidor e por regio deforma fcil e rpida.

    DRIVERSOutra providncia necessria aps

    a instalao cuidar da interope-rabilidade com linguagens, gerado-res de relatrio e outros bancos dedados. O site do IBPhoenix ajuda,indicando drivers ODBC e camadasde conectividade com Java e .NET.Nem todos so gratuitos e, mesmoos livres, requerem anlise do tipode licena de uso.

    RECURSOSO esforo de instalao e implanta-o vale a pena. A exemplo do In-terbase, o Firebird d conta de apli-caes de mdio porte. Seu dife-rencial rodar em plataformas Win-dows e em muitos sabores de Unix,alm de contar com recursos im-portantes, como suporte a transa-es, gatilhos e stored proceduresdesde sua primeira verso, enquan-to o MySQL s trouxe esses recur-

    sos na 5.0, a mais recente.O sistema de transaes do Fire-bird robusto e admite os aninha-mentos (nested transactions), quepermitem a aplicao de novas re-gras quando uma transao encon-tra um erro em um determinadoponto de seu processamento, dan-do alternativas concluso da tran-sao sem que se torne necessriodesfazer toda a operao. As tran-saes aninhadas permitem a apli-cao de regras complexas de ne-gcio dentro do banco, eliminandoa programao na interface.

    A transferncia de lgica de ne-

    FIREBIRD 1.5.3CLASSIC SERVERFABRICANTE

    PRS

    CONTRA

    INSTALAO

    GERENCIAMENTO

    FERRAMENTAS

    DESENVOLVIMENTO

    SEGURANA

    AVALIAOTCNICA(1)

    PREOLICENA

    CUSTO/BENEFCIO

    ONDE ENCONTRAR

    FirebirdSQL Foundation

    Conta com recursospoderosos, como views,

    transaes concorrentese gatilhos

    Depende de aplicativos deterceiros para aadministrao

    6,5Bem traduzida, mas comlongas explicaes queprecisam ser lidas

    6,5No tem interface grficade administrao,

    exigindo ferramentasauxiliares

    8,5Ferramentas CASE, deadministrao e at OLAPpodem ser encontradasna web

    8,0Muito bom para Delphi,com abertura para PHP,Perl, Java e .NET.

    6,5No tem criptografia

    7,4

    GratuitoIPL

    www.info.abril.com.br/download/2108.

    (1) Mdia ponderada considerando os seguintes itens e respectivospesos: Instalao (10%), Gerenciamento (35%), Ferramentas (35%),Desenvolvimento (10%) e Segurana dos dados (10%).

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    49/110

    TESTE/FIREBIRD

    C OL E O I NF O> 53

    gcio para o banco de dados flexi-biliza as opes de escolha de lin-guagens e ambientes de programa-o para interfacear com o banco,uma vez que simplifica a quantida-de de regras que devem estar pre-

    sentes no cdigo. Esse aspecto importante num mundo em que obanco tem de atender um servidorweb, uma aplicao .Net e outraslinguagens, mantendo sempre acoerncia dos dados que lhe so in-seridos ou requisitados.

    Outro ponto forte do Firebird sua manuteno facilitada, pratica-mente dispensando a presena deum DBA dedicado a atividades deajustes de desempenho do bancoe controle de crescimento da base.A atividade de manuteno se re-sume ao backup e, eventualmente,

    uma recuperao de dados. Bancos

    mais sofisticados como PostgreSQL,MS SQL Server, Oracle e DB2 entreoutros demandam ajustes especia-lizados durante seu ciclo de implan-tao, crescimento e produo.

    O baixo custo de manuteno tor-

    na o Firebird uma boa opo paraempresas que no podem contarcom uma equipe especializada pa-ra dar suporte a suas aplicaes. Aportabilidade do banco de dadosentre mltiplas plataformas o tornatambm indicado para aplicaesque operam com atualizaes debases off line e que tenham neces-sidade de integrao centralizada.

    Quem pretende adotar o Fire-bird no Brasil, pode contar com oapoio de uma comunidade forte ecolaborativa, que pode ser conta-tada pelo portal Firebase ( www.

    firebase.com.br ).

    DBManager: produzida no Brasil, a interface d suporte ao Firebird em portugus

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    50/110

    TESTE/ACCESS

    54 < C OL E O I NF O

    O ACCESS ENTRAEM REFORMAUMA MUDANA DRSTICA NA INTERFACE COM O USURIO

    A PRINCIPAL NOVIDADE DO OFFICE 12, DA MICROSOFTPOR PAULO SILVESTRE

    interface baseada emmenus j to familiaraos usurios do Windowsque pode parecer teme-

    rrio substitu-la por outra. Mas is-so que a Microsoft est fazendo como banco de dados Access e os demaisintegrantes do Office, seu pacote deaplicativos para escritrio. O Office 12,nova verso com lanamento previs-

    to para o fim de 2006, leva adianteuma tendncia que j havia se esbo-ado nos betas do Windows Vista. Noprimeiro beta do Office 12, analisadopelo INFOLAB, os menus desparece-ram e deram lugar a uma interfacecom o usurio radicalmente diferen-te. A promessa que, com isso, o soft-ware ficar mais fcil de usar. A ava-liao do INFOLAB que a nova in-

    A

    Access 12: a interface substitui os vrios menus por um menu horizontal no alto

  • 7/27/2019 8127780 Colecao InfoBanco de Dados

    51/110

    TESTE/ACCESS

    C OL E O I NF O> 55

    terface realmente mais prtica. Comela, ser possvel realizar mais tare-

    fas com menos cliques na tela. Masos usurios vo estranhar bastante.

    FIM DOS MENUSO beta 1 do novo Office (o nome Of-fice 12 no definitivo) traz os apli-cativ