gildot

Topo
Sobre
FAQ
Tópicos
Autores
Preferências
Artigos
Sondagens
Propor artigo


8/3
gildicas
9/30
jobs
10/9
perguntas
10/25
press

 
Bases de dados "caseiras"
Contribuído por scorpio em 15-01-02 1:05
do departamento sgbd-ou-nem-por-isso
Bases de Dados BlueNote escreve "Ao ler um outro thread onde se aflorou a concorrência mySQL/PostgreSQL, resolvi lançar uma questão: há algum software que permita implementar de forma rápida uma pequena base de dados "caseira" - ex.: dos CDs ou livros do utilizador - aquilo a que no mundo MS se recorreria ao Access? Ou será que os servidores SQL referidos são suficientemente leves para permitir implementar uma coisa dessas? "

Spam em Portugal - Quais são os limites? | Criação da Associação Nacional para o Software Livre  >

 

gildot Login
Login:

Password:

Referências
  • Mais acerca Bases de Dados
  • Também por scorpio
  • Perguntas
  • Como se pode ter o seu próprio host ?
  • Linux preparado para 'enterprise'?
  • Produtividade: linha de comando vs IDE
  • Sistemas operativos: O que são?
  • linux distribuído nas revistas, sim ou não ?
  • Pergunte ao Gildot: qual o melhor codificador de mp3?
  • staroffice
  • Esta discussão foi arquivada. Não se pode acrescentar nenhum comentário.
    Pela minha pouca experienia com o Access... (Pontos:2)
    por mlopes em 15-01-02 2:08 GMT (#1)
    (Utilizador Info)
    ... fiquei com a ideia que aquilo é bastante mais pesado do que o mySQL.

    Eu tenho utilizado o mySQL para as minhas bases de dados "caseiras" e estou satisfeito com os resultados.

    Outra vantagem, é por exemplo se quiseres fazer uma base de dados de livros ou cd's, como referiste no artigo, se fores ao freshmeat, por exemplo, encontras concerteza várias aplicações para isso, que utilizam o mySQL para guardar informações.
    Re:Pela minha pouca experienia com o Access... (Pontos:1)
    por jpgm em 15-01-02 9:47 GMT (#2)
    (Utilizador Info)
    Já há alguns anos que não mexo muito nessas bases de dados, mas pelo que me lembro, e podendo estar enganado, o postgres é transaccional e o mysql não, estou certo? se for assim justifica em parte porque razão o postgres é mais pesado!
    de qq modo uma busca rápida no freshmeat da algumas hipoteses para as aplicacoes pedidas:
    -Home Library Information Manager
    -QuickList
    -phpComicDB
    Isto numa busca muito rapida e pouco estudada :-)
    Cumprimentos!
    zp
    Re:Pela minha pouca experienia com o Access... (Pontos:2)
    por mlopes em 16-01-02 0:56 GMT (#17)
    (Utilizador Info)
    Ainda não experimentei, mas penso que o mySQL já suporta o commit e o rollback, pelo menos já li qq coisa sobre isso.
    O problema não é a BD (Pontos:3, Interessante)
    por Eraser em 15-01-02 10:24 GMT (#3)
    (Utilizador Info)
    Viva!

    Acho que não estas a par das BD caseiras para Linux. :) O Postgres ou o Mysql são capazes não só de se portar decentemente com quantidades aceitáveis de informação (muito melhor que o Access) e são mais leves que o access.

    O problema é existir um frontend que facilite a vida ao utilizador comum que não sabe nada de bd/sql e que não se esta para chatear. Em Linux não conheço nenhum frontend da qualidade do fornecido pelo Access. Existem alguns mas normalmente são obtidos a parte e não são tão bons.

    Pondo as coisas de maneira simplista temos o seguinte:

    Postgres/MySql
    + SGBD e não simplesmente BD
    + muitos mais potente
    + suporte para acesso paralelo
    Em resumo muito melhor BD.

    Access
    + frontend
    + wizards/ queries assistidos
    + interaçção com outras aplicações tipicas do utilizador caseiro (Word/Excell)
    Em resumo mais userfriendly.

    Para finalizar, não sei do comportamento do MySQL com grandes quantidades (o Access esse nem existe nessas condições ;) ) mas sei que o Postgres se porta lindamente.
    A escolha é a seguinte mais potencia de BD e não ficar de mão atadas para o futuro (portabilidade e possibilidade de partilha da BD - vários utilizadores) ou então optar por algum muito mais fraco em termos de BD mas tirar partido de interface mais userfriendly e ficar com a vida complicada se mais tarde a bd crescer demasiado ou quiseres acesso para vários utilizadores em simultáneo.

    Fica bem!
    JP


    Re:O problema não é a BD (Pontos:2)
    por Gamito em 15-01-02 12:02 GMT (#5)
    (Utilizador Info) http://www.startux.org/
    Estou em desacordo contigo.
    Acho muito mais user friendly aprender uma dúzia de instruções básicas de SQL do que andar perdido no meio de wizards e porcarias afins do accesss.

    Aliás, MySQL/Postgres nem são comparáveis ao Access.

    Mais a mais, há muitos frontends para MySQL/Postgres, mais user friendly do que o Access.

    Por exemplo, o phpmyadmin é user friendly.
    A menos que não se saiba usar um browser.

    Mário Gamito
    "Make everything as simple as possible... but not simpler"
    Albert Einstein
    Re:O problema não é a BD (Pontos:2)
    por Eraser em 15-01-02 20:04 GMT (#15)
    (Utilizador Info)
    Viva!

    Vamos por partes:

    " Estou em desacordo contigo. Acho muito mais user friendly aprender uma dúzia de instruções básicas de SQL do que andar perdido no meio de wizards e porcarias afins do accesss."

    Estas em desacordo comigo mas eu concordo contigo. :) Eu também acho mais userfriendly aprender meia dúzia de comandos sql do que andar perdido pelos wizards mas... e o utilizador comum? Será que está com paciência para decorar meia dúzia de comandos que vai esquecer porque utiliza muito raramente em vez de dar meia dúzia de cliques pela confusão de menus e atalhos a que já está habituado no seu dia a dia com o windows. Pois é, a aprendizagem enduz uma inércia muito grande a mudança também conhecida como preguiça ou falta de pachorra. ;)
    Na maioria dos casos, o utilizador normal nem quer saber o que é SQL quanto mais aprender SQL. Só quer fazer aquilo que lhe apetece sem sair do seu mundo de receitas de cliques: "Ora bem, clico aqui... depois ali e já deve estar!":)

    "Aliás, MySQL/Postgres nem são comparáveis ao Access."

    Aqui discordo. Podem não ser iguais,até aí tudo bem :) ,mas considero que se duas ferramentas poder realizar uma mesma tarefa então elas são comparavéis nem que seja na realização dessa mesma tarefa.

    Quanto ao phpmyadmin, remeto para os meus primeiros comentários sobre a usabilidade.:)

    Fica bem!
    JP


    power satan (Pontos:2)
    por cgd em 15-01-02 11:13 GMT (#4)
    (Utilizador Info)
    este artigo na freshmeat.

    depende muito do tipo de base de dados que queres, e como vais mante-la, i.e. que aplicacao é que vais usar para manipular os dados que la estao.

    se queres mesmo uma coisa pequena, usa o SQLite. as versoes mais recentes, implementam sql em cima de berkeley DB, mas as primeiras, usavam um raw text file, para meter os dados. mais light que isto nao ha.

    quanto ao mysql, uma instalacao mysql-3.22.32, por exemplo, ocupa 3764MB em disco. o script de lancamento, por omissao, lanca tres motores, cada um ocupa cerca de 11MB de memoria, sendo residentes apenas 1.6MB quando nao esta em uso! isto é relativamente leve.


    -- carlos

    Re:power satan (Pontos:2)
    por Strange em 15-01-02 15:17 GMT (#9)
    (Utilizador Info) http://strange.nsk.yi.org/

    3764MB em disco não é relativamente level... É incrivelmente pesado. E é tão incrível que não acredito e assumo que te enganaste na medida... :)

    No meu server caseiro com as libs e algumas bds o MySQL ocupa na sua totalidade 13 664 Kbytes, enquanto que o PostgreSQL ocupa 21 366 Kbytes.

    Em relação a memória RAM ocupada, cada processo mysql ocupa menos RSS que o grep que executei para os seleccionar do ps (576 vs 604), e o postgres ocupa 1280 (postmaster) + 2816 (acesso a uma bd).

    Mas relativamente ao SQLLite, porque não usar directamente BerkleyDB?

    hugs
    Strange

    Re:power satan (Pontos:2)
    por cgd em 15-01-02 18:32 GMT (#14)
    (Utilizador Info)

    São 3.764MB.

    O SQLite implementa um SQL engine e usa a berkeley DB como storage. na pratica consegue-se uma db relacional muito leve. a berkeley db fornece genericamente um interface tipo dicionario (chave / valor), que é bastante diferente.

    na verdade o sqlite implementa um virtual database engine, que é um bytecode generico de operacoes de base de dados. existe depois um parser de SQL standard que emite esse bytecode. esta muito bom.


    -- carlos

    Bases de dados caseiras, ou nem por isso... (Pontos:2, Interessante)
    por MortH2O em 15-01-02 12:12 GMT (#6)
    (Utilizador Info) http://go.to/mortagua2000
    BiBa!

    Podes ter uma pequena base de dados para CD's, livros, vídeos sem teres necessáriamente um servidor de BDs.
    Eu, por exemplo, já implementei em php um mini-sistema de bd, que cria ficheiros para as tabelas (tal como qualquer servidor de BD's, só que mais simplicado), e que só é carregado para memória quando necessitas de aceder à base de dados.
    Até aqui, tudo igual ao Access, pois este também não é um servidor, mas sim uma aplicação que te guarda e extrai os dados em ficheiro, e que só está em memória (disponível, portanto) quando o estás a utilizar.

    Agora, se estás com uma visão de multi-utilizador, serviço sempre disponível, independente da plataforma de programação, aí, aconselho-te MySQL(Linux ou Windows), ou PosgresSQL(somente Linux, acho - já agora, quem me souber clarificar se existe para Windows, agradecia).

    Anyway, se te basta uma solução idêntica à que implementei, tenta ir a HotScripts.com(se usares PHP, tenta esta solução, ou procura aqui.)

    Senão, sempre podes instalar, por exemplo, o MySQL e usar o MyCC para Linux, que até está porreirinho. Para Windows, tens clientes MySQL que podes encontrar aqui.

    Espero que ajude. :)

    MortH2O

    P.S.: Os links para o HotScripts não funcionam, devido à filtragem efectuada pelo GilDot.
    Tens substituir o "1" por "i", em "www.hotscr1pts.com" do URL.

    Confusões e esclarecimentos (Pontos:5, Informativo)
    por MavicX em 15-01-02 13:16 GMT (#7)
    (Utilizador Info)
    Em primeiro lugar tenho de fazer uma diferenciação entre base de dados e SGBD (sistema de gestão de base de dados). A base de dados é algo teorico e é constituida pelas tabelas e os dados, é uma estrurura logica, simplesmente são dados agrupados. O sistema de gestão de base de dados (SGBD) é o progama que gere a base de dados.

    Dentro dos SGBD podes dividi-los em muitas classes. Mas a diferença que nos interessa é os SGBD visuais e os SGBD de SQL (servidores de SQL).

    Na categoria dos Visuais tems o Access da Microsoft que não tem nada a ver com mysql ou postgre, são dois produtos completamente diferentes para necessidades diferentes. Nesta categoria tem outros SGBD visuais não tanto conhecidos como access. Vamos a eles.

    O primeiro é o Staroffice Base da SUN que usa o motor de base de dados Adabas e vem incluido no pacote StarOffice da SUN, podes encontra-lo na versão 5.2 e 6 beta (nota: a SUN já não disponibiliza o 6 beta mas podes encontra-lo noutros sites para download).

    Em segundo tems o Paradox da Corel que vem incluido no WordPerfect Office da Corel existindo a versão Paradox 9 para linux na versão do Wordperfect Office 2000.

    Outro tambem bastante bom é Lotus Approach que é da IBM mas infelizmente só corre em Windows ao contrário dos outros. Existem SGBD mistos visuais com SQL principalmente Java como é o exemplo do cloudview da IBM que está incluido no J2EE edition da SUN ( a instalação é algo complicada ).

    OK dito isso vamos agora aos SGBD em SQL. que são muito mais complexos e envolvem mais conhecimentos técnicos. Vamos começar primeiro pelo menhor SGBD existente, o Oracle. É claramente o melhor mas tambem o maior e mais complexo ( o ultimo-Oracle 9i ocupa 1.5 Gb ) e embora use SQL podes usar algums programas para criar base de dados visualmente. Tem o Oracle Designer que como o nome indica serve para fazeres o design da base de dados, escusas de saber SQL ele transforma o desenho das tabelas e outros objectos directamente em SQL para a base de dados. Existe tambem o Oracle Developer que inclui o forms e reports (como no access) para meter dados e extrai-los graficamente. O oracle Designer e Developer funcionam só em Windows mas podes liga-los remotamente á base de dados Oracle a correr em Linux. Podes fazer o download gratuito de quaquer destes programas para uso pessoal. Mas exigem todos bastante conhecimentos e muito mais trabalho que no access.

    Ok Base de dados OpenSource temos 3 que vale a pena mencionar o MySql e o Postgres que todos já conheçem, mas tambem foi disponibilizada recentemente a SAPDB da Sap (uma empresa de sofware para empresas). Ok vamos ás duas primeiras, o mysql é claramente a mais usada devido á sua simplicidade e facilidade mas o postgre é sem duvida a mais potente e complexa e inclui muitas mais coisas que o mysql não inclui (não vamos agora discuti-las), o unico problema do postgre é não correr nativamente em windows. O sapdb é uma base de dados bastante interessante e inclui algumas feuters interessantes principalmente o Sapdb GUI manager que uma permite admistração grafica da base de dados e Sqlstudio que permite a criação de tabelas e de queries graficamente mas não tem forms nem reports.

    Os SGBD visuais implementam duas coisas o design visual e os forms/reports. No mundo opensource SQL essas duas coisas estão claramente divididas e não existem muitos produtos. Para design gostava de salientar o ERwin da computer associates e o Dezign da datanamic. Ambos permitem dowloads de demos mas só funcionam em windows. Não conheço nenhum Opensource. No campo do forms/reports só conheço um o GNUe que é independente da base de dados e funciona com mysql e postgre, só tem um downsize vai só na versão 0.1, existe um report writer em Java (que foi descontinuado) e outro usando Latex que não me lembra o nome.

    Como podes ver implementar uma base de dados tipo á la access em SQL é uma complicação, normalmente essas bas de dados ou são usadas para pages webs como frontend ou por programas proprietários não para fazer base de dados de cd's. Neste momento tou a desenvolver um programa de gestão em que o frontend da base de dados é em java. Podes tentar fazer um frontend para a tua base de dados em Java ou tentar usar uma page web como frontend quer com PHP ou ASP a fazer a ligação.

    Mas aconcelho-te a usar Staroffice ou outra das base de dados visuais.

    P.S. Vou deixar aqui os links para as varias coisas não tenho tempo para meter tags html.

    Staroffice Base http://www.sun.com/software/star/staroffice/6.0beta/whatsnew_base.html

    Paradox www.corel.com

    approach http://www.lotus.com/home.nsf/welcome/approach

    Cloudview http://www.cloudscape.com/index.jsp

    Erwin http://ca.com/products/alm/erwin.htm

    Dezign http://www.datanamic.com/dezign/index.html

    Java reports http://www.geocities.com/SiliconValley/Ridge/4280/GenericReportWriter/grwhome.html

    GNUe http://www.gnuenterprise.org/index.php

    Re:Confusões e esclarecimentos (Pontos:2)
    por MavicX em 15-01-02 13:18 GMT (#8)
    (Utilizador Info)
    Ups link da Sapdb é www.sapdb.org
    Re:Confusões e esclarecimentos (Pontos:2, Informativo)
    por almeidapaulopt em 15-01-02 15:36 GMT (#10)
    (Utilizador Info) http://pacpi.com
    Acho q faltou referir uma das melhores (minha opinião) bases de dados o Firebird em http://firebird.sourceforge.net/ que deriva do interbase da Borland. Existe em ibphoenix.com muitos links de software que usa esta BD.
    Apesar do mysql ser uma da mais utilizadas, acho que lhe falta uma das caracteristicas mais apeteciveis que são as "Stored Procedure".

    Para o windows o postgres encontra aí a sua principal falha (ainda é algo dificil de instalar e necessita do cygwin) coisa q o Firebird já ultrapassou á muitos anos.

    Já agora no freshmeat acho que existem links para mts reports (apesar de eu não os usar).
    MySQL 4.1, the following development release (Pontos:1)
    por racme em 15-01-02 15:53 GMT (#11)
    (Utilizador Info)
    "Internally, through a new .frm file format for table definitions, MySQL 4.0 lays the foundation for the new features of MySQL 4.1, such as nested subqueries, stored procedures, and foreign key integrity rules, which form the top of the wish list for many of our customers. Along with those, we will also include simpler additions, such as multi-table UPDATE statements."
    MySQL 4.1, the following development release

    "Apesar do mysql ser uma da mais utilizadas, acho que lhe falta uma das caracteristicas mais apeteciveis que são as 'Stored Procedure'"

    e prossegue :)
    "After those additions, critics of MySQL have to be more imaginative than ever in pointing out deficiencies in the MySQL Database Management System. For long already known for its stability, speed, and ease of use, MySQL will then match the requirement checklist of very demanding buyers."

    Parece q todos vamos ter de ser mais imaginativos, ate la a ver vamos ;)

    Re:MySQL 4.1, the following development release (Pontos:1)
    por almeidapaulopt em 15-01-02 16:27 GMT (#12)
    (Utilizador Info) http://pacpi.com
    Sem duvida vamos ter de ser + imaginativos, mas uma das palavras que eu mais li nessa pagina foi o "will" e como é obvio n se vais estar á espera de fazer o q temos de fazer á espera de uma solução que ja existe há mt tempo a funcionar noutras BD. As stored procedures estarão só disponiveis no mysql 4.1, lembro q a 4.0 está ainda em versão alfa.Não imagino o tempo que os programadores do mysql necessitarão para tal mas penso que não será coisa para demorar 2 dias. Mas espero que até seja rapido assim dá mais poder ao opensource.

    Mas sem duvida nenhuma que com a base de software opensource que existe a usar mysql (quase sempre estes softwares não estão preparadas mais nenhuma base de dados, apesar de não faltarem feramentas e interfaces para tal) e com estas função a funcionar torna o mysql numa DB de importancia fulcral (apesar de eu não gostar :( ).

    Alem disso a falta de um melhor suporte ás caracteristica ANSI SQL 92, torna mais dificil a programação de software comptativel com outras BD. habitualmente uso o Delphi para programar e o meu software corre sempre com DB interbase/firebird ou postgresql. E em sites uso sempre PHP com postgres.
    Re:Confusões e esclarecimentos (Pontos:2)
    por MavicX em 15-01-02 22:39 GMT (#16)
    (Utilizador Info)
    Pera lá a firebird ainda nem existe. O que existe são release candidates.

    Conheço de nome a Interbase (nunca trabalhei com ela) não me parece grande tiro de espingarda, pelo que vi. Embora suporte stored procedures e trigers, não vi qualquer referencia a views. De qualquer modo está a milhas de outras soluções comerciais.

    Quanto á firebird pelo que tive a ler é uma confusão tremenda. Confusão entre o suporte da Borland ou não. Confusão com as licenças, pelo que percebi vai ser lançada com uma licença feita pela Borland.

    As Base de Dados que mencionei são todas Base de Dados estaveis e sem confusões de licenças.

    A que estou a usar neste momento para desenvolvimento é a sapdb que já vai na versão 7.3 e foi lançada sobre GNU General Public License.Contem tudo o que se pode esperar duma base de dados desde stored procedures e views (updatable) até enterprise feuters como suporte para Microsoft cluster server, Online backup, e suporta uma série de ferramentas de backup profissionais( brevemente vai suportar Solstice Backup, Tivoli, ARCserve entre outros progs de backup). Se precisares de uma Base de Dados enterprise que funcione em windows e Linux está é a melhor podes crer.

    Alem disso continua a ser desenvolvida e suportada pela SAP (www.sap.pt) que para quem não sabe é das maiores empresas do mundo de software (a 3 maior em Portugal a seguir á Microsoft e Oracle). Não é como a borland que se descartou de tudo. Só para teres uma ideia enquanto a firebird tem apenas 2 megas só o kernel da sapdb são 40 megas.

    P.S. projectos sourcefourge com releases candidates para mim não obrigado, talvez num futuro proximo lhe dê uma vista de olhos.
    Re:Confusões e esclarecimentos (Pontos:1)
    por almeidapaulopt em 17-01-02 15:07 GMT (#19)
    (Utilizador Info) http://pacpi.com
    Pelo que dizes n te deste mesmo muito ao trabalho de ler o que existe site do firebird nem da IBPhoenix, mas se quiseres vai a http://www.borland.com/devsupport/interbase/opensource/ e aí podes fazer o dnl da versao 6 do interbase (que é a mesma coisa mas com numeros de versões diferentes e menos opções, talvez assim ja gostes).
    Alem disso ja desde a versao 4 que uso o interbase e posso provar a capacidade do interbase/firebird, desde bases de GBs com backups on-line diárias, Algumas views (n uso mt visto serem geralmente prejudiciais em performance), cascading updates, etc etc etc.
    Qt ao tamanho do kernel, essa é boa, n sabia que a qualidade do software se mede pelo tamanho que ocupa. Peço mt desculpa, mas n concordo em nada com essa comparação.
    Nunca sequer me dei ao trabalho de fazer o dnl do sapdb, e por isso mesmo, nada posso dizer do sapdb, nem bem nem mal porque simplesmente não sei. E acredita que antes de enviar um comentário sobre este forum iria pesquisar bastante para assim n enviar asneira e n gosto de falar mal do que n sei.


    PS: Como o meus servidores e os dos meus clientes são em linux n preciso destas tecnologias que tanto evito como o Microsoft cluster server, etc etc
    PS1: Na minha opiniao as maior parte das RC do sourceforge são mt mais fiaveis e funcionais qua a maior parte das versoes finais de software comercial que nem q n esta bem passa a versao final para cumprir com datas (mais tarde lança-se uns SP). Digo isto pq faço software comercial e sei como isto funciona.
    Re:Confusões e esclarecimentos (Pontos:1)
    por jpgm em 15-01-02 17:10 GMT (#13)
    (Utilizador Info)
    Em primeiro lugar tenho de fazer uma diferenciação entre base de dados e SGBD (sistema de gestão de base de dados). A base de dados é algo teorico e é constituida pelas tabelas e os dados, é uma estrurura logica, simplesmente são dados agrupados. O sistema de gestão de base de dados (SGBD) é o progama que gere a base de dados.
    (...)
    Assim sim! com posts destes é um prazer ler o gildot!
    Os meus parabens!
    zp
    Re: Thanks!! (Pontos:2)
    por BlueNote em 16-01-02 16:28 GMT (#18)
    (Utilizador Info)
    Parabéns pelo excelente post. Estou a par da diferença entre SGBD visuais e SGBD de SQL, a minha questão tinha exactamente que ver com essas diferenças e o estado da oferta em Linux, que era para mim muito nubeloso.

    Devo dizer que estou muito mais esclarecido. Muito obrigado a todos, melhor feedback não poderia esperar, ou seja:

    a) óptimas e esclarecedoras respostas
    b) muitas referências e material para pesquisar

    Thanks!! "Gildotians" rulezZzz!! ;)

     

     

    [ Topo | Sugerir artigo | Artigos anteriores | Sondagens passadas | FAQ | Editores | Preferências | Contacto ]