Escolar Documentos
Profissional Documentos
Cultura Documentos
Base
Base
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
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:
<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.
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
TTULO
Texto [VARCHAR] 60
Ttulo do CD (obrigatrio)
ARTISTA
Texto [VARCHAR] 60
PREO
Decimal
Preo do CD
15.2
AQUISIO Data
Data de aquisio do CD
CAPA
Imagem
Tipo
Tamanho
Descrio
ID
Inteiro
IDCD
Inteiro
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
BigInt [BIGINT]
Imagem [LONGVARBINARY]
Binrio [VARBINARY]
Memo [LONGVARCHAR]
Nmero [NUMERIC]
Decimal [DECIMAL]
Integer [INTEGER]
Float [FLOAT]
Real [REAL]
Double [DOUBLE]
Texto [VARCHAR]
Data [DATE]
Hora [TIME]
Data/Hora [TIMESTAMP]
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
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.
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].
10
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:
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:
12
13
Editando dados
Isto pode ser feito de duas maneiras: (1) usando a janela de entrada de dados e (2)
usando formulrios.
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
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.
15
Nesta etapa:
16
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>.
17
18
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.
20
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 ?
Note que as etapas de agrupamento foram saltadas, passando direto para a etapa
<Aliases>, onde podemos:
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>.
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
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
25
26
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
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'
Definio
||
27
Exemplos:
SELECT TTULO, PREO, PREO * 2 FROM CDS
Definio
<>
!=
>=
<=
>
<
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'
Definio
[ NO ] COMO ( ex: Col1 LIKE 'Ada' ou Col2 NOT LIKE 'Ada' )
BETWEEN
[NOT] IN
IS [NOT] NULL
28
LIKE '_Y%'
LIKE 'Y%K%'
Exemplos:
SELECT * FROM MSICAS WHERE NOME LIKE '%3%'
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 ]
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
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 (*)
COUNT
MIN
MAX
SUM
AVG
VAR_POP
VAR_SAMP
Funo
Descrio
STDDEV_POP
STDDEV_SAMP
Exemplos:
Select Count(*) From CDS
Funes numricas
As principais funes matemticas esto disponveis nesta categoria.
Funo
Descrio
ABS (d)
ACOS (d)
ASIN (d)
ATAN (d)
ATAN2 (a, b)
retorna a tangente de a / b
BITAND (a, b)
BITOR (a, b)
CEILING (d)
COS (d)
COT (d)
DEGREES (d)
EXP (d)
FLOOR (d)
LOG (d)
LOG10 (d)
MOD (a, b)
PI ( )
retorna pi (3.1415...)
POWER (a, b)
RADIANS (d)
RAND ( )
ROUND (a, b)
Funo
Descrio
SIGN (d)
SIN (d)
SQRT (d)
TAN (A)
TRUNCATE (a, b)
Exemplo:
Funes de caracteres
Nesta categoria, temos diversas funes para manipulao de cadeias de
caracteres.
Funo
Descrio
ASCII (s)
BIT_LENGTH (str)
CHAR (c)
CHAR_LENGTH(str)
HEXTORAW (s1)
LCASE (s)
LENGTH (s)
LTRIM (s)
OCTET_LENGTH (str)
RAWTOHEX (s1)
RTRIM (s)
SOUNDEX (s)
SPACE (count)
semelhante a substring
Funo
Descrio
UCASE (s)
LOWER (s)
UPPER (s)
Exemplo:
Funes temporais
Lidam com dados do tipo Data, Hora ou DataHora.
Funo
Descrio
CURDATE ( )
CURTIME ( )
DAYNAME (data)
DAYOFMONTH (data)
DAYOFWEEK (data)
DAYOFYEAR (data)
HOUR (hora)
MINUTE (hora)
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)
WEEK (data)
YEAR (data)
retorna o ano
NOW ( )
TODAY ( )
CURRENT_DATE
CURRENT_TIME
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:
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.
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:
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:
Clique em [Avanar].
Note que, para cada grupo, temos uma pgina. Feche o 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
39
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 [Editar]: para alterar uma fonte de dados registrada, atravs do dilogo Editar
link de banco de dados.
40
41
Definio e dados: cria a estrutura da tabela do Base e copia os dados para a mesma.
Como exibio de tabela: cria uma exibio no Base. til para cpia de consultas de
uma fonte de dados para o Base.
42
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.
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
http://www.rau-tu.unicamp.br/openoffice/
No exterior
Projeto OpenOffice.org
http://www.openoffice.org
http://dba.openoffice.org
http://hsqldb.org/
http://www.oooforum.org
Um Livro
44
Fonte
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
Reviso
Rafael Peres Rubira
Contato
broffice@fc.unesp.br
www.fc.unesp.br/sti/broffice
46