Bazy danych w JS
---
WiΩkszo╢µ webmaster≤w wiesza swoje strony na darmowych serwerach.
Niestety, serwery za free bardzo rzadko lub w og≤le nie posiadaj▒
obs│ugi baz danych w MySql. Je╢li tak jest, to czy mo┐na zbudowaµ
database jedynie z JS? Po pewnych spekulacjach okazuje siΩ,
┐e mo┐na. W tym artykule zastanowimy siΩ nad tym, jak to zrobiµ.
Nasz▒ baze zbudujemy na wz≤r teleksi▒┐ki adresowej. Stw≤rzmy
rekord, kt≤ry ma pomie╢ciµ nastΩpuj▒ce zagadnienia: imiΩ,
nazwisko, tel., ulica, nr domu i mieszkania, kod pocztowy,
email. My╢lΩ, ┐e na pocz▒tek wystarczy:
---
function usr_profile(name, scndname, telnumber, street, hhnumber,
zipcode, email)
{
this.name = name;
this.scndname = scndname;
this.telnumber = telnumber;
this.street = street;
this.hhnumber = hhnumber;
this.zipcode = zipcode;
this.email = email;
}
---
Tak stworzony rekord mo┐emy spokojnie wype│niµ danymi, ale
to jeszcze nie baza danych. Musimy ten zbi≤r informacji umie╢ciµ
w tablicy, wtedy mo┐na siΩ odwo│ywaµ do poszczeg≤lnych danych.
Kod poni┐ej ukazuje jak to zrobiµ:
---
var db_usr = new Array(); //tworzymy tablice o nazwie db_usr
db_usr[0] = new usr_profile("Zofia","Kwiatkowska","0603193890","Zachlapana","14/21","23-112","zofo@kit.pl");
//wypelniamy kom≤rki tablicy danymi, tzn. skonfigurowanym
rekordem
---
I oto stworzyli╢my bazΩ danych z jednym rekordem. Nasuwa
siΩ pytanie: Jak odwo│aµ siΩ do poszczeg≤lnych zmiennych (imiΩ,
itd.)? Jest na to bardzo prosta regu│a. Oto listing:
---
document.write(db_usr[0].name);
---
Teraz wystarczy napisac odpowiedni▒ funkcjΩ wypisuj▒c▒ dane
w tabeli.
Om≤wmy sobie teraz "za i przeciw" takiemu rozwi▒zaniu:
+ bardzo szybkie dzia│anie
+ niezawodno╢µ
+ dostΩpno╢µ na ka┐dym serwerze
Niestety, jest minus, kt≤ry przys│ania wszystkie "za".
Oto┐ tak▒ bazΩ nie mo┐na uaktualniaµ z poziomu www (internauta
nie mo┐e dodaµ swoich rekord≤w).
Jak praktycznie zastosowaµ JSDataBase? Oto┐ mo┐na umie╢ciµ
newsy w takiej bazie i efektownie je wypisywaµ (dziΩki w│asnej
funkcji). Taki system news≤w jest bardzo efektywny. Mo┐na
stworzyµ wyszukiwarkΩ opart▒ na takiej bazie.
Je╢li artyku│ zaciekawi│, wzbudzi│ kontrowersje prosze s│aµ
maile (adres poni┐ej):
KaFtUr kaftur@o2.pl