Clipper On Line • Ver Tópico - Um Banco de Dados fácil de usar e de migrar
Página 1 de 2

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 30 Set 2011 22:44
por lugab
Ola amigos forenses,

Muitos de nós ainda usamos os velhos DBFs mesmo depois de recompilarmos do clipper para (x)harbour, apenas por não fazermos a mínima idéia de como usar outros bancos de dados + seguros e + modernos.

Vcs , felizardos q já conseguiram migrar suas bases de dados, não sabem quanto desconforto, apreensão, receio e constrangimento passamos, por não podermos também fazer isso.

E antes que pareçamos preguiçosos, atraz de moleza, lembramos que todo o nosso poblema reside no fato de não existir nenhuma bibiolgrafia paga ou grátiis, traduzida para o português , intitulada: Migrando de DBFS para Mysql, Oracle, ou Progress ou sei la qual dos tantos SGBDs aqui falados..

Sequer sabemos qual a filosofia de trabalho desses sgbds, de como armazenamos dados(replace), como os classifcamos (index) e recuperamos pra exibir e manipular, e, naturalmente, tb nada sabemos do que devemos alterar nas linas de comando dos nossos fontes.

Por outro lado, sabemos que vcs que já conseguiram, certamente foram ajudados por outras pessoas, ou de graça ou pagando pela ajuda, na forma de cursos, compras de manuais, orinetações, etc

Finalmento, a questão q trago é a seguinte:


Será que alguns de vcs seriam capazes de eleger dentre os tantos SGBDs aqui falados, o + fácil de usar, gerenciar, manipular e de migrar e tb mostrar-nos como usá-lo ?.

Será também possível que venham a abrir um tópico visando nos mostrar, pelo menos o bê-a-bá da filosofia de funcionamento desse SGBD, dos comandos para criar o BD, seus campos, como manipular externamente, tal qual o velho DBU, como armazenar os dados em seus campos e recuperá-los para variáveis de memória, ficar suas chaves de classificação e exibí-los na tela ?



Num esperançoso aguardo,

Luis Gabriel

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 03 Out 2011 13:01
por sygecom
Olá Gabriel,

Não existe uma pirula pronta que você engole e tudo resolve-se, o jeito é você colocar a mão na massa e testar tudo que tiver ao seu alcance, no meu caso testei Mysql, Mssql, Oracle, Firebird e Postgresql e optei pelo Postgresql em conjunto com SQLRDD e não estou arrependido, mas veja bem foi para a minha situação, cada um sabe o que é melhor para sim, então veja o que melhor lhe atende, e mete a cara sem medo, e independente da sua escolha conte com a ajuda do fórum. Boa sorte...

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 03 Out 2011 14:09
por fladimir
Migrei agora cerca de 15 dias de dbf pra Postgres SQL e não estou arrependido até o presente, inúmeros benfícios, estabilidade, não preciso mais TS, acabou ficar indexando, e etc, etc...

No meu caso tb testei MySQL e o Firebird, mas optei em ir de Postgres devido pesquisas feitas, segue abaixo link falando algo básico sobre o PostGres para vossa análise...

http://www.slideshare.net/adorepump/postgresql-o-melhor-banco-de-dados-universo

Tentei ir de SQLLIB, mas não consegui, esbarrei em alguns questões minhas mesmo de assimilar, nada contra a Ferramenta ou quem usa.

Consegui algo com a Contrib do Harbour, mas ai tinha q reescrever td em comandos SQL...

Então depois de muito peneirar, achei mais rápido, prático e de melhor assimilação ir de SQLRDD (não é free), mas valeu o investimento.

Logicamente q para tirar maior proveito dos recursos do SGBD escolhido, independente de qual for, se faz necessário posteriormente ou antes até, dependendo cada necessidade, entender como funcionam os SGBDs, Triggers, etc etc,

Eu estou nessa segunda fase, como já migrei meu sistema rapidamente e já resolvi um monte de pormenores (um deles q pega é a indexação, usar na net, etc) agora estou tendo tempo para ir estudando melhor o SGBD q escolhi (Postgres), não desmerecendo os outros, como o nosso colega Leo comentou cada um deve avaliar e chegar as suas próprias conclusões.

Qto a material para estudo sobre o q eu escolhi foi via Google mesmo, pesquisando tipo "Dicas PostGres", "Tutorial PostGres", etc etc.

Tenho um acervo razoável q fui fazendo download e passei este domingo filtrando, separando os materiais dando uma passada e lendo os índices e classificando conforme aparentava ser de melhor aprendizado e didática.

Sucesso!!!

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 04 Out 2011 01:41
por alaminojunior
lugab escreveu:Será que alguns de vcs seriam capazes de eleger dentre os tantos SGBDs aqui falados, o + fácil de usar, gerenciar, manipular e de migrar e tb mostrar-nos como usá-lo ?.
Será também possível que venham a abrir um tópico visando nos mostrar, pelo menos o bê-a-bá da filosofia de funcionamento desse SGBD, dos comandos para criar o BD, seus campos, como manipular externamente, tal qual o velho DBU, como armazenar os dados em seus campos e recuperá-los para variáveis de memória, ficar suas chaves de classificação e exibí-los na tela ?


Pessoalmente, me sinto bem a vontade com o MySQL. Andei fazendo alguns testes com PostgreSQL e achei interessante também, e segundo os colegas mais experientes é a melhor opção. Ainda não coloquei o PostgreSQL em nenhum cliente pela falta de tempo em testar (dominar o básico) algumas coisas como backup e etc ... Coisa que com o MySQL como tive mais tempo na época, foi possível explorar um pouco mais.

Se optar por utilizar uma RDD como SQLRDD, SQLLIB ou Mediator, irá apenas incluir no prg principal as funções de conexão com o banco e depois é só utilizar a sintaxe DBFCDX mesmo. É o modo mais fácil e rápido. Até esse ponto, talvez a única vantagem será a integridade e segurança dos dados, e também não será mais necessário ficar reindexando de tempos em tempos. Indexa a primeira vez e depois somente quando incluir alguma chave nova em algum índice.

Após se sentir com os pés novamente no chão, é hora de passar a usar instruções SQL, que são mais rápidas e mais versáteis.

Sou meio limitado para falar da filosofia destes bancos, mas comparando é o seguinte:
Quando vc abre uma tabela DBF (hospedado num servidor da rede local) a partir de um outro pc na rede, toda a estrutura precisa passear pela rede até o pc requisitante, causando um tráfego na rede proporcional ao tamanho desta tabela. Há quem diga que o DBF não é tão lento, e realmente não é, mas ...
Agora com um banco de dados SQL por exemplo, o tráfego na rede será apenas e tão somente dos registros que o pc requisitante 'requisitou' ! Salientando que isso será possível quando fizermos uso das instruções SQL, dependendo da implementação, não alcançaremos todo o potencial oferecido.

Resumindo mais um pouco ... em DBF quando queremos abrir uma tabela (arquivo DBF) com digamos 50 campos, tudo isso precisa entrar por um lado do cano e sair do outro. Mas será que precisamos realmente dos 50 campos para determinada tarefa ??? Talvez precisemos apenas de 3 campos ... ! É nessa hora que o SQL entra em campo, permitindo que vc faça um select (por exemplo) e traga apenas os campos necessários para a tarefa. Isso é só o começo da história.

Recomendo dar uma olhada na página da SQLRDD http://www.xharbour.com.br/sqlrdd.html. Lá tem informações de como iniciar.
Dê o pontapé inicial e conforme forem surgindo as dúvidas, poste aqui que com certeza não irá faltar apoio.

Boa sorte.

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 04 Out 2011 15:42
por lugab
Muito bom, pessoal, ta esclarecedor..

Conclui que a forma menos difícl é :

1- escolher algum DBFSQL dentre Postgres, MySQL, Firebird, MS SQL Server, IBM DB2, Sybase, Informix, Caché, etc.

Então, a título de aprendizado, qual deles tem versão free e manual em português ?

2- aprender a usar geral esse banco de dados;

3- adquirir a SQLRDD e migrar os DBFs para a nova base;

Ou seja, uma coisa demorada e nada fácil de fazer, se não tiver apoio técnico e bibliogáfico....

Gabriel

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 04 Out 2011 17:24
por alaminojunior
lugab escreveu:Então, a título de aprendizado, qual deles tem versão free e manual em português ?

2- aprender a usar geral esse banco de dados;

3- adquirir a SQLRDD e migrar os DBFs para a nova base;

Ou seja, uma coisa demorada e nada fácil de fazer, se não tiver apoio técnico e bibliogáfico....


O MySQL pode ser usado sem limitações, porém lá nas letrinhas miúdas vc não podería comercializar junto com o seu software.
O PostgreSQL é totalmente free.

Precisa dar início, e com isso vai ver que não é tão demorado assim e muito menos, difícil. É relativamente fácil a migração.
Mas é aquela história: Uma grande viagem começa sempre com o primeiro passo.

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 04 Out 2011 22:24
por athayde
deem preferencia para comunicação nativa
podem usar os rdds da vida mas va aos poucos migrando para comandos sql diretos, assim vc ja se prepara para outras liguagens
uso mysql nativo com hbmysql, uma dupla fantastica, e aprendendo a programar o banco de dados com os relacionamentos, indices, triggers e sp's vc vai ver o ganho que vc vai ter
recomento mysql, postgre, oracle (tem versao free), mssql server, firebird só se for local ou em rede cabeada, para wireless ou vpn/internet fica muito ruim pelo protocolo não ser tão legal, prometem melhorar para versao 3

[]s
Fernando

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 05 Out 2011 20:55
por lugab
Então, pessoal, eu, realmente, estou muito grato por tanta ajuda...

E pra fechar com chave de ouro, será q Vcs podem postar os links pra baixar o postgresql e o oracle, que vcs estão usando, versao free, claro.

O objetivo é só estudar os mesmos

To grato mesmo

Gabriel

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 05 Out 2011 23:53
por fladimir
Vou postar do PostgreSQL segue:

http://www.enterprisedb.com/products-services-training/pgdownload#windows

Eu uso o 9.0.x

O Oracle não conheço, ficamos no aguardo de algum colega postar o link do mesmo.

Sds.

Sucesso!!!

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 06 Out 2011 01:12
por lugab
Obrigado, Fladimir.

Aproveito e posto, a seguir, link para introdução ao PostgreSQL, caso algum outro colega deseje aprender: http://pgdocptbr.sourceforge.net/pg80/tutorial.html

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 06 Out 2011 15:01
por alxsts
Olá!

Um ótimo banco de dados para estudar e aprender é o MS Access. E quase toda máquina onde tem o MS Office tem Access instalado.

Outras ótimas opções grátis:
MS SQL Server 2008 R2 Express (Versões para Windows 32 e 64 bits).
Oracle Database 11 Express Edition (versões para Windows e Linux, precisa se cadastrar na Oracle)

Você encontrará material para estudo, em português, no site Apostilando.

Reserve um bom tempo para estudar, dedique-se e saia de vez dos DBF's. Boa sorte!

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 07 Out 2011 09:15
por pauloa1
Aproveitando a lista, a tirar uma dúvia.

Em rede. sqlrdd com BD x dbf.

Com dbf se somente abrir a tabela exemplo:
Tabela clientes 100.000 registros

Use clientes
set index tal
seek tal
if found()...

neste caso pela rede com dbf ele levou os 100.000 registros

com sqlrdd
Use clientes via sqlrdd
index tal
seek tal
if found()...

Ele também trouxe os 100.000 registros?
Como com sqlrdd procede ao apenas abrir a tabela, sem ainda usar algum comando, seek, set filter etc...?
Com sqlrdd ele só manda pela rede depois que usar algum comando tipo seek, set filter etc..?

Ou somente vai levar a seleção pela rede usando comandos sql, query etc.. ?

Paulo

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 07 Out 2011 11:02
por asimoes
Carga no Oracle usando conexão ADO

FUNCTION Carga_ORACLE()
Local Contador := 0
oCon := CreateObject( "AdoDB.Connection" ) // Usando ADO
oCon:ConnectionString := "Provider=OraOLEDB.Oracle;Data Source=ds01;User ID=aluno;Password=aluno;PLSQLRSet=1;"
TRY
   oCon:Open()
   TRY
      TheQuery:="DROP TABLE CARGATESTE"
      Rs:=oCon:Execute( TheQuery )
      Rs:=Nil
   CATCH oErr
   END
   TRY
      TheQuery:="CREATE TABLE CARGATESTE ( CHAVE1 varchar(5), CHAVE2 varchar(5), CHAVE3 varchar(5), CHAVE4 varchar(5) )"
      Rs:=oCon:Execute( TheQuery ) // Cria a tabela se nÆo existe
      Rs:=Nil
   CATCH oErr
      TONE(800,4)
      Alert("NÆo foi possivel criar a tabela, pode ser que j  exista.",{"Ok"})
      CLS
   END
   TheQuery := "DELETE FROM CARGATESTE"
   Rs := oCon:Execute( TheQuery )
   Rs := NIL
   cSql:=""
   nSeconds:=Seconds() //Para mensurar o tempo
   FOR I:=1 TO 99999
      cSql:="INSERT INTO CARGATESTE (CHAVE1,CHAVE2,CHAVE3,CHAVE4) VALUES ("+StrZero(I,5)+","+StrZero(I,5)+","+StrZero(I,5)+","+StrZero(I,5)+")"
      Rs:=oCon:Execute(cSql)
      @10,05 SAY "TEMPO "+TsTring(Seconds()-nSeconds)+" "+StrZero(I,5)
   NEXT
   Alert("Concluido.",{"Ok"})
   oCon:Close()
CATCH oErr
   TONE(800,4)
   TONE(800,4)
   Alert(oErr:Operation + " ERROR",{"Ok"})
END
oCon := NIL
RETURN NIL

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 07 Out 2011 11:05
por sygecom
Olá Paulo,
O SQLRDD não traz não, ele abre apenas com LIMIT 12(no meu aqui faz isso) para trazer apenas pouco de registro, quando da o DBSEEK ele executa um comando SQL usando LIMIT 1, então é no minimo 10x mais rápido que o DBF.

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 07 Out 2011 11:25
por asimoes
Carga no DBF a partir do ORACLE usando conexão ADO
FUNCTION Carga_DBF()
LOCAL oCon, rs, oErr
TRY
    oCon := CreateObject( "AdoDB.Connection" ) // Usando ADO
    oCon:ConnectionString := "Provider=OraOLEDB.Oracle;Data Source=ds01;User ID=aluno;Password=aluno;PLSQLRSet=1;"
    oCon:Open()
    rs := CreateObject( "ADODB.Recordset" )
    rs:Open( "CARGATESTE", oCon, 0, 1, 2 )
    SELECT A
    USE CARGADBF New Alias CargaDBF
    GO TOP
    TheDBF := dbstruct()     
     DO WHILE ! rs:Eof()
        DbAppend()
        FOR X:=0 TO Len(TheDBF) - 1
          TheField := TheDBF[X+1,1]
          DO CASE
          CASE TheDBF[X+1,2] = "N"
             REPLACE &TheField WITH rs:Fields( X ):Value
          CASE TheDBF[X+1,2] = "D"     
             IF ! (rs:Fields( X ):Value = Nil)
                REPLACE &TheField WITH CTOD(Alltrim(str(Day(rs:Fields( X ):Value))) + "." + Alltrim(str(Month(rs:Fields( X ):Value))) + "." + Alltrim(str(Year(rs:Fields( X ):Value))))
             ENDIF
          CASE TheDBF[X+1,2] = "L"
             IF rs:Fields( X ):Value = "0"
                REPLACE &TheField WITH .F.
             ELSE   
                REPLACE &TheField WITH .T.
             ENDIF
          OTHERWISE             
             IF ! (rs:Fields( X ):Value = Nil)
                REPLACE &TheField WITH rs:Fields( X ):Value
             ENDIF
          ENDCASE
       NEXT
       rs:MoveNext()
    ENDDO
    DBCOMMIT()
    DBCLOSEALL()
    rs:Close()
    rs:=Nil
    oCon:Close()
    oCon:=Nil
    TONE(800,4)
    Alert("A tabela foi carregada com sucesso.",{"Ok"})
CATCH oErr
    TONE(800,4)
    TONE(800,4)
    Alert(oErr:Operation + " ERROR",{"Ok"})
END
RETURN NIL

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 31 Jan 2012 15:41
por lugab
Alxsts escreveu:Um ótimo banco de dados para estudar e aprender é o MS Access. E quase toda máquina onde tem o MS Office tem Access instalado.


Será q o Alxsts ou mais algum outro membro poderia esclarecer se realmente o Access é é uma opção profissional para migrar do DBF/CDX ?

1) Da pra fazer tudo o que se faz num DBF com o Access ?

2)A versatilidade e integridade de banco de dados e índices no access são superiores ao DBF/CDX ?

3) Existe rdd para acessar os bancos de dados do Access , via clipper/harbour ?

Me interessei, pq aqui do lado do prédio tem um curso de Access básico/avançado, bem baratinho

Obrigado

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 31 Jan 2012 16:47
por Pablo César
Na minha opinião e dos colegas que cursaram faculdade comigo, não consideramos um banco de dados decente, alias nem consideramos como banco de dados aquilo. Aquilo pra mim não passa de uma tralha ! Trocar DBF por isso eu acho que não aportaria em nada. Eu continuo utilizando DBFs, ora porque os meus clientes não precisam de um BD que requira maior performance ao ponto de mudar. Acho que o uso dos DBFs sintetiza muita a minha vida, é fácil e rápido a manutenção e o acesso. Se eu tiver que mudar seria para SQL. Mas JAMAIS Access...

Um Banco de Dados fácil de usar e de migrar

MensagemEnviado: 31 Jan 2012 17:13
por alxsts
Olá!

Como eu disse, é bom para aprendizado. Mas pode-se dizer que foi pois naquela época não haviam versões free do Oracle ou SQL Server.

Algumas pessoas realmente não consideram o Access um banco de dados relacional de verdade. Até ironizam, chamando-o de "tamborete de dados".

Para quem desconhece, o "coitado" tem dentro de si algo do xBase. A Microsoft comprou a Fox Software para incorporar a tecnologia de indexação do Fox, conhecida como Rushmore, no Access. E, de quebra, lançou seu produto xBase, o Visual Fox Pro, a quem nunca deu atenção, e que foi descontinuado recentemente, apesar da quantidade de usuários e da base instalada.

Continuo com as mesmas indicações que fiz anteriormente. SQL Server Express 2008 R2 ou Oracle XE (creio que esteja na versão 11g). Não descarto Postgre e MySql (que pertence à Oracle) mas, em termos de mercado, os dois são muito utilizados. E pelas maiores empresas do mundo.

Escolha um, baixe, instale e estude. Com isso, você estará atualizado com o mercado, no que se refere a banco de dados e SQL. Não se esqueça do material de estudo que pode baixar so site Apostilando ou no site da Microsoft ou Oracle.