Você está na página 1de 28

Segredos do IBExpert

Autor: Carlos H. Cantu Em se tratando de ferramentas de administrao de bancos de dados para o Firebird, podemos encontrar na internet vrios exemplos, entre elas: IBExpert, DBWorkbench, Flame obin, etc! "l#$mas dessas ferramentas so #rat$itas, o$tras no! % IBExpert & $ma das ferramentas mais poderosas, no s' pela ($antidade de rec$rsos oferecidos, como tamb&m pela interface a#radvel e int$itiva! )m ponto positivo & a disponibilidade de $ma verso personal #rat$ita, com al#$mas restri*es de f$ncionalidades! +ale notar ($e, mesmo na verso personal, ele s$pera em rec$rsos todas as o$tras ferramentas ,free- dispon.veis at$almente! % n/mero de rec$rsos e f$ncionalidades do IBExpert & to extenso ($e a maioria das pessoas no conhecem o$ exploram todos eles! 0esse arti#o irei mostrar al#$ns rec$rsos ,menos conhecidos-, mas nem por isso menos /teis o$ interessantes!

Onde encontrar
1ara os exemplos mostrados a se#$ir, estaremos $sando a verso F)22 do IBExpert! 1ara ($em no tem a ferramenta re#istrada, basta baixar a verso 3 I"2 no site 444!ibexpert!com, ($e f$ncionar com todos os rec$rsos, por 56 dias! " verso 1ersonal 7free8 no disp*es de vrios dos rec$rsos apresentados a($i!

Anlise OLAP
9o:e em dia & com$m o$vir falar de BI 7B$siness Intelli#ence8! )ma das ferramentas mais $tili;adas dentro da BI & a anlise %2"1 7o$ c$bo de deciso8! % IBExpert oferece $ma ferramenta %2"1 para ser $sada com os res$ltados de ($al($er <$er= ($e tenha sido exec$tada dentro da IDE do IBExpert! " fi#$ra e c'di#o abaixo representa $ma vis$ali;ao no c$bo de deciso, baseada no res$ltado da <$er= exec$tada! 1ara acessar a ferramenta, basta exec$tar ($al($er ($er=, e na tela de apresentao do res$lta, clicar no boto com o .cone de $m c$bo, na barra de bot*es!
select cli.customer, c.country, c.currency, vend.total_value, vend.order_date from customer cli inner join country c on (cli.country = c.country) inner join sales vend on (cli.cust_no = vend.cust_no)

"trav&s da ferramenta, & poss.vel confi#$rar dinamicamente o c$bo, invertendo as posi*es e a#r$pamentos dos dados, trocando linhas por col$nas, etc! >om $ma ferramenta deste tipo, & poss.vel em po$cos min$tos extrair informa*es para anlise de ne#'cio e verificar, por exemplo, reas deficientes, etc!

Search in Metadata
Esta opo est dispon.vel no men$ 3ools, e permite fa;er $ma b$scar por al#$ma strin#, nos ob:etos do banco de dados selecionados 7ex: tabelas, proced$res, etc8! ?$ito /til para encontrar todas as ocorr@ncias de $ma determinada strin# na DD2 do banco!

ependencies !ie"er

<$em a($i n$nca preciso$ descobrir se determinada tabela, proced$re, vie4, etc! poss$i al#$ma refer@ncia em o$tro ob:eto do banco de dadosA "trav&s desta ferramenta, fica fcil vis$ali;ar as depend@ncias existentes, bem como se$ tipo! Dando $m d$plo cli($e nos itens fa; com ($e a tela de edio do ob:eto se:a aberta!

ocu#enta$%o

% IBExpert poss$i $ma extensa doc$mentao sobre as f$ncionalidades do pro#rama! 1ara acessar essa doc$mentao basta estar conectado na internet e pressionar FB na IDE do IBExpert, o$ ento acessar o endereo 444!ibexpert!infoCdoc$mentation! >omo a doc$mentao & toda em 93?2, ela pode ser baixada localmente para o comp$tador, e acessada atrav&s de $m bro4ser de internet! Existe tamb&m $m livro chamado ,IBExpert Book- ($e pode ser comprado diretamente no site do IBExpert! %s participantes das d$as /ltimas edi*es do FDD 7Firebird Developers Da=8 poss$em $ma verso do livro em 1DF #ravada no >D da confer@ncia!

&egistro de 'anco de dados


1ara facilitar o trabalho do DB", o IBExpert permite re#istrar os bancos de dados ($e sero $tili;ados, bem como os parDmetros de confi#$rao e acesso de cada banco! 0ote ($e esse re#istro & partic$lar do IBExpert, e $tili;ado somente por ele! 1ara acessar a tela de re#istro, di#ite Shi(t)Alt)&, o$ atrav&s do men$ ata'ase*&egister ata'ase! " fi#$ra abaixo mostra a tela de re#istro de $m banco de dados!

"l&m das informa*es bsicas de acesso 7$s$rio, senha, etc!8, existem al#$mas o$tras confi#$ra*es importantes: General

Server Version: Especifi($e a($i ($al a verso do servidor de BD ($e est sendo $tili;ado! % IBExpert s$porta vrias vers*es do Firebird, do InterBase e do Eaffil! " interface e os rec$rsos do

pro#rama so adaptados de acordo com o tipo do servidor, disponibili;ando somente o ($e & s$portado pelo servidor escolhido!

Always capitalize database objects names : dados para mai/sc$las!

ecomendo sempre estar com essa opo ati+ada! Ela

fa; com ($e o IBExpert converta a$tomaticamente todos os nomes de ob:etos criados no banco de

Additional 0o item additional encontramos al#$ns itens ($e a#ili;am o acesso e man$teno de bancos de dados remotos, acessados atrav&s de rede de baixa velocidade, como por exemplo a Internet! se#$intes op*es:

ecomendo ati+ar as

Use metadata cache: Fa; com ($e o IBExpert #rave localmente a confi#$rao da estr$t$ra do banco de dados, evitando fa;er pes($isas constantes no banco! Disable Plan request in SQL window: 0o rec$peraCmostra o plano de acesso $tili;ado nas cons$ltas! Disable per ormance analisys: 0o coletaCmostra informa*es de performance nas cons$ltas! Disable object descriptions in hints: 0o exibe a descrio dos ob:etos nos hints!

Log files/Metadata Changes

!nable lo""in" metadata chan"es: Fe estiver ativado, voc@ deve fornecer $m nome para o ar($ivo ($e arma;enar todas as altera*es de estr$t$ra reali;adas dentro do IBExpert! G $m 'timo rec$rso para a:$dar a constr$ir scripts de at$ali;ao de banco de dados, pois ($al($er alterao de metadata ($e voc@ reali;ar ficar re#istrada nesse ar($ivo

IBEBLOC, >onsiste em $m bloco de instr$*es de DD2 eCo$ D?2 exec$tados pelo IBExpert o$ pelo $tilitrio IBEFcript! "trav&s dele, & poss.vel reali;ar diversos tipos de tarefas, como por exemplo:

3rabalhar com mais de $ma conexo em $m mesmo IBEBlockH >opiar dados entre tabelas, de $m banco de dados para o$troH Exec$tar I%I0s envolvendo tabelas de diferentes bancos de dadosH >omparar dados de diferentes bancos de dados, e sincroni;JlosH

" sintaxe dos comandos dispon.veis & parecida com a lin#$a#em 1F<2, $tili;ada em proced$res e tri##ers do FB, mas expande s$a capacidade em al#$mas reas! >omo exemplo, o comando EKE>)3E F3"3E?E03, introd$;ido no Firebird B!L, pode ser $tili;ado em $m IBEBlock com ($al($er tipo e verso do servidor, incl$indo o InterBase, Firebird B!6, etc! 3amb&m & poss.vel criar arra=s e tabelas temporrias 7em mem'ria8, variveis sem tipo declarado, etc!

% bloco de instr$*es & exec$tado atrav&s do comando EKE>)3E IBEB2%>M ! "baixo temos $m c'di#o adaptado da doc$mentao do IBExpert! % c'di#o cria dois bancos de dados, d$as tabelas 7empre#ados e empresas8, insere informa*es nessas tabelas, e termina retornando os dados rec$perados pela $nio de ambas as tabelas atrav&s do relacionamento entre empre#ado e empresa! Isso demonstra $m po$co do poder ($e esse rec$rso pode fornecer! >ons$lte a doc$mentao do IBExpert para ver o$tros exemplos de $so! 1ara criar eCo$ exec$tar $m bloco de comandos, $tili;e a aba ,FcriptsCBlocks- do Database Explorer do IBExpert!
/* O retorno se dar como se fosse uma tabela virtual, onde os cam os retornados s!o o "#, ename (nome do em re$ado) e %om any (em resa onde ele trabal&a). */ e'ecute ibebloc( returns (id inte$er, ename varc&ar()**), com any varc&ar()**)) as be$in ++ %ria o rimeiro banco de dados (db).fdb) ass3ord ,master(ey, create database ,c-.db).fdb, user ,/0/#12, a$e_si4e 5*67 s8l_dialect 9 clientlib ,fbclient.dll,: ++ %ria o se$undo banco de dados (db;.fdb) create database ,c-.db;.fdb, user ,/0/#12, a$e_si4e 5*67 s8l_dialect 9 clientlib ,fbclient.dll,: ass3ord ,master(ey,

++ conecta o banco db).fdb nomeando a cone'!o com o a elido db) create connection db) dbname ,c-.db).fdb, ass3ord ,master(ey, user ,/0/#12, s8l_dialect 9 clientlib ,fbclient.dll,: ++ conecta o banco db;.fdb nomeando a cone'!o com o a elido db; create connection db; dbname ,c-.db;.fdb, ass3ord ,master(ey, user ,/0/#12, s8l_dialect 9 clientlib ,fbclient.dll,: use db): ++ seleciona a cone'!o db) vstmt = ,create table <em loyees< ( , == , id inte$er not null com any_id inte$er),: e'ecute statement -vstmt: ++ %ria a tabela em loyees no bd).fdb commit: ++ %omita as altera>?es ++ "nsere cinco re$istros na tabela em loyees rimary (ey, full_name varc&ar()**),

insert into <em loyees< (id, full_name, com any_id) values (), ,2le'ander @&vastunov,, ;): insert into <em loyees< (id, full_name, com any_id) values (;, ,1ill Aates,, )): insert into <em loyees< (id, full_name, com any_id) values (9, ,Bo&n #oe,, CDEE): insert into <em loyees< (id, full_name, com any_id) values (5, ,Fladimir Gutin,, 9): insert into <em loyees< (id, full_name, com any_id) values (H, ,/omebody,, )H): use db;: ++ seleciona a cone'!o db; e'ecute statement ++ %ria a tabela com anies ,create table com anies ( id inte$er not null rimary (ey, com any_name varc&ar()**)),: commit: ++ %omita as altera>?es ++ "nsere trIs re$istros na tabela com anies insert into com anies (id, com any_name) values (), ,Jicrosoft,): insert into com anies (id, com any_name) values (;, ,K@+/oft3are,): insert into com anies (id, com any_name) values (9, ,L&e @remlinM,): commit: ++ %omita as altera>?es

use db): ++ seleciona a cone'!o db) ++ 2bre um loo na tabela em loyees, recu erando todos os re$istros dela, um N um. for e'ecute statement ,select id, full_name, com any_id from <em loyees<, into -id, -ename, -cid do be$in use db;: ++ seleciona a cone'!o db; com any = CDEE: /* 1usca no banco de dados db; a em resa associada ao em re$ado recu erado no loo da tabela Om loyees, arma4enando o resultado no cam o com any */ select com any_name from com anies 3&ere id = -cid into -com any: sus end: ++ Petorna o re$istro da tabela virtual end close connection db): ++ Qec&a a cone'!o db) close connection db;: ++ Qec&a a cone'!o db; end

es$ltado:

InsertE% comando InsertEx & $ma extenso do comando Insert, padro do F<2! "trav&s dele, & poss.vel importar dados de ar($ivos !csv 7#eralmente #erados pelo Excel8 para tabelas no BD! " sintaxe do comando est descrita abaixo: I.SE&/EI./O 0&OM OFMI1 ODE2I?I3E caractereNdelimitadorP nomeNdaNtabela CS! O7lista de col$nas8P nomeNdoNar($ivo nP

%nde: #ome$da$tabela: #: 1ermite indica o p$lar nome as da tabela ,n($e receber do os dados ar($ivo importadosH csvH

Lista$de$colunas: %pcional, indica o nome das col$nas na tabela ($e recebero os dados importadosH linhas %aractere$delimitador: Define o caractere ($e delimita os campos, no ar($ivo csv! Fe no informado, o padro & o ,:- 7dois pontos8! 1odeJse escolher incl$sive caracteres especiais, como o 3"B 7ex: delimiter QR8H >aso a tabela especificada no exista no banco de dados, ela ser criada a$tomaticamente, sendo ($e o n/mero de col$nas nessa tabela ser i#$al S ($antidade de valores da primeira linha do ar($ivo csv! %s nomes dos campos sero &$'( &$), etc, e o tipo de todas as col$nas ser VA*%+A*,)--.! >aso $ma lista de col$nas se:a especificada, apenas as informa*es dessas col$nas sero inseridas! % c'di#o abaixo apresenta $m ar($ivo csv, #ravado pelo Excel, com 5 ,col$nas-: 0ome, Endereo e 3elefoneH e o c'di#o $tili;ando o InsertEx para importar esses dados para $ma nova tabela no banco de dados! Arquivo /este0csv1 0omeHEndereoH3elefone >arlosH $a Tois, U66H7BB8 5VLWJRXYW

FoniaH !

Tovernador

1edro

de

3oledo,

B66H

Eli;abethH"v! ?oraes Falles, BLWYH7BV8 BU5VJLWYX %omando e2ecutado no script e2ecutive do 34!2pert1 I.SE&/E- I./O 0%+"N3"BE2" 0&OM CS! Z>:[teste!csvZ DE2I?I3E /abela criada no banco de dados1 > E"3E FNB FNU FN5 8H Select 5 rom nova$tabela6
Q_) Come %arlos /onia Oli4abet& Q_; Ondere>o Pua Aois, ;** Aovernador Gedro de Loledo, )** 2v. Joraes /alles, )H7S ()5) );95+H7SR Q_9 Lelefone ())) 95H7+6RS7

\H]H

3"B2E

0%+"N3"BE2"

7 +" >9" 7ULL8, +" >9" 7ULL8, +" >9" 7ULL8

e'ugger
% Firebird permite a criao de 3ri##ers e Ftored 1roced$res nos bancos de dados! 0o entanto, no h $ma forma nativa de debu"ar o c'di#o das proced$res e tri##ers pelo pr'prio Firebird! % IBExpert poss$i $ma ferramenta de Deb$# interna, ($e sim$la a exec$o do c'di#o de tri##ers e proced$res, oferecendo al#$mas das facilidades ($e estamos acost$mados com o Deb$##er do Delphi, entre elas:

Definio de Break1ointsH Definio de WatchesH "nlise e alterao dos valores das variveisH Exec$o passoJaJpasso do c'di#oH

1ara acessar o debu""er, basta clicar no .cone respectivo na tela de edio de tri##ers o$ stored proced$res! " (igura 1 mostra a tela de deb$##er de Ftored 1roced$res, com $m Breakpoint definido 7em vermelho8 e os valores de al#$mas variveis e parDmetros no momento em ($e o Breakpoint foi atin#ido!

icas B! 1arando o c$rsor do mo$se sobre ($al($er varivel o$ parDmetro do c'di#o far com ($e $m hint se:a exibido com o valor at$al do mesmo! U! >licando com o boto direito do mo$se na mar#em es($erda do editor abre $m men$ com diversas op*es, incl$indo a possibilidade de criao de boo7mar7s no c'di#o, para nave#ao rpida!

0a parte inferior da tela do deb$##er temos al#$mas op*es para vis$ali;ar o /ltimo comando exec$tado, o res$ltado at$al da proced$re, os breakpoints e 4atches definidos! " ($al($er momento & poss.vel alterar o valor dos parDmetros e variveis $tili;ados no c'di#o! +ale lembrar ($e d$rante o processo de deb$#, as opera*es exec$tadas sobre tabelas e ob:etos do banco de dados pelo c'di#o ($e est sendo deb$#ado, no sero efetivadas ao final do processo!

Editor de Procedures e /riggers


3odos os editores do IBExpert poss$em ,sinta2 hi"hli"ht-, facilitando a leit$ra dos c'di#os e instr$*es F<2! 1artic$larmente, no editor de tri##ers e proced$res, temos dois bot*es adicionais na barra de ferramentas, identificados por ,C^!!^C-! " f$no deles & de comentar e descomentar o c'di#o da proced$re o$ tri##er, preservando os at$ais comentrios ($e possam existir no c'di#o! %$tro rec$rso m$ito /til, acessado pelo men$ popJ$p do editor de c'di#o, & o de converter a caixa dos caracteres dos identificadores e palavrasJchave do c'di#o! % mesmo men$ oferece o$tras op*es bastante interessantes, como a impresso do c'di#o e a exportao do mesmo no padro 3F, preservando a formatao das fontes, cores, etc! 9 tamb&m $ma opo para ,1roc$ra Incremental-, facilitando a locali;ao de variveis e comandos pelo c'di#o!

I.SE&/ 2/ur'inado3
% IBExpert amplia o poder do comando I0FE 3 do F<2, permitindo ($e ele copie dados entre diferentes bancos de dados! F$ponha ($e estamos conectados em $m banco de dados e dese:amos copiar somente os clientes 7campo 3I1% _ \>]8 da tabela de ,clientes e fornecedores- 7 %li&or8 para $ma nova tabela chamada clientes em $m o$tro banco de dados, re#istrado no IBExpert com o nome de ,0ovoNBanco-! Fe#$e o comando necessrio para efet$ar essa operao, exec$tado no F<2 Editor do IBExpert: insert into O0ovoNBancoP!clientes select ^ (ro# clifor "here tipo _ Z>ZH G poss.vel copiar apenas al#$ns campos da tabela, por exemplo, somente >'di#o e 0ome: insert into O0ovoNBancoP!clientes 7codi#o, nome8 select codi#o,nome (ro# clifor "here tipo _ Z>ZH % IBExpert se encarre#a de criar a tabela no o$tro banco de dados, caso ela ainda no exista! % nome dos campos e se$s tipos sero id@nticos aos da tabela ori#inal! % $so dos colchetes OP no alias do banco de dados & obri#at'rio!

Menu pop)up nos grids


%s #rids ($e apresentam o res$ltado das cons$ltas exec$tadas no IBExpert poss$em $m men$ popJ$p ($e cont&m in/meras op*es interessantes, destacandoJse as op*es para copiar os res$ltados para o clipboard,

incl$indo a opo para #erar $m script de insero dos dados retornados! G poss.vel tamb&m aplicar filtros, a:$star a lar#$ra das col$nas da #rade, a#r$par os campos semelhantes, trocar a ordem das col$nas, etc!

Criando procedures e +ie"s a partir de ta'elas


% IBExpert poss$i $ma opo m$ito prtica para a criao de proced$res de insero, at$ali;ao e remoo de dados em tabelas! "o abrir a tela de estr$t$ra de $ma tabela, na barra de ferramentas haver $m .cone para a criao de Ftored 1roced$res baseadas na estr$t$ra da tabela! >licando no .cone, ser exibida a tela abaixo! 0ela podemos selecionar os tipos de proced$re ($e dese:amos ($e o IBExpert crie! 0essa mesma tela & apresentado o c'di#o de cada tipo de proced$re! 1odemos indicar ($ais campos sero incl$.dos nas proced$res, marcandoJos o$ desmarcandoJos

individ$almente!

Do mesmo modo, h tamb&m $m .cone para a criao de vie4s baseadas na estr$t$ra da tabela at$al! 1odemos pedir ao IBExpert para criar os tri##ers de insero, at$ali;ao e remoo para essa vie4, tornandoJa $ma vie4 ,at$ali;vel-!

/est

ata 4enerator

2ocali;ado no men$ 3ools, permite inserir dados de teste em tabelas rec&m criadas! 1ara cada campo de $ma tabela, pode ser determinado como a informao S ser inserida ser obtida: randomicamente, de $ma lista de valores, de $ma tabela, o$ incrementalmente 7para campos do tipo inteiro8, de $ma lista, e h tamb&m $ma opo para #erar T)IDs! " ferramenta se adapta a$tomaticamente de acordo com o tipo de dado de cada campo, portanto podemos inserir praticamente ($al($er tipo de informao, como datas, n/meros, strin#s, etc!

S5LBuilder e

ataAnalis6s

1ara os ,pre#$iosos-, o IBExpert oferece $m <$er=B$ilder ($e permite constr$ir o comando select de forma vis$al e int$itiva, li#ando as tabelas atrav&s dos se$s relacionamentos, escolhendo ($ais campos sero rec$perados, a ordenao $tili;ada, e at& mesmo o crit&rio de filtra#em dos dados 7W9E E8!

" fi#$ra abaixo apresenta $ma ($er= sendo constr$.da no F<2 B$ilder! % canco de dados $tili;ado & o Emplo=ee!fdb, copiado por padro na instalao do Firebird!

ataBase

esigner

Ferramenta prtica para modelar novos bancos de dados atrav&s do ?E ! G poss.vel definir todo o banco de dados, incl$sive exce*es, chaves primrias, inte#ridade referencial, vie4s, proced$res, comentrios, etc! % desi#ner tamb&m permite fa;er a en#enharia reversa, criando ?E s a partir de bancos de dados : existentes!

" confi#$rao de vis$ali;ao dos dia#ramas incl$i a separao das entidades em la=ers eCo$ reas de interesse, facilitando a or#ani;ao e a vis$ali;ao inte#ral o$ parcial do modelo! Diferentes n.veis de ;oom podem ser aplicados! " ferramenta poss$i opo para impresso do ?E , : fa;endo a diviso em vrias folhas, ($ando necessrio!

7tilitrios de linha de co#ando e

LLs

I$ntamente com o IBExpert so distrib$.dos vrios $tilitrios de linha de comando, entre eles o 34!Script, 34!!2tract e 34!%ompare! % primeiro tem a f$no de exec$tar scripts arma;enados em ar($ivos texto! " #rande vanta#em desse $tilitrio & ($e ele aceita todos os comandos especiais de script espec.ficos do IBExpert, entre eles o : comentado !2ecute 34!4loc70 3amb&m permite cripto#rafar e rodar os scripts cripto#rafados sem necessidade de descripto#rafaJlos previamente! Di#itando ibescript 8enter9 no prompt de comando lhe dar $ma lista de todos os parDmetros ($e podem ser $sados na chamada do $tilitrio! % IBEExtract permite extrair dados e metadados de ($al($er banco de dados, salvandoJos em ar($ivos determinados pelo $s$rio! 3odas as op*es da f$no !2tract :etadata do men$ /ools no IBExpert esto dispon.veis atrav&s desse $tilitrio, incl$indo op*es de extrair informa*es de campos blob, confi#$rar os valores de #enerators, extrair privil&#ios, etc! % $tilitrio IBE>ompare reali;a compara*es de estr$t$ra o$ dados entre dois bancos de dados, #erando o script de sincroni;ao entre eles! 3amb&m & poss.vel $sar $m ar($ivo de confi#$rao previamente definido, indicando o ($e se dese:a comparar!

>om a biblioteca IBEFcript!dll, & poss.vel exec$tar scripts de dentro de o$tros aplicativos ($e s$portam a chamada de f$n*es de D22s, como por exemplo o Delphi! Fendo assim, podemos $sar essa D22 para exec$tar os scripts ($e $tili;am os comandos especiais do IBExpert de dentro das nossas aplica*es!

ataBase Explorer Pro8ect


0a :anela do Database Explorer 7($e lista os bancos de dados re#istrados no IBExpert8 h $ma aba chamada Project! >licando nela, podemos observar $ma lista de bancos de dados re#istrados, semelhante S lista mostrada na aba Databases! "trav&s dela, podemos criar #r$pos com vis*es c$stomi;adas por rea de at$ao, adicionando nesses #r$pos apenas os ob:etos de interesse! 1or exemplo, em $m #rande sistema inte#rado de fat$ramento, poder.amos criar $m #r$po dentro do pro:eto destinado ao ,>ontas a 1a#ar-! Dentro desse #r$po seriam exibidos apenas os ob:etos 7tabelas, proced$res, etc!8 do banco relacionados com ,>ontas a 1a#ar-! Dessa forma, poder.amos s$bdividir cada rea ($e comp*e o banco de dados! 1ara adicionar #r$pos e ob:etos em $m pro:eto, basta dar $m ,ri#ht click- no pro:eto dese:ado e $sar a opo #ew &older o$ Add ;bject! 0ote ($e, na primeira ve; ($e $tili;ar essa opo, o IBExpert avisar ($e criar $ma tabela, $m tri##er e $m #enerator no banco de dados, responsveis por #erenciar as diferentes vis*es desse BD! 0o men$ popJ$p tamb&m h $ma opo de li#ar o 3nspector Pa"e :ode! 0esse modo, a :anela do Database !2plorer ser dividida em d$as: do lado es($erdo ser mostrado os bancos de dados re#istrados, e do lado

direito os pro:etos definidos! Isso facilita m$ito distrib$ir os ob:etos ($e comp*em cada #r$po do pro:eto, bastando arrastJlos e soltJlos do Database !2plorer para os #r$pos criados no pro:eto!

Conclus%o
Espero ($e este arti#o tenha mostrado o ($anto o IBExpert pode nos a:$dar nas tarefas do diaJaJdia, na administrao de $m banco de dados! 2embreJse, existem m$itos o$tros rec$rsos ($e no foram mostrados a($i, portanto, baixe a verso de avaliao e divirtaJse desvendando os o$tros ,se#redos- da ferramenta HJ8