SQL/MySQL/... Como utilizar?

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.
 
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:
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.
 
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 :)
 
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.

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
 
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.
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.

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?
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



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...
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.

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?

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.

- E se os dados tiverem de ser acedidos por vários programas ao mesmo tempo, até que ponto é que o motor facilita isso?
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 serão os motores e as respectivas linguagens SQL/MySQL apenas úteis para bases de dados on-line?
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á.
- É 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?
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.
 
Back
Topo