Banco de Dados em Javascript ?

22 05 2008

Bom estava precisando que um pedaço do meu banco de dados fosse acessado pelo cliente diretamente por Javscript, ai vc pergunta porque? eu respondo! Porquê o cliente está em um ambiente, pasmem, sem acesso a internet. Sim estes lugares ainda existem acreditem!

Naveguei pela net a trombei com este texto aqui e que prontamente xupinhado do site do marcelo pedrosa 🙂

“A primeira vista isso pode soar muito estranho, mas foi o que Ian Smith pensou quando decidiu manipular uma pequena quantidade de dados com javascript, tornando a aplicação mais ágil e simples.

Tudo começou quando ele trabalhava no projeto Joe’s Goals e não sabia como trabalhar com os dados em meio à web 2.0

Com isso ele criou a Taffy DB para resolver seus problemas. E para facilitar a vida dos que desejam utilizar esta biblioteca, ele também disponibilizou um guia rápido.”

Algumas considerações sobre o Taffy DB:

  1. O banco está em Javascript, ou seja, não tem como salvar os dados no lado do cliente, o banco tem a função de update mas não persiste, você tem que usar um Ajax pra persistir;
  2. Não existe chave primária, mas você pode criar um campo chamado id e armazenar um número inteiro nele, que no fim das contas é um chave primária, veja o exemplo abaixo que se vai entender, se é esperto que eu sei :).

Pequei o exemplo do site e dei uma ajeitada, olha lá em baixo a função buscaAmigo, pra entender direitinho da uma olhada no guia rápido.

// Banco de dados ta ta é um json mas não deixa de ser um banco de dados lol
var friends = new TAFFY(
[{
id : 0,
name:"Bob",
gender:"M",
married:"No",
age:25,
state:"NY",
favorite_foods:["pizza","tacos"]},
{
id : 1,
name:"Joyce",
gender:"F",
married:"No",
age:29,
state:"WA",
favorite_foods:["salad","cheese sticks"]},
{
id : 2,
name:"Dan",
gender:"M",
married:"No",
age:29,
state:"MT",
favorite_foods:["pizza","hamburgers","BLTs"]},
{
id : 3,
name:"Danilo",
gender:"M",
married:"No",
age:55,
state:"MT",
favorite_foods:["pizza","hamburgers","BLTs"]},
{
id : 4,
name:"Sarah",
gender:"F",
married:"No",
age:21,
state:"ID",
favorite_foods:["pizza","sushi"]}
]
)

// minha função de teste para achar o DAN (ui que gay)
buscaAmigo("Dan");

// função que busca os DAN no banco de dados acima
function buscaAmigo(nome){
   var amigos = friends.find({name:{like:nome}});
   var amigo = '';
   for(i = 0; i < amigos.length; i++){
      amigo = friends.get({id:amigos[i]});
      alert(amigo[0].name);
   }
}

E para fechar este post quero deixar aqui a minha frase do dia. “apenas para contextualizar vocês hoje foi um longo dia de batalha contra um grupo de crakers.”

A internet é uma selva e como toda boa selva ela possui muitos animais ferozes mas também árvores frondosas cheias de frutos.
Anselmo Battisti

Anúncios

Ações

Information

11 responses

22 05 2008
JulioGreff

Sem dúvida alguma, isso É loucura… Eu não consideraria um banco de dados, é no máximo uma funcionalidade que um maluco deu pra um JSON. Podia ser XML, texto simples, qualquer coisa. Embora não como armazenamento de dados, é ótimo para buscar dados em qualquer JSON, isso sim!

Até mais!

22 05 2008
battisti

Bom JulioGreff antes de começarmos a discutir precisamos definir os termos, como já dizia meu chegado René Descartes. Vamos pegar a definir Banco de Dados que está na Wikipédia, seria melhor pegar a do Navat mas meu livro não está aqui.

“Bancos de dados (ou bases de dados), são conjuntos de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação. Um banco de dados normalmente agrupa registros utilizáveis para um mesmo fim. ”

Ou seja qualquer estrutura que permita o armazenamento e a busca de dados pode ser considerado um Banco de Dados, uma planilha , um XML, um Json um array :)! isso tudo é e deve ser considerado como sendo Banco de Dados.

Agora um SGBD é outra coisa totalmente diferente, e acho que essa foi a sua bronca né, realmente o Taffy DB não é um SGBD, é apenas uma forma de armazenar e recuperar dados através de Javascript e existem diversas aplicações para isso!

Valeu pelo comentário e a propósito seu site é bem bacana tem coisa legais lá, parabéns!

[]’s Anselmo Battisti

26 05 2008
Rodrigo

Olá, gostaria de te parabenizar pelo blog que está muito legal, provando que há bom conteúdo em blogs. Gostei tanto que até fiz um link para o seu no meu, e gostaria muito se você também me linkasse.

Nos falamos.

Abs,
Rodrigo

4 06 2008
Rafael Jaques

Rapaz…

Confesso que esta idéia nunca tinha me vindo à cabeça..
Mas agora que você comentou, já sei até onde aplicar isso! 😀

Obrigado pela dica! ;D

Abraços!

7 10 2008
Micox

Aproveitando essa idéia aí o DGMike fez um ótimo esquema de combos (selects) cidade-estados do brasil em javascript: http://dgmike.com.br/2008/10/cidades-e-estados-em-javascript/

17 02 2009
Heliézio

É isso mesmo o que eu estava procurando, estou trabalhando num projeto que consiste em um tipo de Banco de Dados em JavaScript, que armazene algumas informações bem simples como as acima referidas. Concordo com sua definição e comparação “BD e SGBD” e ainda acho que se pode ir um pouco mais afundo nessa questão de armazenamento de informações em JavaScript, mas também aceito a idéia de que essas pequenas informações não chegarão a tal ponto de se compara-las com um SGBD completo.

Abraços…

26 10 2010
Rogeres Melo

O nosso maior problema para cria um banco de dados em Javascript, é poder armazenar os dados em algum lugar.

Com esse tipo de codigo acima só podemos alterar em modo virtual. Mas, se grava as alteração nos códigos.

eu fiz este ensaio:

Untitled Document

//Criar variaveis de tabela cada variavel é a coluna de uma tabela.

nomes = new Array(“Ana”,”Bete”,”Carla”,”Silva”,”Martins”,”Zuleide”)
end = new Array(“Rua dos Tamois, 321″,”Rua Extremos”,”Av. Carlos Dutra,62″,”Rua Silva Rocha”,”Rua Aberlado Martins, 65. Ap 701″,”Av Santa Marta, 30 casa b”)

// visualiza tabela
function Visualiza(){

visualiza_tabela = ”

for (i=0;i<nomes.length;i++){
id = i+1

visualiza_tabela = visualiza_tabela + '’+id+”+nomes[i]+”+end[i]+”
}

visualiza_tabela = visualiza_tabela + ”
document.getElementById(“visao_tabela”).innerHTML = visualiza_tabela
}
// fim visualiza tabela

//Limpar formulario

function esc_form(){
var formulario

formulario = ‘ Formulario de Inclusão Nome:Endereço: ‘

document.getElementById(“formIncluir”).innerHTML = formulario

}

function iniciar(){
Visualiza()
esc_form()

}

//Gravar dados novos do formulario na tabela existente
function grava_dados(){
id = nomes.length
nomes[id] = document.getElementById(“inp_nome”).value
end[id] = document.getElementById(“inp_end”).value

iniciar()

}

26 10 2010
Rogeres Melo

correção visualiza tabela

visualiza_tabela = ”

26 10 2010
Rogeres Melo

visualiza_tabela = “”

26 10 2010
Rogeres Melo

visualiza_tabela =

26 10 2010
Rogeres Melo

Está havendo problema no envio de alguamas partes do código. Quem quiser o código completo é só me pedir pelo email.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: