Você está na página 1de 46

Treinamento em

BrOffice.org Base

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 (Foreign keys).............................................................................8
Criando uma tabela.......................................................................................................8
Usando o assistente..................................................................................................8
Usando a janela de projeto.......................................................................................9
ndices.........................................................................................................................11
Relaes......................................................................................................................11
Editando dados................................................................................................................14
Janela de entrada de dados..........................................................................................14
Formulrios.................................................................................................................14
Assistente de formulrios.......................................................................................15
Editando formulrios..............................................................................................17
Entrada de dados.........................................................................................................19
Consultas.........................................................................................................................22
Assistente para consultas............................................................................................22
Janela da SQL.............................................................................................................24
Comando SELECT.................................................................................................24
Janela de desenho de consultas..............................................................................26
Expresses..............................................................................................................27
Ordenando consultas...................................................................................................29
Evitando duplicaes..................................................................................................29
Consultas com parmetros..........................................................................................30
Funes do Base.........................................................................................................30
Funes de resumo.................................................................................................30
Funes numricas.................................................................................................31
Funes de caracteres.............................................................................................32
Funes temporais..................................................................................................33
Exibies.........................................................................................................................35
Relatrios.........................................................................................................................37
Criando Relatrios......................................................................................................37
Editando Relatrios.....................................................................................................38
Registrar / Excluir Fontes de Dados................................................................................40
Conexo com outros Bancos de Dados...........................................................................41
Importando dados para o Base.........................................................................................42
Mais informaes............................................................................................................44

Criando um documento do Base


Para criar um novo documento do Base siga os passos abaixo:

Na barra de Ferramentas do BrOffice.org, clique sobre o cone [Novo] e


selecione Banco de Dados:

Ilustrao 1: Novo documento do


Base

O Assistente de Banco de Dados ser executado:

Ilustrao 2: Primeira tela do assistente de banco de dados


NOTA: o assistente tambm ser disparado ao comandar a execuo do BrOffice.org
Base, a partir do sistema operacional.

Eis as opes deste dilogo:

A opo <Abre um arquivo de banco de dados existente> permite a


seleo de um documento do Base para abertura.

A opo <Conectar a um banco de dados existente> permite a criao de


um documento do Base, para se conectar a um banco de dados dBase ou
de outro fabricante (Planilha do Calc, Texto ASCII, MS Access, MySql,
Oracle, etc).
3

Ns queremos criar um novo documento, ento marque <Criar novo


banco de dados> e clique sobre [Prximo].

A segunda tela do assitente ser exibida:

Ilustrao 3: Segunda tela do assistente de banco de dados


Nesta tela podemos:

Registrar ou no o banco de dados. Quando devemos registrar ? O


registro ser obrigatrio se formos utilizar os nossos dados em outros
documentos do BRO.org, por exemplo: mala-direta, etiquetas, controles
de formulrios, tabela dinmica, etc. O registro tambm pode ser feito
depois. Marque <Sim, registre o banco de dados para mim>.

Escolher uma ao que ser executada aps a criao do documento. A


opo <Criar tabelas usando o assistente> abre o documento e executa o
assistente de tabelas. Marque apenas a caixa <Abrir o banco de dados
para edio> e clique sobre o boto [Concluir].

O dilogo <Salvar Como> ser exibido, digite o nome Meus Cds para o
novo arquivo e clique sobre [Salvar]. O Base ser ativado, carregando o
novo documento.

Este novo documento uma base de dados. O Base usa o HSQL (Hypersonic
SQL), um sistema baseado no Java e com excelente suporte aos padres SQL,
como gerenciador do banco de dados.
Uma base de dados pode conter diversos objetos e atributos, entre os quais:
Tabelas com os dados, Formulrios, Consultas e Relatrios.
Documentos do Base, usados para conexo a bancos de dados de outro
fabricante, so apenas uma interface para acesso aos dados. Formulrios e
relatrios so embutidos no documento, enquanto os dados residem no banco
de dados original.
4

O Ambiente do Base
Vamos analisar, rapidamente, a janela do Base:

Ilustrao 4: Janela do Base

Alm dos elementos tradicionais, esta janela contm trs painis:

<Banco de dados>, do lado esquerdo, contm os cones das categorias de


objetos que o usurio pode criar: Tabelas, Consultas, Formulrios e Relatrios.

<Tarefas>, na parte superior direita, contm uma relao de tarefas bsicas para
a categoria selecionada. Ao selecionar uma tarefa, uma breve descrio ser
apresentada direita.

<Objetos>, na parte inferior direita, exibe os objetos de uma das categorias do


painel Banco de dados. direita do painel, temos a rea de visualizao do
objeto selecionado, para ativ-la altere de <Nenhum> para <Documento>.
Muitas tarefas sobre os objetos so executadas em janelas prprias, isto , o
Base abre uma nova janela para a tarefa.

Agora, clique em cada uma das categorias e observe as mudanas nos outros painis.

Note que nenhum objeto ser exibido no painel <Objetos>. Isto compreensvel,
pois o nosso documento est vazio. Os relatrios, formulrios e consultas
operam sobre as tabelas do banco de dados. Ento, em primeiro lugar,
precisamos de pelos menos uma tabela.
5

Tabelas
Se voc no tem nenhuma familiaridade com banco de dados, imagine uma tabela como
uma coleo de colunas (como as de uma planilha). As colunas so tambm chamadas
de <Campos>. Elas formam linhas (como as de uma planilha) chamadas de
<Registros>.
Cada coluna tm as suas prprias caractersticas: nome, tipo de dado, tamanho, entrada
obrigatria, dentre outras. Aps definir a tabela, voc poder guardar os seus dados nas
colunas, respeitando os atributos de cada uma delas.
Um registro de uma tabela formado pelo conjunto dos valores existentes nas colunas,
referentes a uma mesma entidade. Por exemplo, numa tabela de CDS, um registro (ou
linha) o conjunto dos dados de um nico CD.
Vamos projetar duas tabelas para o cadastro dos CDs musicais, uma para os dados dos
CDs e outra para as Msicas, eis a estrutura bsica de cada uma:
Estrutura da Tabela CDS:
Campo

Tipo

Tamanho

Descrio

IDCD

Inteiro

Identificador do CD (Chave primria)

TTULO

Texto [VARCHAR] 60

Ttulo do CD (obrigatrio)

ARTISTA

Texto [VARCHAR] 60

Nome do artista (obrigatrio)

PREO

Decimal

Preo do CD

15.2

AQUISIO Data

Data de aquisio do CD

CAPA

Imagem com a capa do CD

Imagem

Estrutura da Tabela MSICAS:


Campo

Tipo

Tamanho

Descrio

ID

Inteiro

Identificador da msica (Chave primria)

IDCD

Inteiro

Id do CD com a msica (Chave externa)

NOME

Texto

60

Nome da msica

AUTOR

Texto

60

Autor da msica

REPRODUO Hora
Tempo de reproduo da msica
Um campo pode ter outros atributos, como obrigatoriedade e formatao.
ATENO: ao desenhar a estrutura das suas tabelas, seja criterioso na escolha das
caractersticas dos campos (tipo, tamanho, etc). Alguns bancos de dados, incluindo o
Base, so rigorosos ao lidar com alteraes posteriores em tabelas. Considere, ainda, a
possibilidade de migrao para outro banco de dados, evitando, por exemplo, caracteres
acentuados nos nomes dos campos e tabelas.

Tipos de dados
Os dados das colunas do Base podem ser de um dos tipos:
Tipo [SQL]

Descrio

Tyny Integer [TINYINT]

dados do tipo inteiro de tamanho bem pequeno (1 byte)

BigInt [BIGINT]

dados do tipo inteiro de tamanho muito grande

Imagem [LONGVARBINARY]

dados do tipo imagem

Binrio [VARBINARY]

dados do tipo binrio

Binrio (fixo) [BINARY]

dados do tipo binrio de tamanho fixo

Memo [LONGVARCHAR]

dados do tipo memo (texto muito grande)

Texto (fixo) [CHAR]

dados do tipo texto de tamanho fixo

Nmero [NUMERIC]

dados do tipo numrico

Decimal [DECIMAL]

dados do tipo numrico com casas decimais

Integer [INTEGER]

dados do tipo inteiro normal ( 4 bytes )

Small Integer [SMALLINT]

dados do tipo inteiro pequeno ( 2 bytes )

Float [FLOAT]

tipo numrico com ponto flutuante (preciso simples)

Real [REAL]

tipo numrico com ponto flutuante

Double [DOUBLE]

tipo numrico com ponto flutuante (preciso dupla)

Texto [VARCHAR]

dados do tipo texto (cadeia de caracteres)

Texto [VARCHAR_IGNORECASE] dados do tipo texto, ignorando maisculas / minsculas


Sim/No [BOOLEAN]

dados do tipo lgico ( verdadeiro / falso )

Data [DATE]

dados do tipo data

Hora [TIME]

dados do tipo hora

Data/Hora [TIMESTAMP]

dados do tipo data-hora

OTHER [OTHER]
dados do tipo objeto
Os nomes entre colchetes refletem a nomenclatura da SQL.

Chaves
As chaves esto diretamente relacionadas com a recuperao e a manuteno da
integridade dos dados do banco de dados. So de dois tipos: (1) Primria e (2)
Secundria (ou Externa).

Chave primria
A chave primria uma espcie de identificador nico do registro. Pode ser
formada por um ou mais campos e deve identificar com exclusividade um
registro. permitido apenas uma chave primria por tabela. Ao escolher
vrios campos como chave primria, certifique-se da exclusividade do valor
formado. O Base permite a definio de um campo automtico (INTEGER
ou BIGINT) por tabela, que pode (ou no) ser usado como chave primria.
7

Finalmente, sem uma chave primria no ser possvel a edio da


tabela.

Chave secundria (Foreign keys)


So usadas, principalmente, para estabelecer uma relao entre diferentes
tabelas. Na maioria das vezes, uma chave secundria de uma tabela contm
valores de uma chave primria de outra tabela. Neste caso, ambas devem ser
do mesmo tipo de dado.
Em nosso exemplo, temos duas tabelas, a primeira CDS, com dados sobre
cada CD e um campo IDCD como chave primria, a segunda MSICAS,
com dados sobre todas as msicas da coleo de CDs. Pergunta-se: como
saber quais so as msicas existentes num dado CD, se as informaes esto
em tabelas diferentes ?
A soluo consiste na incluso de um campo IDCD na tabela MSICAS.
Assim, ao cadastrar uma msica, podemos inserir neste campo o valor do
campo IDCD da tabela CDS. O campo IDCD da tabela MSICAS uma
chave secundria (ou externa).
Ao organizar os campos das tabelas deste modo, para recuperar as msicas
de um dado CD, 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)

Vejamos agora como criar as nossas tabelas.

Criando uma tabela


Para criar uma tabela, selecione <Tabelas> no painel Banco de Dados e escolha
uma das opes <Usar assistente para criar tabela> ou <Criar tabela na exibio
de design>. Para o nosso exemplo, vamos usar a segunda alternativa.

Usando o assistente
O uso do assistente bem simples e compreende quatro etapas (crie uma
tabela qualquer para se familiarizar):
Na primeira, escolha uma categoria e uma tabela (fictcia) de exemplo,
depois selecione e mova os campos desejados para a listagem <Campos
selecionados>.
Na segunda, defina os atributos dos campos. Para isto, selecione o campo na
lista <Campos selecionados> e altere os seus atributos na rea
<Informaes sobre o campo>. Ainda, pode-se acrescentar e / ou excluir
campos e alterar a sua ordem.
A terceira etapa para a definio da chave primria. Se voc deseja usar
um campo existente (ou uma combinao de campos) e est inseguro sobre
a unicidade do valor, escolha a opo <Adicionar automaticamente uma
chave primria> e marque a caixa <Valor automtico>, deixando para o
Base a soluo desta confuso.

Na quarta etapa, digite o nome da sua tabela e selecione a ao seguinte,


aqui <Inserir dados imediatamente>. Clique sobre o boto [Concluir], a
janela de insero de dados ser ativada, feche-a ou digite os seus dados na
tabela.

Usando a janela de projeto


Vamos criar as nossas tabelas, selecione <Tabelas> e escolha <Criar tabela
na exibio de design>. A janela ser ativada, sem nenhum campo definido.
Eis uma breve descrio dos seus componentes (veja a figura):
Abaixo da barra de ferramentas, temos a rea de definio dos campos, com
quatro colunas: a primeira no tem ttulo e indica o estado da seleo ou a
marca de chave primria, as outras contm os ttulos <Nome do Campo>,
<Tipo do Campo> e <Descrio>. A coluna <Tipo do Campo> contm uma
lista para a seleo do tipo de dado desejado.
Na parte inferior, vem as propriedades do campo selecionado (com a seta
verde), estas propriedades variam de acordo com o tipo do campo. No lado
direito, tem uma caixa de texto que exibe uma ajuda para a propriedade
selecionada. A propriedade <Valor Padro> define um valor inicial para o
campo, na criao de um novo registro. Para a formatao de campos, o
Base usa o mecanismo de formatao do BrOffice.org (um tanto limitado).
Se no existir um formato predefinido adequado, podemos criar um.

Ilustrao 5: Janela de projeto de tabelas (Tabela CDS)

Crie os campos da tabela CDS, de acordo com a figura acima. Agora ajuste
as suas propriedades (as outras propriedades permanecem com o valor
padro):
IDCD: <Auto Valor>: Sim
TTULO: <Entrada Obrigatria>: Sim | <Tamanho>: 60
ARTISTA: <Entrada Obrigatria>: Sim | <Tamanho>: 60
PREO: <Tamanho>: 15 | <Decimais>: 2
Agora, vamos definir a nossa chave primria. Selecione a linha do campo
IDCD, clique com o boto direito do mouse e, no menu do contexto,
selecione <Chave Primria>. Note que o cone de uma chave ser
acrescentado esquerda do nome do campo IDCD.
Salve a tabela: clique sobre o cone <Salvar>, digite o nome CDS e clique
em [OK].

Ilustrao 6: Salvar tabela


Feche a janela de desenho de tabelas para retornar ao Base. Observe que
temos uma tabela de nome CDS na rea de objetos do Base.
Vamos criar a tabela MSICAS do nosso banco de dados. Selecione
<Tabelas> e escolha <Criar tabela na exibio de design>. Crie os campos
como explicado e altere as propriedades indicadas para:
ID: <Auto Valor>: Sim
IDCD: <Entrada Obrigatria>: Sim
NOME: <Entrada Obrigatria>: Sim | <Tamanho>: 60
AUTOR: <Tamanho>: 60
Agora, selecione a linha ID, clique com o boto direito do mouse e
selecione <Chave Primria> no menu. Note o cone de chave primria ao
lado do nome do campo.
Eis a aparncia final dos campos da tabela Msicas:

Ilustrao 7: Tabela MSICAS

10

Salve a tabela com o nome MSICAS e feche a janela de desenho de


tabelas.
Agora que temos duas tabelas, CDS e MSICAS, em nosso arquivo do
Base, precisamos salv-lo. Na barra de ferramentas do Base, clique sobre o
cone <Salvar>.
Para verificar algumas operaes sobre as tabelas, selecione a tabela CDS e
clique com o boto direito do mouse para exibir o menu do contexto (veja a
figura abaixo).

Ilustrao 8: Operaes com tabelas


A opo <Editar> permite alteraes na estrutura da tabela e a opo
<Abrir> abre a tabela numa janela de entrada de dados.

ndices
ndices so arquivos ordenados com base numa ou mais colunas de uma tabela,
cujo objetivo principal apontar para a localizao fsica da informao no banco
de dados. Para tabelas muito grandes isto acelera a recuperao de dados, mas, em
contrapartida, sobrecarrega a edio a cada atualizao da tabela o ndice
tambm deve ser atualizado.
O Base cria ndices automticos para as chaves primrias de uma tabela e,
tambm, para as chaves externas de uma tabela numa relao (veja o prximo
tpico).
Para criar um ndice, na Janela de desenho de tabelas, selecione Ferramentas |
Design do ndice (ou clique sobre o cone na barra de ferramentas).

Relaes
Uma relao define o modo como os dados entre diferentes tabelas esto
relacionados entre si e pode ser de trs tipos:

Um a Um, para cada registro da tabela_1 existe outro na tabela_2;

Um com Muitos, para cada registro da tabela_1 existem vrios na tabela_2


(dizemos que a tabela_1 a Principal e a tabela_2 a Detalhe);

Muitos com Muitos, cada registro da tabela_1 pode ter muitos registros na
tabela_2 e cada registro da tabela_2 pode ter muitos registros na tabela_1.
11

Devemos criar Relaes se quisermos usar alguns recursos (ou regras) dos bancos
de dados relacionais. Para operaes simples, elas no so necessrias.
Em nosso exemplo, o relacionamento entre as tabelas CDS e MSICAS do tipo
Um com Muitos, porque num CD podemos ter vrias msicas. No tpico sobre
Chaves, explicamos como estruturar os campos das tabelas de modo a permitir
este tipo de relacionamento. Somente a criao de chaves em duas tabelas, no
implica na existncia de uma relao entre as mesmas, ento precisamos cri-la.
No Base, selecione Ferramentas | Relaes para ativar a janela de desenho de
relaes:

Ilustrao 9: Janela de desenho de relaes


No dilogo <Adicionar Tabelas> selecione CDS e clique sobre [Adicionar],
depois selecione MSICAS e clique em [Adicionar], a seguir feche o dilogo.
Observe que as tabelas, com a lista de campos, foram adicionadas na janela de
desenho.
Agora, na barra de menu, selecione <Inserir | Nova Relao> para ativar o dilogo
Relaes.

12

Ilustrao 10: Dilogo Relaes


Alguns dos benefcios da existncia de uma Relao entre tabelas podem ser
notados em <Atualizar opes>, que lista o comportamento durante a atualizao
de dados e <Excluir opes>, que lista o comportamento durante as excluses; por
exemplo, a opo <Excluir cascata> significa que, ao excluir um registro da
tabela CDS os registros de todas as suas msicas sero excludos da tabela
MSICAS.
Ajuste as informaes de acordo com a figura acima, clique sobre [OK] e note, na
janela, o relacionamento 1 para N entre as duas tabelas.

Ilustrao 11: Relao Um para Muitos


Se quiser verificar os ndices, edite a tabela MSICAS e, na janela de desenho de
tabelas, clique sobre o cone <Design do ndice> e observe a existncia dos dois
ndices. Feche o dilogo ndices e a janela para retornar ao Base.
As nossa tabelas esto prontas para receber dados.

13

Editando dados
Isto pode ser feito de duas maneiras: (1) usando a janela de entrada de dados e (2)
usando formulrios.

Janela de entrada de dados


Selecione a tabela CDS, clique com o boto direito do mouse e escolha a opo
<Abrir>. A janela ser ativada (no digite nenhum dado, vamos faz-lo usando
formulrios).
Aponte o cursor do mouse para os cones da barra de ferramentas, verificando a
finalidade de cada um. Na parte inferior da janela (no mostrada), h um contador
de registros e cones para a navegao pelos registros.

Ilustrao 12: Janela de entrada de dados


Note que a disposio dos campos segue a mesma ordem em que foram criados e,
ao apontar o cursor do mouse sobre um ttulo de coluna, a sua descrio ser
exibida.
A largura das colunas e a altura das linhas podem ser alteradas, de modo
semelhante ao de uma Planilha ou Tabela do Writer.
Observe que a coluna IDCD contm o atributo <CampoAutomtico> e no pode
ser editada. A coluna CAPA (do tipo Imagem) contm o atributo <OBJECT> e,
atualmente, no pode ser editada na janela de edio.
Aps se familiarizar, feche a janela, retornando ao Base.

Formulrios
Formulrios permitem a visualizao e edio dos dados de uma ou mais tabelas
(ou consulta), de modo flexvel e configurvel pelo usurio. Podemos trabalhar
apenas os campos que nos interessa e na ordem que quisermos, isto til porque
nem sempre dispomos dos dados na mesma ordem em que os campos foram
criados na tabela.
Formulrios do Base contm controles (caixa de texto, etiquetas, etc) dispostos
sobre um documento do Writer. possvel ter um formulrio (principal) com um
ou mais subformulrios (detalhes). Lembre-se que tanto os formulrios como os
controles possuem suas prprias propriedades e eventos, o que aumenta, ainda
mais, o poder dos mesmos.

14

Eles podem ser salvos como documentos embutidos no documento do Base ou


como documentos independentes (estes, no podem ser criados com o assistente).
So criados de duas maneiras: (1) na exibio de design e (2) usando o assistente.
A primeira exige um certo domnio sobre os formulrios do BrOffice.org e a
segunda menos especializada, porm mais intuitiva.

Assistente de formulrios
Vamos usar o assistente para criar o nosso formulrio. Selecione
<Formulrios> e clique sobre <Usar assistente para criar formulrio>, para
exibir o seu primeiro dilogo.

Note que existem 8 (oito) etapas:


Na primeira etapa <Seleo de campos> devemos:

Na lista <Tabelas ou consultas>, selecionar a tabela. Escolha a tabela


CDS;

Mover os campos desejados da lista <Campos disponveis> para a lista


<Campos no formulrio>. Note que o campo CAPA (tipo Imagem), no
est relacionado. Mova todos os campos (aqui, voc pode alterar a
ordem dos mesmos);

Clique em [Avanar], para a segunda etapa <Configurar um


subformulrio>.

Um subformulrio um formulrio inserido noutro formulrio e,


normalmente, usado quando desejamos operar sobre os dados de tabelas
relacionadas. Este o nosso caso.
Nesta etapa, devemos:

15

Marcar a caixa <Adicionar subformulrio>. Note que, apesar de existir


uma relao em nosso banco de dados, a opo para us-la est
indisponvel.

Clicar em [Avanar] para a etapa <Adicionar campos do


subformulrio>.

Nesta etapa, devemos:

Selecionar a tabela MSICAS;

Mover todos os seus campos para a lista <Campos no formulrio>;

Clicar sobre [Avanar] e passar para a quarta etapa <Obter campos


associados>.

Aqui, vamos estabelecer a ligao entre as tabelas:

Selecione IDCD como <Primeiro campo de subformulrio>;

Selecione IDCD como <Primeiro campo de formulrio principal>;

Clique sobre [Avanar] para a quinta etapa <Dispor controles>.

Note que os dois formulrios so acrescentados ao documento, ambos com a


disposio semelhante a uma planilha de dados.
Nesta etapa vamos alterar a disposio:

Em <Disposio do formulrio principal> escolha a primeira opo


<Colunar etiquetas a esquerda>;

Deixe a disposio dos campos do subformulrio como Planilha de


dados;

Clique sobre [Avanar], passando para a sexta etapa <Definir entrada


de dados>.

Nesta etapa podemos escolher como o formulrio ser utilizado.

Deixe como est e clique em [Avanar].

Na etapa <Aplicar estilos>:

Em <Borda do campo>, selecione <Plano>;

Clique em [Avanar], para definir o nome do formulrio.

Nesta etapa:

Aceite o nome sugerido (CDS) e clique sobre [Concluir].

Analise a janela do formulrio, os controles e os cones existentes na parte


inferior. Na barra de ttulo, alm do nome do formulrio vemos a indicao
(somente leitura), isto refere-se ao fato de no podermos alterar o formulrio
(por ex: a disposio dos controles), no tendo nenhuma relao com a
apresentao e edio dos dados das tabelas. Aps a anlise, feche a janela
para retornar ao Base.
Selecione o formulrio CDS e clique sobre o boto direito do mouse para
exibir as operaes disponveis para o mesmo.

16

Ilustrao 13: Operaes com


formulrios
Aqui, a opo <Editar> abre o formulrio para incluso / alterao dos
controles ou na formatao do documento. A opo <Abrir> abre o
formulrio para apresentao ou edio dos dados da(s) tabela(s) e
corresponde a um duplo clique sobre o nome CDS.
Alteramos o documento do Base, inserindo um formulrio, portanto clique
sobre [Salvar]. Mas, antes de cadastrar algum dado, temos um problema a
resolver.

Editando formulrios
Voc deve ter percebido que o assistente no lida (ainda) com campos do
tipo Imagem. Ento, devemos editar o formulrio para incluir a coluna
CAPA da tabela CDS.
Para tal, selecione o formulrio, clique com o boto direito do mouse e
escolha a opo <Editar> no menu do contexto. Surge o formulrio numa
janela do Writer (sem o aviso somente leitura na barra de ttulo).
Selecione o subformulrio e na barra de rgua vertical posicione-o a 5 cm da
borda superior.
Selecione o campo <Aquisio> e mova-o para baixo do campo <Preo>.
Ajuste o alinhamento na rgua horizontal.
Selecione qualquer campo do formulrio principal, localize na parte inferior
da janela a barra de ferramentas <Design de formulrio>.

Clique no cone <Adicionar campo>, surge uma lista com os campos da


tabela CDS:

17

D um duplo clique no campo CAPA, observe que um novo controle com o


rtulo CAPA foi adicionado ao formulrio. Mova-o para o lado direito do
formulrio. Feche a lista <Adicionar campo>.
No precisamos do rtulo. Selecione o controle de imagem, clique com o
boto direito do mouse e escolha <Agrupar> | <Desagrupar>.

Agora, voc pode selecionar um controle independente do outro. D um


duplo clique no controle de imagem para exibir o dilogo com as suas
propriedades.

Clique sobre o boto [...] da propriedade <Campo de rtulo> para exibir o


dilogo de <Seleo de campo de rtulo>.

18

Marque a caixa <nenhuma atribuio> e clique sobre [OK]. Note, nas


propriedades, que o rtulo foi excludo.
Aproveite e ajuste as propriedades indicadas para:
<Cor do plano de fundo> : Cinza 10%
<Cor da borda> : Preto
Feche o dilogo de propriedades.
Selecione o controle do rtulo CAPA e pressione a tecla <Del> para exclulo do nosso formulrio.
Eis a aparncia final:

Salve as alteraes e feche a janela de edio (Writer), retornando ao Base.


Salve tambm o documento do Base.

Entrada de dados
Abra o formulrio CDS (duplo clique). Na parte inferior da janela, encontramos a
barra de navegao e operaes sobre os registros.

19

As aes ocorrem no formulrio ativo (com o foco). Eis uma breve descrio dos
cones (da esquerda para a direita):
<Localizar registro>: abre o dilogo para pesquisa de registro.
<Contador de registros>: exibe o registro atual e o total de registros da tabela.
<Primeiro registro>: seleciona o primeiro registro da tabela (ou consulta).
<Registro anterior>: seleciona o registro anterior da tabela (ou consulta).
<Prximo registro>: seleciona o prximo registro da tabela (ou consulta).
<ltimo registro>: seleciona o ltimo registro da tabela (ou consulta).
<Novo registro>: cria um novo registro na tabela
<Salvar registro>: salva o registro corrente, use sempre que alterar dados.
<Desfazer entrada de dados>: desfaz uma entrada de dado.
<Excluir registro>: exclui o registro corrente da tabela.
<Atualizar>: atualiza os dados de um controle.
A seguir temos cones para <Classificar> e <Filtrar> registros.
Observe, ainda, que o subformulrio tem a sua prpria barra de navegao
(reduzida).
Tanto a tecla <Tab> como <Enter> move o foco para o prximo controle,
selecionando o seu contedo. A ordem de tabulao pode ser alterada, atravs da
propriedade <Ordem de tabulao>, no dilogo de propriedades do controle.
Finalmente, estamos prontos para digitar os dados do primeiro CD.

Selecione o campo TTULO (IDCD automtico), digite o ttulo do CD e


tecle <Enter> ou <Tab> passando ao prximo campo;

Digite os dados dos campos seguintes, at o campo AQUISIO. Aqui, aps


o <Tab> o foco move-se para o subformulrio. Contudo, nenhuma linha abrese para a entrada da msica, ento force a atualizao do controle clicando
sobre o cone <Atualizar> na barra de ferramentas.

Digite os dados das msicas do CD. Aqui, o campo IDCD no automtico,


mas o Base acrescenta o seu valor.

Aps digitar as msicas, vamos incluir a CAPA do CD no seu controle voc


precisar de alguns arquivos de imagem (jpg, gif, bmp, etc) no seu HD:

Clique com o boto direito do mouse sobre o controle da capa (mantenha o


boto pressionado), aparece o menu do contexto, selecione <Inserir figura de>
e libere o boto do mouse;

20

Aparece o dilogo <Inserir Figura>. Localize e selecione o arquivo e clique


sobre o boto [Abrir]. A figura ser inserida no controle do formulrio.

Eis os dados que digitei na tabela CDS:

Eis os dados que digitei na tabela MSICAS:

No prximo tpico veremos como consultar o nosso cadastro de CDs.

21

Consultas
Uma consulta uma solicitao, sobre o contedo dos dados, que se faz ao Base, algo
do tipo:
Quais so os valores nas colunas Ttulo e Artista da tabela CDS ?

O Base analisa e responde a consulta, selecionando e exibindo os dados requisitados.


Consultas so teis pela capacidade de recuperar apenas os dados que obedeam a um
determinado critrio, por exemplo: operar apenas com os CDs do artista Sicrano.
As nossas perguntas devem ser formuladas numa linguagem que o Base tambm possa
compreender, esta linguagem a SQL. Como nem todos tem tempo ou interesse para
aprender uma nova linguagem, o Base oferece trs maneiras para criar consultas: (1)
usando o assistente; (2) usando a janela de desenho e (3) usando a janela da linguagem
SQL.
Para ativar um dos modos, selecione <Consultas> no painel Banco de Dados e escolha o
modo desejado no painel <Tarefas>.

Assistente para consultas


Ative o assistente para exibir o dilogo.

Note que existem oito etapas.


Na primeira, devemos:

Selecionar uma tabela na lista <Tabelas> e mover os campos desejados de


<Campos disponvies> para <Campos em minha Consulta>. Aps escolher os
campos de uma tabela, podemos selecionar outra tabela e acrescentar campos
22

da mesma. Os nomes dos campos tm o nome da tabela como prefixo. Mova


todos os campos da tabela CDS;

Se desejado, alterar a ordem de exibio dos campos da consulta;

Clique sobre o boto [Avanar].

Na segunda etapa <Ordem de classificao> podemos:

Em <Clasificar por>, definir um ou mais campos para ordenar a consulta.


Note que a ordem pode ser <Crescente> ou <Decrescente>. No desejamos
classificar, ento clique sobre [Avanar] passando terceira etapa.

Na etapa <Condies de pesquisa> podemos:

Escolher at trs condies de pesquisa para a consulta. Selecione o campo


IDCD, a condio < maior que> e digite 2 na caixa <Valor>;

As opes <Igualar todos os seguintes> e <Igualar qualquer um dos


seguintes> correspondem aos operadores E e OU respectivamente, ligando
duas ou mais condies;

Clique sobre [Avanar] e passe ao quarto dilogo.

Na etapa <Detalhe ou resumo> definimos:

A opo <Consulta detalhada> seleciona todos os registros. A opo


<Consulta resumida> permite o uso de uma das funes agregadas (de
resumo) como, por exemplo, SUM para retornar a soma dos valores de uma
coluna;

Deixe como est e clique sobre [Avanar].

Note que as etapas de agrupamento foram saltadas, passando direto para a etapa
<Aliases>, onde podemos:

Definir Aliases para os nomes dos campos. Isto , nomes normalmente


abreviados que sero usados no lugar do nome real. Sua finalidade
simplificar a digitao e resolver ambigidades nos comandos da SQL;

Deixe como est e clique sobre [Avanar].

Na ltima etapa <Viso geral>, so apresentadas as definies finais da consulta:

Em <Nome da consulta> digite um nome para a mesma;

Se quiser edit-la, marque a opo <Modificar consulta>. Deixe como est.

Clique sobre [Concluir] para exibir os dados requisitados numa janela.

23

Eis o resultado final, observe que apenas os registros cujo IDCD so maiores que
2 foram selecionados. Nesta janela podemos, entre outras operaes, editar os
dados. Altere o PREO do Cd 4 para 22,00 e clique sobre o cone <Salvar
registro atual>.

Janela da SQL
Ative a janela da SQL selecionando <Criar consulta na exibio SQL>.

Entre os cones desta janela temos:


<Ativar/Desativar exibio de design>: alterna entre a exibio da janela de
projeto e da janela SQL.
<Executar consulta>: executa a consulta, retornando o seu resultado.
<Limpar consulta>: limpa a consulta atual.
<Executar o comando SQL diretamente>: repassa o comando SQL diretamente
para o mecanismo do banco de dados, sem uma anlise da sua validade. Algumas
consultas podem ter uma sintaxe no suportada pelo Base, mas suportada pelo
motor do Banco de Dados.

Comando SELECT
O comando da SQL usado para consultas o SELECT, um comando muito
poderoso, com diversas clusulas. Vejamos a sua sintaxe bsica:
SELECT lista_de_colunas FROM lista_de_tabelas WHERE expresso

onde:
SELECT => comando SQL para consultas
lista_de_colunas => nomes das colunas, separados por vrgula (use * para
todas)
FROM => clusula para definir a origem dos dados ( tabelas )
lista_de_tabelas => nomes das tabelas, separados por vrgula
24

WHERE => clusula para definir as condies da consulta


expresso => uma expresso SQL vlida
NOTA: nomes de colunas e tabelas so sensveis a maisculas / minsculas
e podem estar entre aspas ( por exemplo: IDCD ou MSICAS).
Vamos apresentar alguns exemplos. Para ver o resultado, digite o comando
e clique sobre o cone <Executar consulta>:
SELECT IDCD, TTULO, ARTISTA FROM CDS

seleciona as colunas Idcd, Ttulo e Artista da tabela CDS


Eis o resultado da consulta.

Digite os comandos abaixo (um por vez e sobrescrevendo o anterior),


comande a execuo e observe a sada:
SELECT * FROM CDS

seleciona todas as colunas da tabela CDS


SELECT * FROM MSICAS WHERE AUTOR LIKE 'Autor 1'

retorna os registros da tabela MSICAS onde o nome do autor como


Autor 1.
SELECT * FROM MSICAS WHERE AUTOR NOT LIKE 'Autor 1'

retorna os registros da tabela MSICAS onde o nome do autor no como


Autor 1.
permitido digitar um comando em mais de uma linha:
SELECT TTULO, NOME
FROM CDS, MSICAS
WHERE MSICAS.IDCD = CDS.IDCD

retorna os ttulos dos CDs e os nomes das msicas em cada um deles. Note
que, na clusula WHERE, usamos os nomes das tabelas para distinguir os
nomes das colunas.
SELECT CDS.IDCD, TTULO, NOME FROM CDS, MSICAS
WHERE CDS.IDCD > 1 AND MSICAS.IDCD = CDS.IDCD

retorna os campos idcd e ttulo da tabela CDS e os nomes das msicas em


cada um deles. Na clusula WHERE usamos duas condies para a
pesquisa.
Agora, vamos analisar a nossa ltima consulta na janela de desenho de
consultas.

25

Janela de desenho de consultas


Clique sobre o cone <Ativar/Desativar exibio de design>, para ativar a
janela:

Na parte superior temos as tabelas usadas na consulta e, logo abaixo, as


definies da nossa consulta. Note, principalmente, as linhas:
<Campo>: contm o nome do campo ou da expresso
<Tabela>: nome da tabela que contm o campo
<Classificar>: para escolher um critrio de ordenao para o campo
<Visvel>: define se o campo ou expresso ser visvel ou no
<Funo>: definir alguma funo de resumo (SUM, AVG, etc) para a
coluna
<Critrio>: define um critrio para a coluna ( a expresso da clusula
WHERE)
<Ou>: define um critrio que ser ligado pelo operador OU.
Ao definir vrios critrios, os que sero ligados pelo operador E devem
estar na mesma linha. Os ligados pelo operador OU devem estar em suas
prprias linhas.
Note os critrios e a incluso de um campo no visvel (IDCD da tabela
MSICAS), usado como parte da clusula WHERE.
Para criar uma nova consulta nesta janela, ative-a a partir do Base, atravs
da opo <Criar consulta na exibio de design>. Neste caso, o dilogo
<Adicionar tabelas> ser exibido. O usurio deve selecionar a tabela e
clicar sobre o boto [Adicionar].
Pode-se adicionar um campo digitando o seu nome na linha <Campo> ou
dando um clique duplo sobre o seu nome na lista da tabela.
Clique novamente sobre o cone <Ativar/Desativar exibio de design>,
desativando a janela de desenho. Veja como est a sintaxe do comando
SQL:
SELECT "CDS"."IDCD", "CDS"."TTULO", "MSICAS"."NOME"

26

FROM "CDS" "CDS", "MSICAS" "MSICAS"


WHERE ( ( "CDS"."IDCD" > 1 AND "MSICAS"."IDCD" = "CDS"."IDCD" ) )

Esta a sintaxe real do comando. Para facilitar a nossa vida, o Base


reescreve os nossos comandos (do assistente, janela de desenho e janela
SQL) usando a sintaxe correta.
Note o uso automtico de Aliases abreviaturas na clusula FROM (o
padro o nome da tabela) e o uso destes como prefixo dos nomes de
colunas.

Expresses
Numa clusula WHERE, uma expresso ser avaliada como Falsa ou
Verdadeira. Se falsa nenhuma linha ser retornada. Se verdadeira, apenas os
registros que satisfazem a condio sero retornados.
Algumas expresses tambm podem ser usadas para calcular valores numa
coluna de uma consulta.
Os principais elementos encontrados numa expresso so:
Constantes
Constante
Numrica
Cadeia

Definio
um valor numrico ( ex: 100 )
um valor delimitado por apstrofo ( ex: 'Joo da Silva' )

Data / Hora

uma data / hora delimitada por apstrofo ( ex: '2005-12-25' )

Simblica
valor de uma funo do sistema ( ex: CURRENT_DATE )
O apstrofo < ' > usado como delimitador de constantes ( cadeia e data /
hora ).
Exemplos:
SELECT * FROM CDS WHERE AQUISIO > '2004-01-01'

data no formato yyyy-mm-dd ( ano-ms-dia )


SELECT * FROM MSICAS WHERE REPRODUO > '00:10:00'

hora no formato hh:mm:ss ( horas:minutos:segundos )


Operadores Aritmticos
Operador

Definio

soma valores ( ex: 21 + 30 ou Coluna1 + Coluna2 )

subtrai valores ( ex: 30 - 10 ou Coluna2 - Coluna1 )

multiplica valores ( ex: 21 * 2 ou Coluna1 * 2 )

divide valores ( ex: 30/2 ou Coluna1 / Coluna2 )

||

concatena cadeias ( ex: 'Joo ' || 'Silva' ou Coluna1 || Coluna2 )


Ao misturar operadores, certifique-se da precedncia entre os mesmos.

27

Exemplos:
SELECT TTULO, PREO, PREO * 2 FROM CDS

usa uma expresso para criar uma coluna numa consulta


SELECT IDCD, (10+100+1000+10000) / PREO FROM CDS

usa uma expresso para criar uma coluna, os parnteses foram a


precedncia
Operadores de comparao
Operador

Definio

<>

diferente de ( ex: Coluna1 <> Coluna2 )

!=

diferente de ( ex: Coluna1 != Coluna2 )

igual a ( ex: Coluna1 = Coluna2 )

>=

maior ou igual a ( ex: Coluna1 >= Coluna2 )

<=

menor ou igual a ( ex: Coluna1 <= Coluna2 )

>

maior que ( ex: Coluna1 > Coluna2 )

<

menor que ( ex: Coluna1 < Coluna2 )


Exemplo:
SELECT TTULO, ARTISTA, PREO FROM CDS WHERE PREO < 20.00

retorna as colunas consultadas dos registros que satisfaam ao critrio


Operadores lgicos
Operador
AND

Definio
retorna TRUE se todas as expresses forem TRUE

OR
retorna TRUE se qualquer uma das expresses for TRUE
Estes operadores juntam vrias expresses numa s expresso.
Exemplos:
SELECT TTULO, ARTISTA FROM CDS WHERE IDCD > 0 AND PREO < 20

retorna os CDs com IDCD maior que zero e preo menor que 20
SELECT * FROM MSICAS WHERE AUTOR = 'Autor 2' OR AUTOR = 'Autor 5'

retorna as msicas cuja autoria seja do Autor 2 ou do Autor 5


Operadores da SQL
Operador
[NOT] LIKE

Definio
[ NO ] COMO ( ex: Col1 LIKE 'Ada' ou Col2 NOT LIKE 'Ada' )

BETWEEN

ENTRE x E y ( ex: Coluna1 BETWEEN 10 AND 100 )

[NOT] IN

[ NO ] IN ( ex: Coluna1 IN (2, 4, 6) )

IS [NOT] NULL

[ NO ] VAZIO ( ex: Coluna1 IS NULL )

28

Os caracteres % e _ podem ser usados na cadeia da clusula LIKE, como


em:
LIKE '%Y%'

=> contm Y em qualquer posio

LIKE '_Y%'

=> o segundo caractere da coluna Y

LIKE 'Y%K%'

=> comea com Y e contm K

NOT LIKE 'Y%'

=> no comea com Y

Exemplos:
SELECT * FROM MSICAS WHERE NOME LIKE '%3%'

retorna as msicas cujo nome contm 3


SELECT * FROM MSICAS WHERE IDCD BETWEEN 2 AND 4

retorna as msicas dos CDs cujo IDCD esteja entre 2 e 4 (inclusive)


SELECT * FROM MSICAS WHERE IDCD IN (0,2,4)

retorna as msicas dos CDs cujo IDCD seja 0, 2 e 4


Ao usar estes operadores na janela de desenho de consultas, podemos
empregar as suas formas traduzidas.
Aqui, apresentamos o bsico sobre este poderoso comando. Para aprender mais
sobre o seu uso, consulte alguma documentao sobre a linguagem SQL.

Ordenando consultas
Para classificar o resultado de uma consulta, use a clusula ORDER BY do
comando SELECT, como em:
SELECT . . . ORDER BY lista_de_colunas [ ASC | DESC ]

ASC => ordem crescente, o valor padro


DESC => ordem decrescente
ORDER BY deve estar aps a clusula WHERE, se exisitir uma
Exemplos:
SELECT * FROM MSICAS ORDER BY AUTOR ASC

registros da tabela MSICAS em ordem crescente por AUTOR


SELECT * FROM MSICAS WHERE IDCD > 1 ORDER BY AUTOR DESC

registros da tabela MSICAS em ordem decrescente por AUTOR


SELECT * FROM MSICAS WHERE IDCD > 1 ORDER BY IDCD DESC, AUTOR ASC

registros em ordem decrescente por IDCD e ascendente por AUTOR


Comande a execuo de cada um dos exemplos e observe o resultado.

Evitando duplicaes
Para descartar os registros que tenham valores duplicados numa dada coluna, o
comando SELECT dispe da clusula DISTINCT, eis a sintaxe bsica:
SELECT DISTINCT coluna1 [ , . . ., colunaN ] FROM tabelas

descarta registros com valores duplicados na coluna1


Por exemplo, para saber quais so os compositores na tabela MSICAS,
podemos:
SELECT DISTINCT AUTOR FROM MSICAS ORDER BY AUTOR

retorna os nomes dos autores na tabela Msicas, sem repetio


29

Consultas com parmetros


Numa consulta deste tipo, o valor da condio ser solicitado ao comandar a
execuo.
Criamos parmetros substituindo o valor da condio pelo sinal de interrogao <
? >, como no exemplo:
SELECT * FROM MSICAS WHERE IDCD > ?

retorna os registros cujo IDCD satisfaa condio, o usurio fornecer o


valor
Ao executar esta consulta o dilogo <Entrada de Parmetro> ser exibido:

Na lista <Parmetros> os nomes dos campos sero listados.


Digite 2 na caixa <Valor> e clique sobre o boto [OK].
Analise o resultado da consulta com parmetros.

Funes do Base
O Base tem muitas funes que podem ser usadas como parte de uma expresso.
Outras, so usadas como valor padro de uma coluna na criao de um registro.
Ao usar funes em consultas, podemos misturar minsculas e maisculas nos
seus nomes. O Base se encarrega da converso para maisculas.
Procure analisar, executar e observar a sada de cada um dos exemplos a seguir.

Funes de resumo
Estas funes operam sobre um conjunto de valores.
Funo

Descrio

COUNT (*)

retorna o nmero total de linhas

COUNT

retorna o nmero total de linhas

MIN

retorna o menor valor na coluna

MAX

retorna o maior valor na coluna

SUM

retorna a soma dos valores da coluna

AVG

retorna a mdia dos valores da coluna

VAR_POP

retorna a varincia dos valores da coluna, base a populao

VAR_SAMP

retorna a varincia dos valores da coluna, base uma amostra


30

Funo

Descrio

STDDEV_POP

retorna o desvio padro dos valores da coluna, base a populao

STDDEV_SAMP

retorna o desvio padro dos valores da coluna, base uma amostra

Exemplos:
Select Count(*) From CDS

retorna o nmero de linhas (registros) da tabela CDS


Select Max(IDCD) From CDS

retorna o maior valor na coluna IDCD da tabela CDS


Select Sum (PREO), Avg (PREO) From CDS

retorna a soma e a mdia da coluna PREO da tabela CDS

Funes numricas
As principais funes matemticas esto disponveis nesta categoria.
Funo

Descrio

ABS (d)

retorna o valor absoluto de um valor

ACOS (d)

retorna o arco-cosseno de um ngulo

ASIN (d)

retorna o arco-seno de um ngulo

ATAN (d)

retorna o arco-tangente de um ngulo

ATAN2 (a, b)

retorna a tangente de a / b

BITAND (a, b)

retorna a AND b ( bit a bit )

BITOR (a, b)

retorna a OR b ( bit a bit )

CEILING (d)

retorna o menor inteiro no menor que d

COS (d)

retorna o cosseno de um ngulo

COT (d)

retorna a cotangente de um ngulo

DEGREES (d)

converte de radiano para graus (decimal)

EXP (d)

retorna o nmero e elevado potncia d

FLOOR (d)

retorna o maior inteiro no maior que d

LOG (d)

retorna o logaritmo natural (base e) de d

LOG10 (d)

retorna o logaritmo (base 10) de d

MOD (a, b)

retorna o valor ( a MOD b )

PI ( )

retorna pi (3.1415...)

POWER (a, b)

retorna a elevado a potncia b

RADIANS (d)

converte graus para radianos

RAND ( )

retorna um valor pseudo-aleatrio, tal que: 0.0 >= x < 1.0

ROUND (a, b)

arredonda a para b dgitos aps o ponto decimal

ROUNDMAGIC (d) resolve arredondamentos como: 3.11 3.1 0.01


31

Funo

Descrio

SIGN (d)

retorna -1 se d < 0; 0 se d = 0; 1 se d > 0

SIN (d)

retorna o seno do ngulo

SQRT (d)

retorna a raiz quadrada de d

TAN (A)

retorna a tangente de um ngulo

TRUNCATE (a, b)
Exemplo:

trunca a para b dgitos aps o ponto decimal

Select PREO, Degrees(Asin(Rand())), Sqrt (PREO) From CDS

cria colunas usando funes numricas

Funes de caracteres
Nesta categoria, temos diversas funes para manipulao de cadeias de
caracteres.
Funo

Descrio

ASCII (s)

retorna o valor ASCII do primeiro caracter de s

BIT_LENGTH (str)

retorna o comprimento de str em bits

CHAR (c)

retorna o caractere com o cdigo ASCII c

CHAR_LENGTH(str)

retorna o comprimento da cadeia str em caracteres

CONCAT (str1, str2)

concatena str1 e str2

DIFFERENCE (s1, s2)

retorna a diferena entre o som de s1 e s2

HEXTORAW (s1)

retorna a cadeia s1 traduzida

INSERT (s, start, len, s2)

cadeia com len caracteres, a partir de start, substitudos por s2

LCASE (s)

converte s para minsculas

LEFT (s, count)

retorna os count caracteres esquerda de s usa aspas

LENGTH (s)

retorna o nmero de caracteres de s

LOCATE (search, s, [start])

retorna a posio de search em s (0 se no encontrar)

LTRIM (s)

remove os espaos iniciais de s

OCTET_LENGTH (str)

retorna o comprimento da cadeia str em bytes

RAWTOHEX (s1)

retorna a cadeia s1 traduzida

REPEAT (s, count)

retorna uma cadeia com count caracteres s

REPLACE (s, replace, s2)

substitui todas as ocorrncias de replace em s por s2

RIGHT (s, count)

retorna os count caracteres a direita de s

RTRIM (s)

remove os espaos finais de s

SOUNDEX (s)

retorna um cdigo de quatro caracteres, representado o som de s

SPACE (count)

retorna uma cadeia contendo count espaos

SUBSTR (s, start [,len])

semelhante a substring

SUBSTRING (s, start [,len])

retorna a subcadeia iniciando em start com o tamanho len


32

Funo

Descrio

UCASE (s)

converte a cadeia s para maisculas

LOWER (s)

converte a cadeia s para minsculas

UPPER (s)
Exemplo:

converte a cadeia s para maisculas

Select UPPER(ARTISTA), Lower(TTULO), Concat (Repeat('@',5), TTULO) From CDS

usando funes de cadeias de caracteres numa consulta

Funes temporais
Lidam com dados do tipo Data, Hora ou DataHora.
Funo

Descrio

CURDATE ( )

retorna a data corrente

CURTIME ( )

retorna a hora corrente

DAYNAME (data)

retorna o nome do dia

DAYOFMONTH (data)

retorna o dia do ms (1-31)

DAYOFWEEK (data)

retorna o dia da semana (1 = domingo)

DAYOFYEAR (data)

retorna o dia do ano (1 a 366)

HOUR (hora)

retorna a hora (0 a 23)

MINUTE (hora)

retorna os minutos (0 a 59)

MONTH (date)

retorna o ms (1 a 12)

MONTHNAME (data)

retorna o nome do ms

QUARTER (data)

retorna o trimestre (1 a 4)

SECOND (hora)

retorna os segundos (0 a 59)

WEEK (data)

retorna a semana deste ano (1 a 53)

YEAR (data)

retorna o ano

DATEDIFF (s, dh1, dh2)

intervalo transcorrido entre dh1 e dh2, conforme a unidade em s

NOW ( )

retorna a data e hora corrente

TODAY ( )

retorna a data atual

CURRENT_DATE

retorna a data atual

CURRENT_TIME

retorna a hora atual

CURRENT_TIMESTAMP retorna a data e hora atual


Exemplo:
Select AQUISIO, DayName(AQUISIO), MonthName( AQUISIO), Now() From
CDS

usa funes de data / hora numa consulta


O Base aceita outras funes (no apresentadas), como CaseWhen:
Select TTULO, PREO, CASEWHEN (PREO > 15, 'Caro', 'Barato') From CDS

33

cria uma coluna com Caro ou Barato, segundo o resultado da expresso PREO
> 15
Crditos:
Sintaxe e descrio das funes compiladas do tpico Stored Procedures /
Functions, do Chapter 9. SQL Syntax, da documentao do HSQL, do The
Hypersonic SQL Group.

34

Exibies
Uma exibio (ou viso) uma espcie de tabela virtual. Esta tabela definida por uma
consulta armazenada no prprio banco de dados. Os dados da exibio residem nas
tabelas reais da base de dados.
Para criar uma exibio, selecione <Tabelas> e clique sobre <Criar exibio>. A janela
de desenho de consultas ser aberta, com o dilogo <Adicionar Tabelas> ativo.
Selecione CDS, clique sobre [Adiconar]. O mesmo para MSICAS. Eis a aparncia:

Feche o dilogo e vamos definir a consulta base da exibio:

Na tabela CDS d um duplo clique sobre os campos TTULO e ARTISTA.

Na tabela MSICAS d um duplo clique sobre os campos NOME e


REPRODUO.

Eis a aparncia final da consulta:

Clique sobre o cone <Salvar>, digite ExibeCDs na caixa de texto e clique sobre [OK].

35

A janela de desenho ser fechada. Salve tambm o documento do Base. Note que a
exibio foi acrescentada junto aos objetos <Tabelas>.
Um duplo clique sobre o nome da exibio abre a janela de visualizao com os dados.

Feche a janela de edio de dados, retornando ao Base.


Agora voc poder usar a exibio como base para definir formulrios, consultas,
relatrios e, inclusive, outras exibies.

36

Relatrios
Se voc precisar imprimir dados das tabelas ou consultas, use relatrios.

Criando Relatrios
O Base usa um assistente para criar os seus relatrios, que so documentos do
Writer embutidos.
Clique sobre <Relatrios> e, no painel <Tarefas>, sobre <Usar assistente para
criar relatrio> (ou use o menu do contexto de uma tabela ou consulta).
Antes da exibio do assistente, um novo documento do Writer ser carregado.
Note que ele j contm informaes no cabealho (Ttulo, Autor e Data).
Eis a primeira etapa do assistente:

O assistente no permite a seleo de campos em diferentes tabelas. Para isto, crie


uma Consulta ou Exibio e use-a como base do relatrio.

Selecione a tabela MSICAS e mova os campos de <Campos disponveis>


para <Campos no relatrio> como na figura. Clique sobre [Avanar].

Na segunda etapa, devemos definir os ttulos das colunas, deixe como est e
prossiga para a prxima etapa.
Na terceira etapa, definimos o tipo de agrupamento dos nossos dados.
Agrupamentos so teis quando o contedo de uma ou mais colunas o mesmo
em vrios registros. possvel definir vrios nveis de agrupamento.
Imagine uma rede de lojas com dados sobre as vendas. Ao criar um relatrio,
pode-se agrupar as vendas por filial e, dentro de cada filial, por setor.
Na tabela Msicas, o valor da coluna IDCD repete-se nos registros das msicas de
um dado CD e um candidato a um campo de agrupamento:

Em <Campos> selecione IDCD e mova-o para <Agrupamentos>;


37

Clique sobre [Avanar].

Na etapa <Opes de classificao> definimos como o relatrio ser ordenado.


Note que os campos de agrupamento so automaticamente selecionados. Deixe
como est e avance.
Na quinta etapa, <Escolher Layout>, configuramos a disposio dos dados na
folha:

Na lista <Layout dos dados>, selecione <Alinhar esquerda Moderno>;

Na lista <Layout dos cabealhos e rodaps>, selecione <Padro>;

Nas opes de orientao do papel, selecione <Retrato>.

Clique em [Avanar].

Na etapa final <Criar relatrio> devemos:

Definir o ttulo do relatrio, digite: Relatrio de Msicas;

Definir o tipo do relatrio, se Esttico ou Dinmico. O primeiro, deve ser


usado para preservar a situao dos dados num momento. O segundo,
apresenta sempre a situao corrente dos dados. Selecione <Relatrio
dinmico>;

Definir a ao aps criar o relatrio. A opo <Modificar layout> abre o


relatrio no Writer para alteraes. A opo <Criar relatrio agora> carrega
os dados para o relatrio. Deixe como est.

Clique sobre [Concluir].

Note que, para cada grupo, temos uma pgina. Feche o relatrio.

No Base, note o novo objeto do tipo relatrio.

Editando Relatrios
Para editar um relatrio, clique com o boto direito do mouse sobre o seu nome e
escolha a opo <Editar> no menu do contexto.

38

possvel efetuar modificaes simples no relatrio. No aconselhvel fazer


alteraes relacionadas aos dados do relatrio.
Ao editar um relatrio, observe que temos Campos no cabealho e no rodap.
Estas reas podem ser editadas normalmente.
Note, tambm, que os dados so colocados em tabelas, de acordo com o tipo de
relatrio. Os ttulos das colunas das tabelas so definidos por Campos do Usurio.
Os nomes dos estilos de pargrafos usados nas tabelas comeam com o prefixo
Tbl.
Finalmente, a origem dos dados definida por um formulrio contendo controles
ocultos. Para inspecionar as propriedades do formulrio e seus controles, ative a
barra de ferramentas <Design de formulrio> e clique sobre o cone do Navegador
de Formulrios.

Novos modelos de relatrios podem ser criados e acrescentados ao diretrio de


modelos de relatrios <OOoInstall>/share/template/pt-BR/wizard/report.

39

Registrar / Excluir Fontes de Dados


Para registrar ou excluir uma fonte de dados no BrOffice.org, ative o dilogo Opes,
selecionando Ferramentas | Opes, no menu principal do Base.

A seguir, expanda a entrada Banco de Dados do BrOffice.org e clique sobre Bancos de


Dados. As aes possveis so:

Boto [Novo]: para criar uma nova fonte de dados; o dilogo abaixo ser exibido.

Selecione o arquivo do Base, digite um nome para a fonte de dados e clique sobre o
boto OK. A partir da verso 2.0, devemos criar um arquivo do Base para registrar
uma fonte, inclusive para bancos de dados externos.

Boto [Excluir]: para excluir uma fonte de dados j registrada.

Boto [Editar]: para alterar uma fonte de dados registrada, atravs do dilogo Editar
link de banco de dados.

40

Conexo com outros Bancos de


Dados
O Base pode ser utilizado como uma interface de acesso a bancos de dados de outros
fabricantes.
No primeiro passo do assistente para a criao de um novo documento do Base, marque
a opo <Conectar a um banco de dados existente> e selecione a fonte desejada, como
na figura abaixo.

O assistente ajusta os seus passos de acordo com o mecanismo selecionado. Por


exemplo, para alguns bancos de dados devemos fornecer informaes da fonte de
dados, de logon, arquivo ou diretrio do banco de dados, dentre outras.
importante lembrar que algumas fontes devem ser configuradas com antecedncia.
Ao usar o Base como interface para outros bancos de dados, algumas funcionalidades
podem no estar disponveis. Por exemplo, numa conexo Microsoft Access, os seus
formulrios, relatrios e macros no so acessados. Devemos cri-los no prprio Base.
Aps a criao do documento, podemos alterar algumas propriedades do banco de
dados, atravs da opo Editar | Banco de Dados, no menu principal do Base.

Conforme a fonte, algumas funes de administrao podem estar disponveis.


Verifique a opo Ferramentas no menu principal do Base ou consulte o captulo
Administrao do Banco de Dados.

41

Importando dados para o Base


possvel importar dados de outras fontes para o Base. Por exemplo, podemos ter
dados numa planilha do Calc, num arquivo dBase ou Microsoft Access que desejamos
migrar para o Base.
O BrOffice.org possui um assistente de Cpia de Tabela para orientar o usurio durante
o processo de converso. Seguem os passos necessrios para iniciar a converso de
dados:

criar e registrar um documento do Base para acessar os dados da origem. Para


planilhas do Calc, isto no necessrio, podemos selecionar a extenso na planilha e
arrastar para o destino;

criar e registrar um documento do Base para receber os dados da origem;

ativar o componente Fonte de Dados, selecionando Exibir | Fonte de Dados;

expandir a entrada da fonte de dados de origem e exibir a(s) tabela(s);

expandir a entrada da fonte de dados de destino;

arraste a tabela de origem e solte sobre a entrada Tabelas, da fonte de destino.

NOTA: para documentos de origem e destino no registrados como fontes de dados,


arraste a tabela da origem e solte sobre o cone <Tabelas> no documento de destino.
O assistente de cpia de tabelas ser disparado:

Digite o nome da tabela e marque uma das opes:

Definio e dados: cria a estrutura da tabela do Base e copia os dados para a mesma.

Definio: cria a estrutura da tabela do Base.

Como exibio de tabela: cria uma exibio no Base. til para cpia de consultas de
uma fonte de dados para o Base.
42

Anexar dados: acrescenta apenas os dados a uma tabela existente no Base.

Criar chave primria: cria um campo de chave primria para a nova tabela do Base.
Deve ser utilizada, por exemplo, quando a fonte de origem no possuir chave
primria.

Clique sobre [Avanar], para a etapa Aplicar Colunas:

Aqui, devemos escolher as colunas cujos dados devem ser importados para a tabela.
Mova todas as colunas para a caixa da direita e clique sobre [Avanar].

Neste dilogo, devemos definir os atributos dos campos na tabela do Base. O tipo de
campo deve estar de acordo com o tipo do dado da coluna de origem. O BrOffice.org
pode tentar reconhecer automaticamente o tipo da origem. A caixa de texto Linhas
(mx.) define a quantidade de linhas analisadas para a deteco do tipo.
Aps ajustar os atributos das colunas, clique sobre [Criar] para concluir a operao.
Verifique, no destino se tudo correu, conforme o esperado.
43

Mais informaes
Nas pginas WEB abaixo, voc encontra mais informaes sobre o Base e o
BrOffice.org.

No Brasil

Projeto BrOffice.org

http://www.openoffice.org.br ou http://www.broffice.org.br

Projeto Rau-Tu : frum de perguntas e respostas, tendo uma seo para o


OpenOffice.org

http://www.rau-tu.unicamp.br/openoffice/

No exterior

Projeto OpenOffice.org

http://www.openoffice.org

Projeto de Banco de Dados do OpenOffice.org

http://dba.openoffice.org

Projeto do HSQL ( Hypersonic SQL )

http://hsqldb.org/

OOoForum : frum de perguntas e respostas sobre o OpenOffice.org

http://www.oooforum.org

Um Livro

Linux Bancos de Dados (Como projetar e gerenciar), de Fred Butzen e Dorothy


Forbes, publicado pela Editora Cincia Moderna, em 1997.

44

Fonte

Essa apostila foi em sua integra baseado no documento Introduo_ao


BrOffice.org_Base_2.0.x

Licena
Este documento est licenciado sob uma Licena Creative Commons AtribuioUsoNoComercial-Compartilhamento pela mesma licena. Para ver uma cpia desta
licena, visite http://creativecommons.org/licenses/by-nc-sa/2.0/br/ ou envie uma carta
para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Todas as marcas registradas citadas no documento pertencem aos seus legtimos
proprietrios.

Autor
Noelson Alves Duarte

Crditos
Ao The Hypersonic SQL Group pela documentao do HSQLDB, sem a qual boa
parte deste trabalho no seria possvel.

Agradecimentos
Ao The Hypersonic SQL Group pelo desenvolvimento do HSQLDB e pela permisso
do seu uso pelo Base.
A Sun Microsystems, Inc pelo apoio para a criao e desenvolvimento do
OpenOffice.org.
Aos desenvolvedores do OpenOffice.org pelo contnuo melhoramento do aplicativo.
Ao projeto BrOffice.org pelo esforo para melhorar e difundir o OpenOffice.org no
Brasil.
A Gustavo Buzzatti Pacheco pela leitura do documento e sugestes de melhoria.
A Manoel Pinho pela gentileza em disponibilizar este documento no servidor:
ftp://mirror.de9.ime.eb.br/pub/openoffice/apostilas/noelsonalves

Sobre este documento


Introduo ao BrOffice.org Base
Verso 1.1 liberada em 25 de abril de 2006
Verso 1.0 liberada em 18 de maro de 2006
Publicado em 18 de maro de 2006, na pgina WEB:
http://geocities.yahoo.com.br/noelsonalves/
Desenvolvido com o BrOffice.org 2.0 Writer
Nota: originalmente, este documento utilizou a nomenclatura Openoffice.org.
Entretanto, por motivos j conhecidos, o projeto brasileiro foi renomeado para
BrOffice.org. Assim, editei as ocorrncias de OpenOffice.org para BrOffice.org.
45

Reviso
Rafael Peres Rubira

Contato
broffice@fc.unesp.br
www.fc.unesp.br/sti/broffice

46

Você também pode gostar