Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 46

Treinamento em

BrOffice.org Base
1
Sumrio
Criando um documento do Base........................................................................................3
O Ambiente do Base..........................................................................................................5
Tabelas...............................................................................................................................6
Tipos de dados..............................................................................................................7
Chaves...........................................................................................................................7
Chave primria.........................................................................................................7
Chave secundria (Forein !e"s#.............................................................................$
Criando uma tabela.......................................................................................................$
%sando o assistente..................................................................................................$
%sando a &anela de pro&eto.......................................................................................'
(ndices.........................................................................................................................))
*ela+,es......................................................................................................................))
-ditando dados................................................................................................................).
/anela de entrada de dados..........................................................................................).
Formulrios.................................................................................................................).
Assistente de 0ormulrios.......................................................................................)5
-ditando 0ormulrios..............................................................................................)7
-ntrada de dados.........................................................................................................)'
Consultas.........................................................................................................................11
Assistente para consultas............................................................................................11
/anela da 234.............................................................................................................1.
Comando 2-4-CT.................................................................................................1.
/anela de desenho de consultas..............................................................................16
-5press,es..............................................................................................................17
Ordenando consultas...................................................................................................1'
-vitando duplica+,es..................................................................................................1'
Consultas com par6metros..........................................................................................37
Fun+,es do Base.........................................................................................................37
Fun+,es de resumo.................................................................................................37
Fun+,es num8ricas.................................................................................................3)
Fun+,es de caracteres.............................................................................................31
Fun+,es temporais..................................................................................................33
-5ibi+,es.........................................................................................................................35
*elat9rios.........................................................................................................................37
Criando *elat9rios......................................................................................................37
-ditando *elat9rios.....................................................................................................3$
*eistrar : -5cluir Fontes de ;ados.................................................................................7
Cone5<o com outros Bancos de ;ados............................................................................)
=mportando dados para o Base..........................................................................................1
>ais in0orma+,es..............................................................................................................
2
Criando um documento do Base
?ara criar um novo documento do Base sia os passos abai5o@
Aa barra de Ferramentas do BrO00ice.orB cliCue sobre o Dcone EAovoF e
selecione Banco de Dados@
O Assistente de Banco de ;ados ser e5ecutado@
NOTA@ o assistente tamb8m ser disparado ao comandar a e5ecu+<o do BrO00ice.or
BaseB a partir do sistema operacional.
-is as op+,es deste diloo@
A op+<o GAbre um arquivo de banco de dados existenteH permite a
sele+<o de um documento do Base para abertura.
A op+<o GConectar a um banco de dados existenteH permite a cria+<o de
um documento do BaseB para se conectar a um banco de dados dBase ou
de outro 0abricante (?lanilha do CalcB Te5to A2C==B >2 AccessB >"2ClB
OracleB etc#.
3
Ilustrao 1: Novo documento do
Base
Ilustrao 2: rimeira tela do assistente de banco de dados
A9s Cueremos criar um novo documentoB ent<o marCue GCriar novo
banco de dadosH e cliCue sobre E?r95imoF.
A seunda tela do assitente ser e5ibida@
Aesta tela podemos@
*eistrar ou n<o o banco de dados. 3uando devemos reistrar I O
reistro ser obriat9rio se 0ormos utiliJar os nossos dados em outros
documentos do B*O.orB por e5emplo@ malaKdiretaB etiCuetasB controles
de 0ormulriosB tabela din6micaB etc. O reistro tamb8m pode ser 0eito
depois. >arCue G!im" re#istre o banco de dados $ara mimH.
-scolher uma a+<o Cue ser e5ecutada ap9s a cria+<o do documento. A
op+<o GCriar tabelas usando o assistenteH abre o documento e e5ecuta o
assistente de tabelas. >arCue apenas a cai5a GAbrir o banco de dados
$ara edioH e cliCue sobre o bot<o EConcluirF.
O diloo G!alvar ComoH ser e5ibidoB diite o nome Meus Cds para o
novo arCuivo e cliCue sobre E2alvarF. O Base ser ativadoB carreando o
novo documento.
-ste novo documento 8 uma base de dados. O Base usa o L234 (L"personic
234#B um sistema baseado no /ava e com e5celente suporte aos padr,es 234B
como erenciador do banco de dados.
%ma base de dados pode conter diversos ob&etos e atributosB entre os Cuais@
Tabelas com os dadosB FormulriosB Consultas e *elat9rios.
;ocumentos do BaseB usados para cone5<o a bancos de dados de outro
0abricanteB s<o apenas uma inter0ace para acesso aos dados. Formulrios e
relat9rios s<o embutidos no documentoB enCuanto os dados residem no banco
de dados oriinal.
4
Ilustrao %: !e#unda tela do assistente de banco de dados
O Ambiente do Base
Mamos analisarB rapidamenteB a &anela do Base@
Al8m dos elementos tradicionaisB esta &anela cont8m trNs pain8is@
GBanco de dadosHB do lado esCuerdoB cont8m os Dcones das cateorias de
ob&etos Cue o usurio pode criar@ TabelasB ConsultasB Formulrios e *elat9rios.
GTare&asHB na parte superior direitaB cont8m uma rela+<o de tare0as bsicas para
a cateoria selecionada. Ao selecionar uma tare0aB uma breve descri+<o ser
apresentada O direita.
GOb'etosHB na parte in0erior direitaB e5ibe os ob&etos de uma das cateorias do
painel Banco de dados. P direita do painelB temos a rea de visualiJa+<o do
ob&eto selecionadoB para ativKla altere de GNen(umH para GDocumentoH.
>uitas tare0as sobre os ob&etos s<o e5ecutadas em &anelas pr9priasB isto 8B o
Base abre uma nova &anela para a tare0a.
AoraB cliCue em cada uma das cateorias e observe as mudan+as nos outros pain8is.
Aote Cue nenhum ob&eto ser e5ibido no painel GOb'etosH. =sto 8 compreensDvelB
pois o nosso documento est vaJio. Os relat9riosB 0ormulrios e consultas
operam sobre as tabelas do banco de dados. -nt<oB em primeiro luarB
precisamos de pelos menos uma tabela.
5
Ilustrao ): *anela do Base
Tabelas
2e vocN n<o tem nenhuma 0amiliaridade com banco de dadosB imaine uma tabela como
uma cole+<o de colunas (como as de uma planilha#. As colunas s<o tamb8m chamadas
de GCam$osH. -las 0ormam linhas (como as de uma planilha# chamadas de
G+e#istrosH.
Cada coluna tNm as suas pr9prias caracterDsticas@ nomeB tipo de dadoB tamanhoB entrada
obriat9riaB dentre outras. Ap9s de0inir a tabelaB vocN poder uardar os seus dados nas
colunasB respeitando os atributos de cada uma delas.
%m reistro de uma tabela 8 0ormado pelo con&unto dos valores e5istentes nas colunasB
re0erentes a uma mesma entidade. ?or e5emploB numa tabela de C;2B um reistro (ou
linha# 8 o con&unto dos dados de um Qnico C;.
Mamos pro&etar duas tabelas para o cadastro dos C;s musicaisB uma para os dados dos
C;s e outra para as >QsicasB eis a estrutura bsica de cada uma@
,strutura da Tabela CD!@
Campo Tipo Tamanho Descrio
=;C; =nteiro =denti0icador do C; (Chave primria#
T(T%4O Te5to EMA*CLA*F 67 TDtulo do C; (obriat9rio#
A*T=2TA Te5to EMA*CLA*F 67 Aome do artista (obriat9rio#
?*-RO ;ecimal )5.1 ?re+o do C;
A3%=2=RSO ;ata ;ata de aCuisi+<o do C;
CA?A =maem =maem com a capa do C;
,strutura da Tabela -.!ICA!@
Campo Tipo Tamanho Descrio
=; =nteiro =denti0icador da mQsica (Chave primria#
=;C; =nteiro =d do C; com a mQsica (Chave e5terna#
AO>- Te5to 67 Aome da mQsica
A%TO* Te5to 67 Autor da mQsica
*-?*O;%RSO Lora Tempo de reprodu+<o da mQsica
%m campo pode ter outros atributosB como obriatoriedade e 0ormata+<o.
AT,N/0O@ ao desenhar a estrutura das suas tabelasB se&a criterioso na escolha das
caracterDsticas dos campos (tipoB tamanhoB etc#. Aluns bancos de dadosB incluindo o
BaseB s<o riorosos ao lidar com altera+,es posteriores em tabelas. ConsidereB aindaB a
possibilidade de mira+<o para outro banco de dadosB evitandoB por e5emploB caracteres
acentuados nos nomes dos campos e tabelas.
6
Tipos de dados
Os dados das colunas do Base podem ser de um dos tipos@
Tipo [SQL] Descrio
T"n" =nteer ET=AT=ATF dados do tipo inteiro de tamanho bem peCueno () b"te#
Bi=nt EB=U=ATF dados do tipo inteiro de tamanho muito rande
=maem E4OAUMA*B=AA*TF dados do tipo imaem
Binrio EMA*B=AA*TF dados do tipo binrio
Binrio (0i5o# EB=AA*TF dados do tipo binrio de tamanho 0i5o
>emo E4OAUMA*CLA*F dados do tipo memo (te5to muito rande#
Te5to (0i5o# ECLA*F dados do tipo te5to de tamanho 0i5o
AQmero EA%>-*=CF dados do tipo num8rico
;ecimal E;-C=>A4F dados do tipo num8rico com casas decimais
=nteer E=AT-U-*F dados do tipo inteiro normal ( . b"tes #
2mall =nteer E2>A44=ATF dados do tipo inteiro peCueno ( 1 b"tes #
Float EF4OATF tipo num8rico com ponto 0lutuante (precis<o simples#
*eal E*-A4F tipo num8rico com ponto 0lutuante
;ouble E;O%B4-F tipo num8rico com ponto 0lutuante (precis<o dupla#
Te5to EMA*CLA*F dados do tipo te5to (cadeia de caracteres#
Te5to EMA*CLA*V=UAO*-CA2-F dados do tipo te5toB inorando maiQsculas : minQsculas
2im:A<o EBOO4-AAF dados do tipo l9ico ( verdadeiro : 0also #
;ata E;AT-F dados do tipo data
Lora ET=>-F dados do tipo hora
;ata:Lora ET=>-2TA>?F dados do tipo dataKhora
OTL-* EOTL-*F dados do tipo ob&eto
Os nomes entre colchetes re0letem a nomenclatura da 234.
Chaves
As chaves est<o diretamente relacionadas com a recupera+<o e a manuten+<o da
interidade dos dados do banco de dados. 2<o de dois tipos@ (1# ?rimria e (2#
2ecundria (ou -5terna#.
Chave primria
A chave primria 8 uma esp8cie de identi0icador Qnico do reistro. ?ode ser
0ormada por um ou mais campos e deve identi0icar com e5clusividade um
reistro. W permitido apenas uma chave primria por tabela. Ao escolher
vrios campos como chave primriaB certi0iCueKse da e5clusividade do valor
0ormado. O Base permite a de0ini+<o de um campo automtico (=AT-U-*
ou B=U=AT# por tabelaB Cue pode (ou n<o# ser usado como chave primria.
7
FinalmenteB sem uma chave primria no ser possvel a edio da
a!ela.
Chave secundria (Foreign keys)
2<o usadasB principalmenteB para estabelecer uma rela+<o entre di0erentes
tabelas. Aa maioria das veJesB uma chave secundria de uma tabela cont8m
valores de uma chave primria de outra tabela. Aeste casoB ambas devem ser
do mesmo tipo de dado.
-m nosso e5emploB temos duas tabelasB a primeira C;2B com dados sobre
cada C; e um campo =;C; como chave primriaB a seunda >X2=CA2B
com dados sobre todas as mQsicas da cole+<o de C;s. ?eruntaKse@ como
saber Cuais s<o as mQsicas e5istentes num dado C;B se as in0orma+,es est<o
em tabelas di0erentes I
A solu+<o consiste na inclus<o de um campo =;C; na tabela >X2=CA2.
AssimB ao cadastrar uma mQsicaB podemos inserir neste campo o valor do
campo =;C; da tabela C;2. O campo =;C; da tabela >X2=CA2 8 uma
chave secundria (ou e5terna#.
Ao oraniJar os campos das tabelas deste modoB para recuperar as mQsicas
de um dado C;B basta uma consulta como@
Selecione as msicas com o campo IDCD igual ao campo IDCD da
tabela CDS
(select * from msicas where IDCD == CDS.IDCD)
Me&amos aora como criar as nossas tabelas.
Criando uma tabela
?ara criar uma tabelaB selecione GTabelasH no painel Banco de ;ados e escolha
uma das op+,es G1sar assistente $ara criar tabelaH ou GCriar tabela na exibio
de desi#nH. ?ara o nosso e5emploB vamos usar a seunda alternativa.
sando o assistente
O uso do assistente 8 bem simples e compreende Cuatro etapas (crie uma
tabela CualCuer para se 0amiliariJar#@
Aa primeiraB escolha uma cateoria e uma tabela (0ictDcia# de e5emploB
depois selecione e mova os campos dese&ados para a listaem GCam$os
selecionadosH.
Aa seundaB de0ina os atributos dos campos. ?ara istoB selecione o campo na
lista GCam$os selecionadosH e altere os seus atributos na rea
GIn&orma2es sobre o cam$oH. AindaB podeKse acrescentar e : ou e5cluir
campos e alterar a sua ordem.
A terceira etapa 8 para a de0ini+<o da chave primria. 2e vocN dese&a usar
um campo e5istente (ou uma combina+<o de campos# e est inseuro sobre
a unicidade do valorB escolha a op+<o GAdicionar automaticamente uma
c(ave $rim3riaH e marCue a cai5a G4alor autom3ticoHB dei5ando para o
Base a solu+<o desta con0us<o.
8
Aa Cuarta etapaB diite o nome da sua tabela e selecione a a+<o seuinteB
aCui GInserir dados imediatamenteH. CliCue sobre o bot<o EConcluirFB a
&anela de inser+<o de dados ser ativadaB 0echeKa ou diite os seus dados na
tabela.
sando a !anela de pro!eto
Mamos criar as nossas tabelasB selecione GTabelasH e escolha GCriar tabela
na exibio de desi#nH. A &anela ser ativadaB sem nenhum campo de0inido.
-is uma breve descri+<o dos seus componentes (ve&a a 0iura#@
Abai5o da barra de 0erramentasB temos a rea de de0ini+<o dos camposB com
Cuatro colunas@ a primeira n<o tem tDtulo e indica o estado da sele+<o ou a
marca de chave primriaB as outras cont8m os tDtulos GNome do Cam$oHB
GTi$o do Cam$oH e GDescrioH. A coluna GTi$o do Cam$oH cont8m uma
lista para a sele+<o do tipo de dado dese&ado.
Aa parte in0eriorB vem as propriedades do campo selecionado (com a seta
verde#B estas propriedades variam de acordo com o tipo do campo. Ao lado
direitoB tem uma cai5a de te5to Cue e5ibe uma a&uda para a propriedade
selecionada. A propriedade G4alor adroH de0ine um valor inicial para o
campoB na cria+<o de um novo reistro. ?ara a 0ormata+<o de camposB o
Base usa o mecanismo de 0ormata+<o do BrO00ice.or (um tanto limitado#.
2e n<o e5istir um 0ormato prede0inido adeCuadoB podemos criar um.
9
Ilustrao 5: *anela de $ro'eto de tabelas 6Tabela CD!7
Crie os campos da tabela C;2B de acordo com a 0iura acima. Aora a&uste
as suas propriedades (as outras propriedades permanecem com o valor
padr<o#@
=;C;@ GAuto 4alorH@ 2im
T(T%4O@ G,ntrada Obri#at8riaH@ 2im Y GTaman(oH@ 67
A*T=2TA@ G,ntrada Obri#at8riaH@ 2im Y GTaman(oH@ 67
?*-RO@ GTaman(oH@ )5 Y GDecimaisH@ 1
AoraB vamos de0inir a nossa chave primria. 2elecione a linha do campo
=;C;B cliCue com o bot<o direito do mouse eB no menu do conte5toB
selecione GC(ave rim3riaH. Aote Cue o Dcone de uma chave ser
acrescentado O esCuerda do nome do campo =;C;.
2alve a tabela@ cliCue sobre o Dcone G!alvarHB diite o nome C;2 e cliCue
em EOZF.
Feche a &anela de desenho de tabelas para retornar ao Base. Observe Cue
temos uma tabela de nome C;2 na rea de ob&etos do Base.
Mamos criar a tabela >X2=CA2 do nosso banco de dados. 2elecione
GTabelasH e escolha GCriar tabela na exibio de desi#nH. Crie os campos
como e5plicado e altere as propriedades indicadas para@
=;@ GAuto 4alorH@ 2im
=;C;@ G,ntrada Obri#at8riaH@ 2im
AO>-@ G,ntrada Obri#at8riaH@ 2im Y GTaman(oH@ 67
A%TO*@ GTaman(oH@ 67
AoraB selecione a linha =;B cliCue com o bot<o direito do mouse e
selecione GC(ave rim3riaH no menu. Aote o Dcone de chave primria ao
lado do nome do campo.
-is a aparNncia 0inal dos campos da tabela >Qsicas@
10
Ilustrao 9: !alvar tabela
Ilustrao :: Tabela -.!ICA!
2alve a tabela com o nome >X2=CA2 e 0eche a &anela de desenho de
tabelas.
Aora Cue temos duas tabelasB C;2 e >X2=CA2B em nosso arCuivo do
BaseB precisamos salvKlo. Aa barra de 0erramentas do BaseB cliCue sobre o
Dcone G!alvarH.
?ara veri0icar alumas opera+,es sobre as tabelasB selecione a tabela C;2 e
cliCue com o bot<o direito do mouse para e5ibir o menu do conte5to (ve&a a
0iura abai5o#.
A op+<o G,ditarH permite altera+,es na estrutura da tabela e a op+<o
GAbrirH abre a tabela numa &anela de entrada de dados.
ndices
(ndices s<o arCuivos ordenados com base numa ou mais colunas de uma tabelaB
cu&o ob&etivo principal 8 apontar para a localiJa+<o 0Dsica da in0orma+<o no banco
de dados. ?ara tabelas muito randes isto acelera a recupera+<o de dadosB masB em
contrapartidaB sobrecarrea a edi+<o [ a cada atualiJa+<o da tabela o Dndice
tamb8m deve ser atualiJado.
O Base cria Dndices automticos para as chaves primrias de uma tabela eB
tamb8mB para as chaves e5ternas de uma tabela numa rela+<o (ve&a o pr95imo
t9pico#.
?ara criar um DndiceB na /anela de desenho de tabelasB selecione ;erramentas <
Desi#n do =ndice 6ou cliCue sobre o Dcone na barra de 0erramentas#.
Relaes
%ma rela+<o de0ine o modo como os dados entre di0erentes tabelas est<o
relacionados entre si e pode ser de trNs tipos@
%m a %mB para cada reistro da tabelaV) e5iste outro na tabelaV1\
%m com >uitosB para cada reistro da tabelaV) e5istem vrios na tabelaV1
(diJemos Cue a tabelaV) 8 a "rincipal e a tabelaV1 a Dealhe#\
>uitos com >uitosB cada reistro da tabelaV) pode ter muitos reistros na
tabelaV1 e cada reistro da tabelaV1 pode ter muitos reistros na tabelaV).
11
Ilustrao >: O$era2es com tabelas
;evemos criar *ela+,es se Cuisermos usar aluns recursos (ou reras# dos bancos
de dados relacionais. ?ara opera+,es simplesB elas n<o s<o necessrias.
-m nosso e5emploB o relacionamento entre as tabelas C;2 e >X2=CA2 8 do tipo
%m com >uitosB porCue num C; podemos ter vrias mQsicas. Ao t9pico sobre
ChavesB e5plicamos como estruturar os campos das tabelas de modo a permitir
este tipo de relacionamento. 2omente a cria+<o de chaves em duas tabelasB n<o
implica na e5istNncia de uma rela+<o entre as mesmasB ent<o precisamos criKla.
Ao BaseB selecione ;erramentas Y +ela2es para ativar a &anela de desenho de
rela+,es@
Ao diloo GAdicionar TabelasH selecione C;2 e cliCue sobre EAdicionarFB
depois selecione >X2=CA2 e cliCue em EAdicionarFB a seuir 0eche o diloo.
Observe Cue as tabelasB com a lista de camposB 0oram adicionadas na &anela de
desenho.
AoraB na barra de menuB selecione GInserir Y Nova +elaoH para ativar o diloo
*ela+,es.
12
Ilustrao ?: *anela de desen(o de rela2es
Aluns dos bene0Dcios da e5istNncia de uma *ela+<o entre tabelas podem ser
notados em GAtuali@ar o$2esHB Cue lista o comportamento durante a atualiJa+<o
de dados e G,xcluir o$2esHB Cue lista o comportamento durante as e5clus,es\ por
e5emploB a op+<o G,xcluir cascataH sini0ica CueB ao e5cluir um reistro da
tabela C;2 os reistros de todas as suas mQsicas ser<o e5cluDdos da tabela
>X2=CA2.
A&uste as in0orma+,es de acordo com a 0iura acimaB cliCue sobre EOZF e noteB na
&anelaB o relacionamento ) para A entre as duas tabelas.
2e Cuiser veri0icar os DndicesB edite a tabela >X2=CA2 eB na &anela de desenho de
tabelasB cliCue sobre o Dcone GDesi#n do =ndiceH e observe a e5istNncia dos dois
Dndices. Feche o diloo (ndices e a &anela para retornar ao Base.
As nossa tabelas est<o prontas para receber dados.
13
Ilustrao 1A: Di3lo#o +ela2es
Ilustrao 11: +elao 1m $ara -uitos
"ditando dados
=sto pode ser 0eito de duas maneiras@ (1# usando a &anela de entrada de dados e (2#
usando 0ormulrios.
Janela de entrada de dados
2elecione a tabela C;2B cliCue com o bot<o direito do mouse e escolha a op+<o
GAbrirH. A &anela ser ativada (n<o diite nenhum dadoB vamos 0aJNKlo usando
0ormulrios#.
Aponte o cursor do mouse para os Dcones da barra de 0erramentasB veri0icando a
0inalidade de cada um. Aa parte in0erior da &anela (n<o mostrada#B h um contador
de reistros e Dcones para a navea+<o pelos reistros.
Aote Cue a disposi+<o dos campos seue a mesma ordem em Cue 0oram criados eB
ao apontar o cursor do mouse sobre um tDtulo de colunaB a sua descri+<o ser
e5ibida.
A larura das colunas e a altura das linhas podem ser alteradasB de modo
semelhante ao de uma ?lanilha ou Tabela do ]riter.
Observe Cue a coluna =;C; cont8m o atributo GCam$oAutom3ticoH e n<o pode
ser editada. A coluna CA?A (do tipo =maem# cont8m o atributo GOB*,CTH eB
atualmenteB n<o pode ser editada na &anela de edi+<o.
Ap9s se 0amiliariJarB 0eche a &anelaB retornando ao Base.
Formulrios
Formulrios permitem a visualiJa+<o e edi+<o dos dados de uma ou mais tabelas
(ou consulta#B de modo 0le5Dvel e con0iurvel pelo usurio. ?odemos trabalhar
apenas os campos Cue nos interessa e na ordem Cue CuisermosB isto 8 Qtil porCue
nem sempre dispomos dos dados na mesma ordem em Cue os campos 0oram
criados na tabela.
Formulrios do Base cont8m controles (cai5a de te5toB etiCuetasB etc# dispostos
sobre um documento do ]riter. W possDvel ter um 0ormulrio (principal# com um
ou mais sub0ormulrios (detalhes#. 4embreKse Cue tanto os 0ormulrios como os
controles possuem suas pr9prias propriedades e eventosB o Cue aumentaB ainda
maisB o poder dos mesmos.
14
Ilustrao 12: *anela de entrada de dados
-les podem ser salvos como documentos embutidos no documento do Base ou
como documentos independentes (estesB n<o podem ser criados com o assistente#.
2<o criados de duas maneiras@ (1# na e5ibi+<o de desin e (2# usando o assistente.
A primeira e5ie um certo domDnio sobre os 0ormulrios do BrO00ice.or e a
seunda 8 menos especialiJadaB por8m mais intuitiva.
Assistente de #ormulrios
Mamos usar o assistente para criar o nosso 0ormulrio. 2elecione
G;ormul3riosH e cliCue sobre G1sar assistente $ara criar &ormul3rioHB para
e5ibir o seu primeiro diloo.
Aote Cue e5istem $ (oito# etapas@
Aa primeira etapa G!eleo de cam$osH devemos@
Aa lista GTabelas ou consultasHB selecionar a tabela. -scolha a tabela
C;2\
>over os campos dese&ados da lista GCam$os dis$on=veisH para a lista
GCam$os no &ormul3rioH. Aote Cue o campo CA?A (tipo =maem#B n<o
est relacionado. >ova todos os campos (aCuiB vocN pode alterar a
ordem dos mesmos#\
CliCue em EAvan+arFB para a seunda etapa GCon&i#urar um
sub&ormul3rioH.
%m sub0ormulrio 8 um 0ormulrio inserido noutro 0ormulrio eB
normalmenteB 8 usado Cuando dese&amos operar sobre os dados de tabelas
relacionadas. -ste 8 o nosso caso.
Aesta etapaB devemos@
15
>arcar a cai5a GAdicionar sub&ormul3rioH. Aote CueB apesar de e5istir
uma rela+<o em nosso banco de dadosB a op+<o para usKla est
indisponDvel.
Clicar em EAvan+arF para a etapa GAdicionar cam$os do
sub&ormul3rioH.
Aesta etapaB devemos@
2elecionar a tabela >X2=CA2\
>over todos os seus campos para a lista GCam$os no &ormul3rioH\
Clicar sobre EAvan+arF e passar para a Cuarta etapa GObter cam$os
associadosH.
ACuiB vamos estabelecer a lia+<o entre as tabelas@
2elecione =;C; como Grimeiro cam$o de sub&ormul3rioH\
2elecione =;C; como Grimeiro cam$o de &ormul3rio $rinci$alH\
CliCue sobre EAvan+arF para a Cuinta etapa GDis$or controlesH.
Aote Cue os dois 0ormulrios s<o acrescentados ao documentoB ambos com a
disposi+<o semelhante a uma planilha de dados.
Aesta etapa vamos alterar a disposi+<o@
-m GDis$osio do &ormul3rio $rinci$alH escolha a primeira op+<o
GColunar B etiquetas a esquerdaH\
;ei5e a disposi+<o dos campos do sub0ormulrio como ?lanilha de
dados\
CliCue sobre EAvan+arFB passando para a se5ta etapa GDe&inir entrada
de dadosH.
Aesta etapa podemos escolher como o 0ormulrio ser utiliJado.
;ei5e como est e cliCue em EAvan+arF.
Aa etapa GA$licar estilosH@
-m GBorda do cam$oHB selecione GlanoH\
CliCue em EAvan+arFB para de0inir o nome do 0ormulrio.
Aesta etapa@
Aceite o nome suerido (C;2# e cliCue sobre EConcluirF.
Analise a &anela do 0ormulrioB os controles e os Dcones e5istentes na parte
in0erior. Aa barra de tDtuloB al8m do nome do 0ormulrio vemos a indica+<o
(somente leitura#B isto re0ereKse ao 0ato de n<o podermos alterar o 0ormulrio
(por e5@ a disposi+<o dos controles#B n<o tendo nenhuma rela+<o com a
apresenta+<o e edi+<o dos dados das tabelas. Ap9s a anliseB 0eche a &anela
para retornar ao Base.
2elecione o 0ormulrio C;2 e cliCue sobre o bot<o direito do mouse para
e5ibir as opera+,es disponDveis para o mesmo.
16
ACuiB a op+<o G,ditarH abre o 0ormulrio para inclus<o : altera+<o dos
controles ou na 0ormata+<o do documento. A op+<o GAbrirH abre o
0ormulrio para apresenta+<o ou edi+<o dos dados da(s# tabela(s# e
corresponde a um duplo cliCue sobre o nome C;2.
Alteramos o documento do BaseB inserindo um 0ormulrioB portanto cliCue
sobre E2alvarF. >asB antes de cadastrar alum dadoB temos um problema a
resolver.
"ditando #ormulrios
MocN deve ter percebido Cue o assistente n<o lida (ainda# com campos do
tipo =maem. -nt<oB devemos editar o 0ormulrio para incluir a coluna
CA?A da tabela C;2.
?ara talB selecione o 0ormulrioB cliCue com o bot<o direito do mouse e
escolha a op+<o G,ditarH no menu do conte5to. 2ure o 0ormulrio numa
&anela do ]riter (sem o aviso somente leitura na barra de tDtulo#.
2elecione o sub0ormulrio e na barra de r8ua vertical posicioneKo a 5 cm da
borda superior.
2elecione o campo GAquisioH e movaKo para bai5o do campo GreoH.
A&uste o alinhamento na r8ua horiJontal.
2elecione CualCuer campo do 0ormulrio principalB localiJe na parte in0erior
da &anela a barra de 0erramentas GDesi#n de &ormul3rioH.
CliCue no Dcone GAdicionar cam$oHB sure uma lista com os campos da
tabela C;2@
17
Ilustrao 1%: O$era2es com
&ormul3rios
;N um duplo cliCue no campo CA?AB observe Cue um novo controle com o
r9tulo CA?A 0oi adicionado ao 0ormulrio. >ovaKo para o lado direito do
0ormulrio. Feche a lista GAdicionar cam$oH.
A<o precisamos do r9tulo. 2elecione o controle de imaemB cliCue com o
bot<o direito do mouse e escolha GA#ru$arH Y GDesa#ru$arH.
AoraB vocN pode selecionar um controle independente do outro. ;N um
duplo cliCue no controle de imaem para e5ibir o diloo com as suas
propriedades.
CliCue sobre o bot<o E...F da propriedade GCam$o de r8tuloH para e5ibir o
diloo de G!eleo de cam$o de r8tuloH.
18
>arCue a cai5a Gnen(uma atribuioH e cliCue sobre EOZF. AoteB nas
propriedadesB Cue o r9tulo 0oi e5cluDdo.
Aproveite e a&uste as propriedades indicadas para@
GCor do $lano de &undoH @ CinJa )7^
GCor da bordaH @ ?reto
Feche o diloo de propriedades.
2elecione o controle do r9tulo CA?A e pressione a tecla GDelH para e5cluDK
lo do nosso 0ormulrio.
-is a aparNncia 0inal@
2alve as altera+,es e 0eche a &anela de edi+<o (]riter#B retornando ao Base.
2alve tamb8m o documento do Base.
Entrada de dados
Abra o 0ormulrio C;2 (duplo cliCue#. Aa parte in0erior da &anelaB encontramos a
barra de navea+<o e opera+,es sobre os reistros.
19
As a+,es ocorrem no 0ormulrio ativo (com o 0oco#. -is uma breve descri+<o dos
Dcones (da esCuerda para a direita#@
GCocali@ar re#istroH@ abre o diloo para pesCuisa de reistro.
GContador de re#istrosH@ e5ibe o reistro atual e o total de reistros da tabela.
Grimeiro re#istroH@ seleciona o primeiro reistro da tabela (ou consulta#.
G+e#istro anteriorH@ seleciona o reistro anterior da tabela (ou consulta#.
Gr8ximo re#istroH@ seleciona o pr95imo reistro da tabela (ou consulta#.
G.ltimo re#istroH@ seleciona o Qltimo reistro da tabela (ou consulta#.
GNovo re#istroH@ cria um novo reistro na tabela
G!alvar re#istroH@ salva o reistro correnteB use sempre Cue alterar dados.
GDes&a@er entrada de dadosH@ des0aJ uma entrada de dado.
G,xcluir re#istroH@ e5clui o reistro corrente da tabela.
GAtuali@arH@ atualiJa os dados de um controle.
A seuir temos Dcones para GClassi&icarH e G;iltrarH reistros.
ObserveB aindaB Cue o sub0ormulrio tem a sua pr9pria barra de navea+<o
(reduJida#.
Tanto a tecla GTabH como G,nterH move o 0oco para o pr95imo controleB
selecionando o seu conteQdo. A ordem de tabula+<o pode ser alteradaB atrav8s da
propriedade GOrdem de tabulaoHB no diloo de propriedades do controle.
FinalmenteB estamos prontos para diitar os dados do primeiro C;.
2elecione o campo T(T%4O (=;C; 8 automtico#B diite o tDtulo do C; e
tecle G,nterH ou GTabH passando ao pr95imo campo\
;iite os dados dos campos seuintesB at8 o campo A3%=2=RSO. ACuiB ap9s
o GTabH o 0oco moveKse para o sub0ormulrio. ContudoB nenhuma linha abreK
se para a entrada da mQsicaB ent<o 0orce a atualiJa+<o do controle clicando
sobre o Dcone GAtuali@arH na barra de 0erramentas.
;iite os dados das mQsicas do C;. ACuiB o campo =;C; n<o 8 automticoB
mas o Base acrescenta o seu valor.
Ap9s diitar as mQsicasB vamos incluir a CA?A do C; no seu controle [ vocN
precisar de aluns arCuivos de imaem (&pB i0B bmpB etc# no seu L;@
CliCue com o bot<o direito do mouse sobre o controle da capa (mantenha o
bot<o pressionado#B aparece o menu do conte5toB selecione GInserir &i#ura deH
e libere o bot<o do mouse\
20
Aparece o diloo GInserir ;i#uraH. 4ocaliJe e selecione o arCuivo e cliCue
sobre o bot<o EAbrirF. A 0iura ser inserida no controle do 0ormulrio.
-is os dados Cue diitei na tabela C;2@
-is os dados Cue diitei na tabela >X2=CA2@
Ao pr95imo t9pico veremos como consultar o nosso cadastro de C;s.
21
Consultas
%ma consulta 8 uma solicita+<oB sobre o conteQdo dos dadosB Cue se 0aJ ao BaseB alo
do tipo@
Quais so os valores nas colunas Ttulo e Artista da tabela CDS ?
O Base analisa e responde a consultaB selecionando e e5ibindo os dados reCuisitados.
Consultas s<o Qteis pela capacidade de recuperar apenas os dados Cue obede+am a um
determinado crit8rioB por e5emplo@ operar apenas com os C;s do artista 2icrano.
As nossas peruntas devem ser 0ormuladas numa linuaem Cue o Base tamb8m possa
compreenderB esta linuaem 8 a 234. Como nem todos tem tempo ou interesse para
aprender uma nova linuaemB o Base o0erece trNs maneiras para criar consultas@ (1#
usando o assistente\ (2# usando a &anela de desenho e (## usando a &anela da linuaem
234.
?ara ativar um dos modosB selecione GConsultasH no painel Banco de ;ados e escolha o
modo dese&ado no painel GTare&asH.
Assistente para consultas
Ative o assistente para e5ibir o diloo.
Aote Cue e5istem oito etapas.
Aa primeiraB devemos@
2elecionar uma tabela na lista GTabelasH e mover os campos dese&ados de
GCam$os dis$on=viesH para GCam$os em min(a ConsultaH. Ap9s escolher os
campos de uma tabelaB podemos selecionar outra tabela e acrescentar campos
22
da mesma. Os nomes dos campos tNm o nome da tabela como pre0i5o. >ova
todos os campos da tabela C;2\
2e dese&adoB alterar a ordem de e5ibi+<o dos campos da consulta\
CliCue sobre o bot<o EAvan+arF.
Aa seunda etapa GOrdem de classi&icaoH podemos@
-m GClasi&icar $orHB de0inir um ou mais campos para ordenar a consulta.
Aote Cue a ordem pode ser GCrescenteH ou GDecrescenteH. A<o dese&amos
classi0icarB ent<o cliCue sobre EAvan+arF passando O terceira etapa.
Aa etapa GCondi2es de $esquisaH podemos@
-scolher at8 trNs condi+,es de pesCuisa para a consulta. 2elecione o campo
=;C;B a condi+<o GD maior queH e diite 1 na cai5a G4alorH\
As op+,es GI#ualar todos os se#uintesH e GI#ualar qualquer um dos
se#uintesH correspondem aos operadores - e O% respectivamenteB liando
duas ou mais condi+,es\
CliCue sobre EAvan+arF e passe ao Cuarto diloo.
Aa etapa GDetal(e ou resumoH de0inimos@
A op+<o GConsulta detal(adaH seleciona todos os reistros. A op+<o
GConsulta resumidaH permite o uso de uma das 0un+,es areadas (de
resumo# comoB por e5emploB 2%> para retornar a soma dos valores de uma
coluna\
;ei5e como est e cliCue sobre EAvan+arF.
Aote Cue as etapas de arupamento 0oram saltadasB passando direto para a etapa
GAliasesHB onde podemos@
;e0inir Aliases para os nomes dos campos. =sto 8B nomes [ normalmente
abreviados [ Cue ser<o usados no luar do nome real. 2ua 0inalidade 8
simpli0icar a diita+<o e resolver ambi_idades nos comandos da 234\
;ei5e como est e cliCue sobre EAvan+arF.
Aa Qltima etapa G4iso #eralHB s<o apresentadas as de0ini+,es 0inais da consulta@
-m GNome da consultaH diite um nome para a mesma\
2e Cuiser editKlaB marCue a op+<o G-odi&icar consultaH. ;ei5e como est.
CliCue sobre EConcluirF para e5ibir os dados reCuisitados numa &anela.
23
-is o resultado 0inalB observe Cue apenas os reistros cu&o =;C; s<o maiores Cue
1 0oram selecionados. Aesta &anela podemosB entre outras opera+,esB editar os
dados. Altere o ?*-RO do Cd . para 11B77 e cliCue sobre o Dcone G!alvar
re#istro atualH.
Janela da SQ
Ative a &anela da 234 selecionando GCriar consulta na exibio !ECH.
-ntre os Dcones desta &anela temos@
GAtivarFDesativar exibio de desi#nH@ alterna entre a e5ibi+<o da &anela de
pro&eto e da &anela 234.
G,xecutar consultaH@ e5ecuta a consultaB retornando o seu resultado.
GCim$ar consultaH@ limpa a consulta atual.
G,xecutar o comando !EC diretamenteH@ repassa o comando 234 diretamente
para o mecanismo do banco de dadosB sem uma anlise da sua validade. Alumas
consultas podem ter uma sinta5e n<o suportada pelo BaseB mas suportada pelo
motor do Banco de ;ados.
Comando S"$"CT
O comando da 234 usado para consultas 8 o 2-4-CTB um comando muito
poderosoB com diversas clusulas. Me&amos a sua sinta5e bsica@
SELECT lista_de_colunas FROM lista_de_tabelas !ERE e"#resso
onde@
2-4-CT `H comando 234 para consultas
listaVdeVcolunas `H nomes das colunasB separados por vDrula (use a para
todas#
F*O> `H clusula para de0inir a oriem dos dados ( tabelas #
listaVdeVtabelas `H nomes das tabelasB separados por vDrula
24
]L-*- `H clusula para de0inir as condi+,es da consulta
e5press<o `H uma e5press<o 234 vlida
NOTA@ nomes de colunas e tabelas s<o sensDveis a maiQsculas : minQsculas
e podem estar entre aspas ( por e5emplo@ b=;C;c ou b>X2=CA2c#.
Mamos apresentar aluns e5emplos. ?ara ver o resultadoB diite o comando
e cliCue sobre o Dcone G,xecutar consultaH@
SELECT $DCD% T&T'LO% ART$STA FROM CDS
seleciona as colunas =dcdB TDtulo e Artista da tabela C;2
-is o resultado da consulta.
;iite os comandos abai5o (um por veJ e sobrescrevendo o anterior#B
comande a e5ecu+<o e observe a saDda@
SELECT ( FROM CDS
seleciona todas as colunas da tabela C;2
SELECT ( FROM M)S$CAS !ERE A'TOR L$*E +Autor ,+
retorna os reistros da tabela >X2=CA2 onde o nome do autor 8 como
Autor ).
SELECT ( FROM M)S$CAS !ERE A'TOR -OT L$*E +Autor ,+
retorna os reistros da tabela >X2=CA2 onde o nome do autor n<o 8 como
Autor ).
W permitido diitar um comando em mais de uma linha@
SELECT T&T'LO% -OME
FROM CDS% M)S$CAS
!ERE M)S$CAS.$DCD / CDS.$DCD
retorna os tDtulos dos C;s e os nomes das mQsicas em cada um deles. Aote
CueB na clusula ]L-*-B usamos os nomes das tabelas para distinuir os
nomes das colunas.
SELECT CDS.$DCD% T&T'LO% -OME FROM CDS% M)S$CAS
!ERE CDS.$DCD 0 , A-D M)S$CAS.$DCD / CDS.$DCD
retorna os campos idcd e tDtulo da tabela C;2 e os nomes das mQsicas em
cada um deles. Aa clusula ]L-*- usamos duas condi+,es para a
pesCuisa.
AoraB vamos analisar a nossa Qltima consulta na &anela de desenho de
consultas.
25
%anela de desenho de consultas
CliCue sobre o Dcone GAtivarFDesativar exibio de desi#nHB para ativar a
&anela@
Aa parte superior temos as tabelas usadas na consulta eB loo abai5oB as
de0ini+,es da nossa consulta. AoteB principalmenteB as linhas@
GCam$oH@ cont8m o nome do campo ou da e5press<o
GTabelaH@ nome da tabela Cue cont8m o campo
GClassi&icarH@ para escolher um crit8rio de ordena+<o para o campo
G4is=velH@ de0ine se o campo ou e5press<o ser visDvel ou n<o
G;unoH@ de0inir aluma 0un+<o de resumo (2%>B AMUB etc# para a
coluna
GCritDrioH@ de0ine um crit8rio para a coluna (8 a e5press<o da clusula
]L-*-#
GOuH@ de0ine um crit8rio Cue ser liado pelo operador O%.
Ao de0inir vrios crit8riosB os Cue ser<o liados pelo operador - devem
estar na mesma linha. Os liados pelo operador O% devem estar em suas
pr9prias linhas.
Aote os crit8rios e a inclus<o de um campo no visvel (=;C; da tabela
>X2=CA2#B usado como parte da clusula ]L-*-.
?ara criar uma nova consulta nesta &anelaB ativeKa a partir do BaseB atrav8s
da op+<o GCriar consulta na exibio de desi#nH. Aeste casoB o diloo
GAdicionar tabelasH ser e5ibido. O usurio deve selecionar a tabela e
clicar sobre o bot<o EAdicionarF.
?odeKse adicionar um campo diitando o seu nome na linha GCam$oH ou
dando um cliCue duplo sobre o seu nome na lista da tabela.
CliCue novamente sobre o Dcone GAtivarFDesativar exibio de desi#nHB
desativando a &anela de desenho. Me&a como est a sinta5e do comando
234@
SELECT 1CDS1.1$DCD1% 1CDS1.1T&T'LO1% 1M)S$CAS1.1-OME1
26
FROM 1CDS1 1CDS1% 1M)S$CAS1 1M)S$CAS1
!ERE 2 2 1CDS1.1$DCD1 0 , A-D 1M)S$CAS1.1$DCD1 / 1CDS1.1$DCD1 3 3
-sta 8 a sinta5e real do comando. ?ara 0acilitar a nossa vidaB o Base
reescreve os nossos comandos (do assistenteB &anela de desenho e &anela
234# usando a sinta5e correta.
Aote o uso automtico de Aliases [ abreviaturas [ na clusula F*O> (o
padr<o 8 o nome da tabela# e o uso destes como pre0i5o dos nomes de
colunas.
"&press'es
Auma clusula ]L-*-B uma e5press<o ser avaliada como Falsa ou
Merdadeira. 2e 0alsa nenhuma linha ser retornada. 2e verdadeiraB apenas os
reistros Cue satis0aJem a condi+<o ser<o retornados.
Alumas e5press,es tamb8m podem ser usadas para calcular valores numa
coluna de uma consulta.
Os principais elementos encontrados numa e5press<o s<o@
Constantes
Consane De$inio
Aum8rica um valor num8rico ( e5@ )77 #
Cadeia um valor delimitado por ap9stro0o ( e5@ d/o<o da 2ilvad #
;ata : Lora uma data : hora delimitada por ap9stro0o ( e5@ d1775K)1K15d #
2imb9lica valor de uma 0un+<o do sistema ( e5@ C%**-ATV;AT- #
O ap9stro0o G d H 8 usado como delimitador de constantes ( cadeia e data :
hora #.
-5emplos@
SELECT ( FROM CDS !ERE AQ'$S$45O 0 +677897,97,+
data no 0ormato """"KmmKdd ( anoKmNsKdia #
SELECT ( FROM M)S$CAS !ERE RE:ROD'45O 0 +77;,7;77+
hora no 0ormato hh@mm@ss ( horas@minutos@seundos #
Operadores Aritm8ticos
%perador De$inio
e soma valores ( e5@ 1) e 37 ou Coluna) e Coluna1 #
[ subtrai valores ( e5@ 37 K )7 ou Coluna1 K Coluna) #
a multiplica valores ( e5@ 1) a 1 ou Coluna) a 1 #
: divide valores ( e5@ 37:1 ou Coluna) : Coluna1 #
YY concatena cadeias ( e5@ d/o<o d YY d2ilvad ou Coluna) YY Coluna1 #
Ao misturar operadoresB certi0iCueKse da precedNncia entre os mesmos.
27
-5emplos@
SELECT T&T'LO% :RE4O% :RE4O ( 6 FROM CDS
usa uma e5press<o para criar uma coluna numa consulta
SELECT $DCD% 2,7<,77<,777<,77773 = :RE4O FROM CDS
usa uma e5press<o para criar uma colunaB os parNnteses 0or+am a
precedNncia
Operadores de compara+<o
%perador De$inio
GH 8 di0erente de ( e5@ Coluna) GH Coluna1 #
f` 8 di0erente de ( e5@ Coluna) f` Coluna1 #
` 8 iual a ( e5@ Coluna) ` Coluna1 #
H` 8 maior ou iual a ( e5@ Coluna) H` Coluna1 #
G` 8 menor ou iual a ( e5@ Coluna) G` Coluna1 #
H 8 maior Cue ( e5@ Coluna) H Coluna1 #
G 8 menor Cue ( e5@ Coluna) G Coluna1 #
-5emplo@
SELECT T&T'LO% ART$STA% :RE4O FROM CDS !ERE :RE4O > 67.77
retorna as colunas consultadas dos reistros Cue satis0a+am ao crit8rio
Operadores l9icos
%perador De$inio
AA; retorna T*%- se todas as e5press,es 0orem T*%-
O* retorna T*%- se CualCuer uma das e5press,es 0or T*%-
-stes operadores &untam vrias e5press,es numa s9 e5press<o.
-5emplos@
SELECT T&T'LO% ART$STA FROM CDS !ERE $DCD 0 7 A-D :RE4O > 67
retorna os C;s com =;C; maior Cue Jero e pre+o menor Cue 17
SELECT ( FROM M)S$CAS !ERE A'TOR / +Autor 6+ OR A'TOR / +Autor ?+
retorna as mQsicas cu&a autoria se&a do Autor 1 ou do Autor 5
Operadores da 234
%perador De$inio
EAOTF 4=Z- E ASO F CO>O ( e5@ Col) 4=Z- dAdad ou Col1 AOT 4=Z- dAdad #
B-T]--A -AT*- 5 - " ( e5@ Coluna) B-T]--A )7 AA; )77 #
EAOTF =A E ASO F =A ( e5@ Coluna) =A (1B .B 6# #
=2 EAOTF A%44 W E ASO F MAg=O ( e5@ Coluna) =2 A%44 #
28
Os caracteres ^ e V podem ser usados na cadeia da clusula 4=Z-B como
em@
L$*E +@A@+ /0 contBC A eC DualDuer #osiEo
L$*E +_A@+ /0 o seFundo caractere da coluna B A
L$*E +A@*@+ /0 coCeEa coC A e contBC *
-OT L$*E +A@+ /0 no coCeEa coC A
-5emplos@
SELECT ( FROM M)S$CAS !ERE -OME L$*E +@G@+
retorna as mQsicas cu&o nome cont8m 3
SELECT ( FROM M)S$CAS !ERE $DCD HETEE- 6 A-D 8
retorna as mQsicas dos C;s cu&o =;C; este&a entre 1 e . (inclusive#
SELECT ( FROM M)S$CAS !ERE $DCD $- 27%6%83
retorna as mQsicas dos C;s cu&o =;C; se&a 7B 1 e .
Ao usar estes operadores na &anela de desenho de consultasB podemos
emprear as suas 0ormas traduJidas.
ACuiB apresentamos o bsico sobre este poderoso comando. ?ara aprender mais
sobre o seu usoB consulte aluma documenta+<o sobre a linuaem 234.
!rdenando consultas
?ara classi0icar o resultado de uma consultaB use a clusula O*;-* BT do
comando 2-4-CTB como em@
SELECT . . . ORDER HA lista_de_colunas I ASC J DESC K
A2C `H ordem crescenteB 8 o valor padr<o
;-2C `H ordem decrescente
O*;-* BT deve estar ap9s a clusula ]L-*-B se e5isitir uma
-5emplos@
SELECT ( FROM M)S$CAS ORDER HA A'TOR ASC
reistros da tabela >X2=CA2 em ordem crescente por A%TO*
SELECT ( FROM M)S$CAS !ERE $DCD 0 , ORDER HA A'TOR DESC
reistros da tabela >X2=CA2 em ordem decrescente por A%TO*
SELECT ( FROM M)S$CAS !ERE $DCD 0 , ORDER HA $DCD DESC% A'TOR ASC
reistros em ordem decrescente por =;C; e ascendente por A%TO*
Comande a e5ecu+<o de cada um dos e5emplos e observe o resultado.
Evitando duplicaes
?ara descartar os reistros Cue tenham valores duplicados numa dada colunaB o
comando 2-4-CT disp,e da clusula ;=2T=ACTB eis a sinta5e bsica@
SELECT D$ST$-CT coluna, I % . . .% coluna- K FROM tabelas
descarta reistros com valores duplicados na coluna)
?or e5emploB para saber Cuais s<o os compositores na tabela >X2=CA2B
podemos@
SELECT D$ST$-CT A'TOR FROM M)S$CAS ORDER HA A'TOR
retorna os nomes dos autores na tabela >QsicasB sem repeti+<o
29
Consultas com par"metros
Auma consulta deste tipoB o valor da condi+<o ser solicitado ao comandar a
e5ecu+<o.
Criamos par6metros substituindo o valor da condi+<o pelo sinal de interroa+<o G
I HB como no e5emplo@
SELECT ( FROM M)S$CAS !ERE $DCD 0 ?
retorna os reistros cu&o =;C; satis0a+a O condi+<oB o usurio 0ornecer o
valor
Ao e5ecutar esta consulta o diloo G,ntrada de arGmetroH ser e5ibido@
Aa lista GarGmetrosH os nomes dos campos ser<o listados.
;iite 1 na cai5a G4alorH e cliCue sobre o bot<o EOZF.
Analise o resultado da consulta com par6metros.
Funes do #ase
O Base tem muitas 0un+,es Cue podem ser usadas como parte de uma e5press<o.
OutrasB s<o usadas como valor padr<o de uma coluna na cria+<o de um reistro.
Ao usar 0un+,es em consultasB podemos misturar minQsculas e maiQsculas nos
seus nomes. O Base se encarrea da convers<o para maiQsculas.
?rocure analisarB e5ecutar e observar a saDda de cada um dos e5emplos a seuir.
Fun('es de resumo
-stas 0un+,es operam sobre um con&unto de valores.
&uno Descrio
CO%AT (a# retorna o nQmero total de linhas
CO%AT retorna o nQmero total de linhas
>=A retorna o menor valor na coluna
>Ah retorna o maior valor na coluna
2%> retorna a soma dos valores da coluna
AMU retorna a m8dia dos valores da coluna
MA*V?O? retorna a vari6ncia dos valores da colunaB base 8 a popula+<o
MA*V2A>? retorna a vari6ncia dos valores da colunaB base 8 uma amostra
30
&uno Descrio
2T;;-MV?O? retorna o desvio padr<o dos valores da colunaB base 8 a popula+<o
2T;;-MV2A>? retorna o desvio padr<o dos valores da colunaB base 8 uma amostra
-5emplos@
Select Count2(3 FroC CDS
retorna o nQmero de linhas (reistros# da tabela C;2
Select Ma"2$DCD3 FroC CDS
retorna o maior valor na coluna =;C; da tabela C;2
Select SuC 2:RE4O3% AvF 2:RE4O3 FroC CDS
retorna a soma e a m8dia da coluna ?*-RO da tabela C;2
Fun('es num)ricas
As principais 0un+,es matemticas est<o disponDveis nesta cateoria.
&uno Descrio
AB2 (d# retorna o valor absoluto de um valor
ACO2 (d# retorna o arcoKcosseno de um 6nulo
A2=A (d# retorna o arcoKseno de um 6nulo
ATAA (d# retorna o arcoKtanente de um 6nulo
ATAA1 (aB b# retorna a tanente de a : b
B=TAA; (aB b# retorna a AA; b ( bit a bit #
B=TO* (aB b# retorna a O* b ( bit a bit #
C-=4=AU (d# retorna o menor inteiro n<o menor Cue d
CO2 (d# retorna o cosseno de um 6nulo
COT (d# retorna a cotanente de um 6nulo
;-U*--2 (d# converte de radiano para raus (decimal#
-h? (d# retorna o nQmero e elevado O potNncia d
F4OO* (d# retorna o maior inteiro n<o maior Cue d
4OU (d# retorna o loaritmo natural (base e# de d
4OU)7 (d# retorna o loaritmo (base )7# de d
>O; (aB b# retorna o valor ( a >O; b #
?= ( # retorna pi (3.).)5...#
?O]-* (aB b# retorna a elevado a potNncia b
*A;=AA2 (d# converte raus para radianos
*AA; ( # retorna um valor pseudoKaleat9rioB tal Cue@ 7.7 H` 5 G ).7
*O%A; (aB b# arredonda a para b dDitos ap9s o ponto decimal
*O%A;>AU=C (d# resolve arredondamentos como@ 3.)) [ 3.) [ 7.7)
31
&uno Descrio
2=UA (d# retorna K) se d G 7\ 7 se d ` 7\ ) se d H 7
2=A (d# retorna o seno do 6nulo
23*T (d# retorna a raiJ Cuadrada de d
TAA (A# retorna a tanente de um 6nulo
T*%ACAT- (aB b# trunca a para b dDitos ap9s o ponto decimal
-5emplo@
Select :RE4O% DeFrees2Asin2Rand2333% SDrt 2:RE4O3 FroC CDS
cria colunas usando 0un+,es num8ricas
Fun('es de caracteres
Aesta cateoriaB temos diversas 0un+,es para manipula+<o de cadeias de
caracteres.
&uno Descrio
A2C== (s# retorna o valor A2C== do primeiro caracter de s
B=TV4-AUTL (str# retorna o comprimento de str em bits
CLA* (c# retorna o caractere com o c9dio A2C== c
CLA*V4-AUTL(str# retorna o comprimento da cadeia str em caracteres
COACAT (str)B str1# concatena str1 e str2
;=FF-*-AC- (s)B s1# retorna a di0eren+a entre o som de s1 e s2
L-hTO*A] (s)# retorna a cadeia s1 traduJida
=A2-*T (sB startB lenB s1# cadeia com len caracteresB a partir de startB substituDdos por s2
4CA2- (s# converte s para minQsculas
4-FT (sB count# retorna os count caracteres O esCuerda de s [ usa aspas
4-AUTL (s# retorna o nQmero de caracteres de s
4OCAT- (searchB sB EstartF# retorna a posi+<o de searc( em s (7 se n<o encontrar#
4T*=> (s# remove os espa+os iniciais de s
OCT-TV4-AUTL (str# retorna o comprimento da cadeia str em b"tes
*A]TOL-h (s)# retorna a cadeia s1 traduJida
*-?-AT (sB count# retorna uma cadeia com count caracteres s
*-?4AC- (sB replaceB s1# substitui todas as ocorrNncias de re$lace em s por s2
*=ULT (sB count# retorna os count caracteres a direita de s
*T*=> (s# remove os espa+os 0inais de s
2O%A;-h (s# retorna um c9dio de Cuatro caracteresB representado o som de s
2?AC- (count# retorna uma cadeia contendo count espa+os
2%B2T* (sB start EBlenF# semelhante a substrin
2%B2T*=AU (sB start EBlenF# retorna a subcadeia iniciando em start com o tamanho len
32
&uno Descrio
%CA2- (s# converte a cadeia s para maiQsculas
4O]-* (s# converte a cadeia s para minQsculas
%??-* (s# converte a cadeia s para maiQsculas
-5emplo@
Select '::ER2ART$STA3% LoLer2T&T'LO3% Concat 2Re#eat2+M+%?3% T&T'LO3 FroC CDS
usando 0un+,es de cadeias de caracteres numa consulta
Fun('es temporais
4idam com dados do tipo ;ataB Lora ou ;ataLora.
&uno Descrio
C%*;AT- ( # retorna a data corrente
C%*T=>- ( # retorna a hora corrente
;ATAA>- (data# retorna o nome do dia
;ATOF>OATL (data# retorna o dia do mNs ()K3)#
;ATOF]--Z (data# retorna o dia da semana () ` domino#
;ATOFT-A* (data# retorna o dia do ano () a 366#
LO%* (hora# retorna a hora (7 a 13#
>=A%T- (hora# retorna os minutos (7 a 5'#
>OATL (date# retorna o mNs () a )1#
>OATLAA>- (data# retorna o nome do mNs
3%A*T-* (data# retorna o trimestre () a .#
2-COA; (hora# retorna os seundos (7 a 5'#
]--Z (data# retorna a semana deste ano () a 53#
T-A* (data# retorna o ano
;AT-;=FF (sB dh)B dh1# intervalo transcorrido entre d(1 e d(2B con0orme a unidade em s
AO] ( # retorna a data e hora corrente
TO;AT ( # retorna a data atual
C%**-ATV;AT- retorna a data atual
C%**-ATVT=>- retorna a hora atual
C%**-ATVT=>-2TA>? retorna a data e hora atual
-5emplo@
Select AQ'$S$45O% DaN-aCe2AQ'$S$45O3% MontO-aCe2 AQ'$S$45O3% -oL23 FroC
CDS
usa 0un+,es de data : hora numa consulta
O Base aceita outras 0un+,es (n<o apresentadas#B como Case]hen@
Select T&T'LO% :RE4O% CASE!E- 2:RE4O 0 ,?% +Caro+% +Harato+3 FroC CDS
33
cria uma coluna com Caro ou BaratoB seundo o resultado da e5press<o ?*-RO
H )5
Cr8ditos@
2inta5e e descri+<o das 0un+,es compiladas do t9pico !tored rocedures F
;unctionsB do C(a$ter ?H !EC !IntaxB da documenta+<o do L234B do The
L"personic 234 Uroup.
34
"&ibi('es
%ma e5ibi+<o (ou vis<o# 8 uma esp8cie de tabela virtual. -sta tabela 8 de0inida por uma
consulta armaJenada no pr9prio banco de dados. Os dados da e5ibi+<o residem nas
tabelas breaisc da base de dados.
?ara criar uma e5ibi+<oB selecione GTabelasH e cliCue sobre GCriar exibioH. A &anela
de desenho de consultas ser abertaB com o diloo GAdicionar TabelasH ativo.
2elecione C;2B cliCue sobre EAdiconarF. O mesmo para >X2=CA2. -is a aparNncia@
Feche o diloo e vamos de0inir a consulta base da e5ibi+<o@
Aa tabela C;2 dN um duplo cliCue sobre os campos T(T%4O e A*T=2TA.
Aa tabela >X2=CA2 dN um duplo cliCue sobre os campos AO>- e
*-?*O;%RSO.
-is a aparNncia 0inal da consulta@
CliCue sobre o Dcone G!alvarHB diite ,xibeCDs na cai5a de te5to e cliCue sobre EOZF.
35
A &anela de desenho ser 0echada. 2alve tamb8m o documento do Base. Aote Cue a
e5ibi+<o 0oi acrescentada &unto aos ob&etos GTabelasH.
%m duplo cliCue sobre o nome da e5ibi+<o abre a &anela de visualiJa+<o com os dados.
Feche a &anela de edi+<o de dadosB retornando ao Base.
Aora vocN poder usar a e5ibi+<o como base para de0inir 0ormulriosB consultasB
relat9rios eB inclusiveB outras e5ibi+,es.
36
*elat+rios
2e vocN precisar imprimir dados das tabelas ou consultasB use relat9rios.
Criando Relat$rios
O Base usa um assistente para criar os seus relat9riosB Cue s<o documentos do
]riter embutidos.
CliCue sobre G+elat8riosH eB no painel GTare&asHB sobre G1sar assistente $ara
criar relat8rioH (ou use o menu do conte5to de uma tabela ou consulta#.
Antes da e5ibi+<o do assistenteB um novo documento do ]riter ser carreado.
Aote Cue ele & cont8m in0orma+,es no cabe+alho (TDtuloB Autor e ;ata#.
-is a primeira etapa do assistente@
O assistente n<o permite a sele+<o de campos em di0erentes tabelas. ?ara istoB crie
uma Consulta ou -5ibi+<o e useKa como base do relat9rio.
2elecione a tabela >X2=CA2 e mova os campos de GCam$os dis$on=veisH
para GCam$os no relat8rioH como na 0iura. CliCue sobre EAvan+arF.
Aa seunda etapaB devemos de0inir os tDtulos das colunasB dei5e como est e
prossia para a pr95ima etapa.
Aa terceira etapaB de0inimos o tipo de arupamento dos nossos dados.
Arupamentos s<o Qteis Cuando o conteQdo de uma ou mais colunas 8 o mesmo
em vrios reistros. W possDvel de0inir vrios nDveis de arupamento.
=maine uma rede de lo&as com dados sobre as vendas. Ao criar um relat9rioB
podeKse arupar as vendas por 0ilial eB dentro de cada 0ilialB por setor.
Aa tabela >QsicasB o valor da coluna =;C; repeteKse nos reistros das mQsicas de
um dado C; e 8 um candidato a um campo de arupamento@
-m GCam$osH selecione =;C; e movaKo para GA#ru$amentosH\
37
CliCue sobre EAvan+arF.
Aa etapa GO$2es de classi&icaoH de0inimos como o relat9rio ser ordenado.
Aote Cue os campos de arupamento s<o automaticamente selecionados. ;ei5e
como est e avance.
Aa Cuinta etapaB G,scol(er CaIoutHB con0iuramos a disposi+<o dos dados na
0olha@
Aa lista GCaIout dos dadosHB selecione GAlin(ar J esquerda [ -odernoH\
Aa lista GCaIout dos cabeal(os e roda$DsHB selecione GadroH\
Aas op+,es de orienta+<o do papelB selecione G+etratoH.
CliCue em EAvan+arF.
Aa etapa 0inal GCriar relat8rioH devemos@
;e0inir o tDtulo do relat9rioB diite@ +elat8rio de -Ksicas\
;e0inir o tipo do relat9rioB se -sttico ou ;in6mico. O primeiroB deve ser
usado para preservar a situa+<o dos dados num momento. O seundoB
apresenta sempre a situa+<o corrente dos dados. 2elecione G+elat8rio
dinGmicoH\
;e0inir a a+<o ap9s criar o relat9rio. A op+<o G-odi&icar laIoutH abre o
relat9rio no ]riter para altera+,es. A op+<o GCriar relat8rio a#oraH carrea
os dados para o relat9rio. ;ei5e como est.
CliCue sobre EConcluirF.
Aote CueB para cada rupoB temos uma pina. Feche o relat9rio.
Ao BaseB note o novo ob&eto do tipo relat9rio.
Editando Relat$rios
?ara editar um relat9rioB cliCue com o bot<o direito do mouse sobre o seu nome e
escolha a op+<o G,ditarH no menu do conte5to.
38
W possDvel e0etuar modi0ica+,es simples no relat9rio. A<o 8 aconselhvel 0aJer
altera+,es relacionadas aos dados do relat9rio.
Ao editar um relat9rioB observe Cue temos Campos no cabe+alho e no rodap8.
-stas reas podem ser editadas normalmente.
AoteB tamb8mB Cue os dados s<o colocados em tabelasB de acordo com o tipo de
relat9rio. Os tDtulos das colunas das tabelas s<o de0inidos por Campos do %surio.
Os nomes dos estilos de parra0os usados nas tabelas come+am com o pre0i5o
Tbl.
FinalmenteB a oriem dos dados 8 de0inida por um 0ormulrio contendo controles
ocultos. ?ara inspecionar as propriedades do 0ormulrio e seus controlesB ative a
barra de 0erramentas GDesi#n de &ormul3rioH e cliCue sobre o Dcone do Aaveador
de Formulrios.
Aovos modelos de relat9rios podem ser criados e acrescentados ao diret9rio de
modelos de relat9rios GOOo=nstallH:share:template:ptKB*:iiJard:report.
39
*egistrar , "&cluir Fontes de -ados
?ara reistrar ou e5cluir uma 0onte de dados no BrO00ice.orB ative o diloo Op+,esB
selecionando Ferramentas Y Op+,esB no menu principal do Base.
A seuirB e5panda a entrada Banco de ;ados do BrO00ice.or e cliCue sobre Bancos de
;ados. As a+,es possDveis s<o@
Bot<o EAovoF@ para criar uma nova 0onte de dados\ o diloo abai5o ser e5ibido.
2elecione o arCuivo do BaseB diite um nome para a 0onte de dados e cliCue sobre o
bot<o OZ. A partir da vers<o 1.7B devemos criar um arCuivo do Base para reistrar
uma 0onteB inclusive para bancos de dados e5ternos.
Bot<o E-5cluirF@ para e5cluir uma 0onte de dados & reistrada.
Bot<o E-ditarF@ para alterar uma 0onte de dados reistradaB atrav8s do diloo -ditar
lin! de banco de dados.
40
Cone&.o com outros Bancos de
-ados
O Base pode ser utiliJado como uma inter0ace de acesso a bancos de dados de outros
0abricantes.
Ao primeiro passo do assistente para a cria+<o de um novo documento do BaseB marCue
a op+<o GConectar a um banco de dados existenteH e selecione a 0onte dese&adaB como
na 0iura abai5o.
O assistente a&usta os seus passos de acordo com o mecanismo selecionado. ?or
e5emploB para aluns bancos de dados devemos 0ornecer in0orma+,es da 0onte de
dadosB de blooncB arCuivo ou diret9rio do banco de dadosB dentre outras.
W importante lembrar Cue alumas 0ontes devem ser con0iuradas com antecedNncia.
Ao usar o Base como inter0ace para outros bancos de dadosB alumas 0uncionalidades
podem n<o estar disponDveis. ?or e5emploB numa cone5<o >icroso0t AccessB os seus
0ormulriosB relat9rios e macros n<o s<o acessados. ;evemos criKlos no pr9prio Base.
Ap9s a cria+<o do documentoB podemos alterar alumas propriedades do banco de
dadosB atrav8s da op+<o -ditar Y Banco de ;adosB no menu principal do Base.
Con0orme a 0onteB alumas 0un+,es de administra+<o podem estar disponDveis.
Meri0iCue a op+<o Ferramentas no menu principal do Base ou consulte o capDtulo
Administrao do Banco de Dados.
41
/mportando dados para o Base
W possDvel importar dados de outras 0ontes para o Base. ?or e5emploB podemos ter
dados numa planilha do CalcB num arCuivo dBase ou >icroso0t Access Cue dese&amos
mirar para o Base.
O BrO00ice.or possui um assistente de C9pia de Tabela para orientar o usurio durante
o processo de convers<o. 2euem os passos necessrios para iniciar a convers<o de
dados@
criar e reistrar um documento do Base para acessar os dados da oriem. ?ara
planilhas do CalcB isto n<o 8 necessrioB podemos selecionar a e5tens<o na planilha e
arrastar para o destino\
criar e reistrar um documento do Base para receber os dados da oriem\
ativar o componente Fonte de ;adosB selecionando -5ibir Y Fonte de ;ados\
e5pandir a entrada da 0onte de dados de oriem e e5ibir a(s# tabela(s#\
e5pandir a entrada da 0onte de dados de destino\
arraste a tabela de oriem e solte sobre a entrada TabelasB da 0onte de destino.
NOTA@ para documentos de oriem e destino n<o reistrados como 0ontes de dadosB
arraste a tabela da oriem e solte sobre o Dcone GTabelasH no documento de destino.
O assistente de c9pia de tabelas ser disparado@
;iite o nome da tabela e marCue uma das op+,es@
De&inio e dados@ cria a estrutura da tabela do Base e copia os dados para a mesma.
De&inio@ cria a estrutura da tabela do Base.
Como exibio de tabela@ cria uma e5ibi+<o no Base. Xtil para c9pia de consultas de
uma 0onte de dados para o Base.
42
Anexar dados@ acrescenta apenas os dados a uma tabela e5istente no Base.
Criar c(ave $rim3ria@ cria um campo de chave primria para a nova tabela do Base.
;eve ser utiliJadaB por e5emploB Cuando a 0onte de oriem n<o possuir chave
primria.
CliCue sobre EAvan+arFB para a etapa Aplicar Colunas@
ACuiB devemos escolher as colunas cu&os dados devem ser importados para a tabela.
>ova todas as colunas para a cai5a da direita e cliCue sobre EAvan+arF.
Aeste dilooB devemos de0inir os atributos dos campos na tabela do Base. O tipo de
campo deve estar de acordo com o tipo do dado da coluna de oriem. O BrO00ice.or
pode tentar reconhecer automaticamente o tipo da oriem. A cai5a de te5to 4inhas
(m5.# de0ine a Cuantidade de linhas analisadas para a detec+<o do tipo.
Ap9s a&ustar os atributos das colunasB cliCue sobre ECriarF para concluir a opera+<o.
Meri0iCueB no destino se tudo correuB con0orme o esperado.
43
0ais in#orma('es
Aas pinas ]-B abai5oB vocN encontra mais in0orma+,es sobre o Base e o
BrO00ice.or.
1o Brasil
?ro&eto BrO00ice.or
http@::iii.openo00ice.or.br ou http@::iii.bro00ice.or.br
?ro&eto *auKTu @ 09rum de peruntas e respostasB tendo uma se+<o para o
OpenO00ice.or
http@::iii.rauKtu.unicamp.br:openo00ice:
1o e&terior
?ro&eto OpenO00ice.or
http@::iii.openo00ice.or
?ro&eto de Banco de ;ados do OpenO00ice.or
http@::dba.openo00ice.or
?ro&eto do L234 ( L"personic 234 #
http@::hsCldb.or:
OOoForum @ 09rum de peruntas e respostas sobre o OpenO00ice.or
http@::iii.ooo0orum.or
m $ivro
4inu5 Bancos de ;ados (Como pro&etar e erenciar#B de Fred ButJen e ;oroth"
ForbesB publicado pela -ditora CiNncia >odernaB em )''7.
44
Fonte
-ssa apostila 0oi em sua intera baseado no documento =ntrodu+<oVao
BrO00ice.orVBaseV1.7.5
$icen(a
-ste documento est licenciado sob uma 4icen+a Creative Commons Atribui+<oK
%soA<oComercialKCompartilhamento pela mesma licen+a. ?ara ver uma c9pia desta
licen+aB visite http@::creativecommons.or:licenses:b"KncKsa:1.7:br: ou envie uma carta
para Creative CommonsB 55' Aathan Abbott ]a"B 2tan0ordB Cali0ornia '.375B %2A.
Todas as marcas re'isradas citadas no documento pertencem aos seus leDtimos
proprietrios.
Autor
Aoelson Alves ;uarte
Cr)ditos
Ao The ()personic SQL *roup pela documenta+<o do L234;BB sem a Cual boa
parte deste trabalho n<o seria possDvel.
Agradecimentos
Ao The ()personic SQL *roup pelo desenvolvimento do L234;B e pela permiss<o
do seu uso pelo Base.
A Sun Micros)sems+ ,nc pelo apoio para a cria+<o e desenvolvimento do
OpenO00ice.or.
Aos desenvolvedores do %pen%$$ice-or' pelo contDnuo melhoramento do aplicativo.
Ao pro&eto .r%$$ice-or' pelo es0or+o para melhorar e di0undir o OpenO00ice.or no
Brasil.
A *usavo .u//ai "acheco pela leitura do documento e suest,es de melhoria.
A Manoel "inho pela entileJa em disponibiliJar este documento no servidor@
0tp@::mirror.de'.ime.eb.br:pub:openo00ice:apostilas:noelsonalves
Sobre este documento
=ntrodu+<o ao BrO00ice.or Base
Mers<o ).) [ liberada em 15 de abril de 1776
Mers<o ).7 [ liberada em )$ de mar+o de 1776
?ublicado em )$ de mar+o de 1776B na pina ]-B@
http@::eocities."ahoo.com.br:noelsonalves:
;esenvolvido com o BrO00ice.or 1.7 ]riter
0oa@ oriinalmenteB este documento utiliJou a nomenclatura Openo00ice.or.
-ntretantoB por motivos & conhecidosB o pro&eto brasileiro 0oi renomeado para
BrO00ice.or. AssimB editei as ocorrNncias de OpenO00ice.or para BrO00ice.or.
45
*evis.o
*a0ael ?eres *ubira
Contato
bro00icej0c.unesp.br
iii.0c.unesp.br:sti:bro00ice
46

Você também pode gostar