1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

SQL/MySQL/... Como utilizar?

Discussão em 'Programação' iniciada por fabiofasantos, 7 de Dezembro de 2007. (Respostas: 7; Visualizações: 2449)

  1. Olá a todos, pessoal!

    Tenho ouvido falar muito sobre SQL... MySQL... Motores de bases de dados e afins... Porem, não sei como é que isso se utiliza. Isto é não sei nem como começar. Assim, agradecia a quem tivesse algum exemplo de alguma aplicação simples usando estas tecnologias e me pudesse ajudar para eu perceber como é que isto se utiliza. E já agora qual a diferença entre SQL e MySQL?


    Por outro lado, surge-me a questão: -Vale a pena? Estou a iniciar um projecto, que vai ser principalmente programado em Java. Nesse projecto vamos ter de implementar algumas bases de dados e tenho discutido com a minha equipa sobre até que ponto vale a pena darmo-nos ao trabalho de aprender a utilizar uma tecnologia nova para nós em vez de implementar-mos a base de dados recorrendo a um simples ficheiro de texto... Bem as duvidas continuam pelo que venho pedir a vossa ajuda. Neste ponto as questões principais são as seguintes:

    - Em aplicações stand-alone que vantagens temos em utilizar motores de base de dados em vez de um simples ficheiro de texto para guardar os dados no disco?
    - E se os dados tiverem de ser acedidos por vários programas ao mesmo tempo, até que ponto é que o motor facilita isso?
    - Não serão os motores e as respectivas linguagens SQL/MySQL apenas úteis para bases de dados on-line?
    - É possivel, por exemplo criar uma base de dados com o OpenOffice e depois aceder aos dados com uma aplicação diferente?
    - E o inverso, criar uma base de dados para a aplicação e depois acerder-lhe com o OpenOffice?

    Sei que são muitas duvidas e agradeço desde já toda a ajuda que me possam dar!

    Obrigado.
     
  2. crossroads

    crossroads Power Member

    Eu nisso sou um nabo à esquerda mas aconselho-te a começares a partir daqui e a seguires os links lá indicados.
    http://en.wikipedia.org/wiki/Database
    http://en.wikipedia.org/wiki/SQL
    http://en.wikipedia.org/wiki/Mysql
    http://en.wikipedia.org/wiki/Postgresql

    E que outros mais iluminados digam de sua justiça :)

    P.S.: Creio que vais ter que explicar um pouco mais detalhadamente sobre o teu projecto pois depende de cada um a orientação que se lhe pode dar. É que tb não estou a ver como queres fazer um DB e depois aceder com o OpenOffice... Mais vale fazeres uma coisa como deve de ser.
     
    Última edição: 8 de Dezembro de 2007
  3. AliFromCairo

    AliFromCairo Power Member

    Bom, em relação à tua primeira questão:
    • MySQL é um Sistema de Gestão de Base de Dados (SGBD) e pode ser visto como um conjunto de "programas" que te permitem manipular uma base de dados.
    • SQL é uma linguagem declarativa para bases de dados relacionais. Permite-te por exemplo, fazer interrogações à base de dados.
     
  4. CrazyBomber

    CrazyBomber Power Member

    Se vale a pena aprenderem bases de dados? Imensamente. O seu valor é imesurável (espero que esteja bem escrito :sad:).

    Há muitas bases de dados e muitas formas de fazer o mesmo. Por exemplo, o OpenOffice Base utiliza o motor HSQLDB, que é 100% java. Acho que devem conseguir arranjar maneira de exportar a base de dados da aplicação para o OOBase, se usarem também o HSQLDB.
    Mas estes motores de bases de dados não servem apenas para guardar dados e obter estatísticas. Trazem também uma porrada enorme de features, optimizações, sistemas segurança e backup, etc etc.

    Portanto, aprender a trabalhar com bases de dados é, na minha opinião, essêncial. Claro que também depende do que o vosso programa vai fazer :)
     
  5. slack_guy

    slack_guy Power Member

    quase... é 'imensurável' ;-)
     
  6. Ok... Agora acho que já estou mais iluminado...

    Obrigado a todos, sinceramente.
     
  7. mj2p

    mj2p I'm Cool Cuz I Fold

    Bem, para começares, tens aqui dois links fantásticos:

    Este para aprenderes
    Este é de um programa que permite utilzar MySQL

    Eu sei que estes dois links estão mais ligados com web development, mas o essencial de MySQL (criar tabelas, preencher tabelas, gerir tabelas, etc.) está aqui muito bem explícito.

    Vá, cumps
     
  8. greatbunzinni

    greatbunzinni Power Member

    Uma base de dados é apenas uma ferramenta que se ocupa do armazenamento, organização e gestão do acesso aos dados. Basicamente, em vez de seres tu a criares uma maneira de aceder a dados a partir do nada (abrir ficheiro, ler ficheiro, abrir outro ficheiro, comparar dados, guardar ficheiros, etc..) a base de dados ocupa-se disso e até torna tudo mais flexivel e poderoso. Em troca de um maior "peso" de computação e recursos.

    No fundo tens absolutamente todas as situações onde existem dados a ser acedidos. Por exemplo, tu tens os forums como este, que no fundo e duma forma geral não passa duma base de dados cujo conteúdo é apresentado como página.

    Existe ainda outras situações onde são usadas bases de dados. O digikam, programa de gestão de fotografia digital para o KDE, usa uma base de dados para guardar informação sobre as fotos. O amarok usa uma base de dados para gerir a colecção de música dos utilizadores. Existem jogos que usam bases de dados para gerir a informação do jogo.

    SQL é o nome duma linguagem que vem de "structured query language". Basicamente é uma linguagem que foi criada para servir de interface padrão a tudo que seja base de dados, não só para aceder aos dados como também manipulá-los segundo o modelo relacional. É uma linguagem normalizada, com uma série de normas da ISO.

    O mysql é apenas um pacote de software como tantos outros. É apenas uma ferramenta entre muitas que ajuda a gerir os dados. Há quem não conheça mais nada e há quem jure a pés juntos que é uma ferramenta fraca e frágil. A única relação que a ferramenta mysql tem com a linguagem SQL é que o mysql adoptou a linguagem SQL como linguagem para interagir com os dados.

    Existem vários motores de bases de dados como o postgresql, sqlite, firebird, etc... Dá uma olhadela em http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems



    Em regra geral, se os dados com que vocês lidam são apenas acedidos localmente de forma não intensa e cabem em uma mão cheia de ficheiros de texto então provavelmente não precisam de nenhuma ferramenta para se ocupar da sua gestão. Ou seja, se tu colocas seriamente a questão "ficheiros de texto ou base de dados" então isso indica que tu não precisas de nenhuma base de dados.

    As bases de dados são mais vantajosas se a informação a que pretendes aceder for particularmente complexa (um infindável número de campos com uma infindável quantidade de informação) e se anteveres a necessidade de alterar profundamente o tipo de acesso que fazes a ela (mudar os campos, levantares mais relações com outros dados, etc..).

    Para este cenário esquece totalmente uma ferramenta como o mysql. Provavelmente o que procuras é algo como o sqlite, que até te guarda a base de dados num ficheirito local que podes aceder de qualquer lado.

    Os motores de bases de dados ocupam-se da gestão do acesso aos próprios dados. Basicamente pedes os dados à ferramenta e depois ela ocupa-se de tudo o resto.

    Não necessariamente. Se a base de dados for suficientemente complexa então o recurso a uma ferramenta que gere o acesso aos dados não só pode simplificar a produção dos programas (não te ocupas com detalhes como manipulação de ficheiros ou quem acede ao quê) como também facilita a extracção de informação, incluindo o formato com que ela é tirada de lá.
    Ser possivel até é mas não te ponhas com isso. O que me vem à cabeça é aquele pessoal que usa folhas de cálculo como o Microsoft Excel para servir de base de dados. Uma folha de cálculo é uma ferramenta de contabilistas. Usar uma folha de cálculo para gerir dados é o equivalente a usar uma chave de fendas para pregar um prego: até é capaz de servir para usos irrelevantes mas existem ferramentas bem melhors.

    Além disso, mais uma vez surge a tal regra: se achas que consegues gerir os teus dados numa folha de cálculo então é sinal quenão precisas de uma base de dados.
     

Partilhar esta Página