--- Em sáb, 12/7/08, Juari Muller <[EMAIL PROTECTED]> escreveu:

> De: Juari Muller <[EMAIL PROTECTED]>
> Assunto: Re: [usuarios OOo] BASE - RELACIONAMENTO DE TABELAS
> Para: [email protected]
> Data: Sábado, 12 de Julho de 2008, 13:14
> Concordo com o Osvaldo, e adiciono um conselho: use o MySQL.

Ou, melhor ainda, use o PostgreSQL.
http://www.postgresql.org/
ou
http://www.postgresql.org.br
e
http://dba.openoffice.org/servlets/NewsItemView?newsItemID=330


> o HSQLDB
> do OpenOffice é muito limitado
> e tem suporte muito limitado a INNER JOINS, além de não
> suportar SUBQUERIES.
> Bom, quanto a VIEWS, este foi um recurso que recentemente
> descobri no
> MySQL que melhorou exponencialmente o tempo das minhas
> consultas
> n:n, pois antes levava um, dois minutos (ou simplesmente
> travava e
> tinha que reiniciar o micro) com SUBQUERIES, utilizando
> VIEWS nos
> INNER JOIN a consulta retorna o resultado em menos de 0.01
> segundo,
> com mais de duzentos campos e uns vinte, trinta campos
> relacionados
> n:n (tenho umas três tabelas que possuem relação n:n com
> a tabela
> principal e outras tantas com relação 1:n).
> Então, a não ser que o HSQLDB suporte VIEWS, recomendo
> usar o MySQL
> com driver ODBC.
> Pode ser que o HSQL suporte VIEW, não sei (pois as
> descobri depois de
> ter mudado para o MySQL), mas se suportar, deve ser lenta
> de qualquer
> forma.
> 
> bom, pra não ficar só no papo teórico deixo uns comandos
> 1. cria as tabela
> CREATE TABLE EMPRESA( empresa_id int auto_increment,
> EMPRESA_NOME CHAR(255),
> INDEX(empresa_NOME),PRIMARY KEY(empresa_id));
> 
> CREATE TABLE FATURA(FATURA_ID int auto_increment,VALOR
> DECIMAL(15,2),DATA date , empresa_id int,
> PRIMARY KEY(FATURA_ID));
> 
> CREATE TABLE EMP_FAT(fatura_id int, empresa_id INT,
> FOREIGN KEY (FATURA_ID) references  FATURA(FATURA_ID),
> FOREIGN KEY (EMPRESA_ID) references EMPRESA(EMPRESA_ID));
> 
> daí cria dois formulários, um pra inserir empresas, outro
> pra inserir
> faturas, e um terceiro (que deve ser aprimorado) que coloca
> os id de
> empresas e faturas na tabela EMP_FAT
> 
> e usa esta consulta pra exibir o relatório:
> SELECT EMPRESA_NOME, FATURA_ID, VALOR,
> DATA FROM EMP_FAT
> INNER JOIN (
> EMPRESA
> )
> USING ( EMPRESA_ID )
> INNER JOIN (
> FATURA
> )
> USING ( FATURA_ID )
> dá pra criar uma view desta select apenas colocando
> "create view
> faturas as" antes do "SELECT"
> aí que tá, será que o HSQL suporta este create view?
> este comando é do MySQL.
> 
> e de lambuja uns dados fictícios pra quem quiser brincar
> --
> -- Extraindo dados da tabela `EMPRESA`
> --
> 
> INSERT INTO `EMPRESA` (`empresa_id`, `EMPRESA_NOME`) VALUES
> (1, 'SUPER EMPRESA FATUREIRA SA'),
> (2, 'SIMPLATEC PLASTICOS');
> 
> --
> -- Extraindo dados da tabela `EMP_FAT`
> --
> 
> INSERT INTO `EMP_FAT` (`fatura_id`, `empresa_id`) VALUES
> (1, 1),
> (1, 2),
> (2, 1),
> (3, 2);
> 
> --
> -- Extraindo dados da tabela `FATURA`
> --
> 
> INSERT INTO `FATURA` (`fatura_id`, `VALOR`, `DATA`) VALUES
> (1, 100.00, '2008-07-10'),
> (2, 243.00, '2008-07-17'),
> (3, 123.00, '2008-07-25');
> 
> Coloquei a estrutura+dados completas (nomes de tabelas,
> dados, em
> minúsculas pra facilitar) em
> http://jm.freeshell.org/dl/exemplo_mysql_1.txt
> 

Osvaldo



      Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua 
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a