Monday, February 12, 2007

Baza danych sqlite

Kontynuuję wątek otwartych, alternatyw dla programów komercyjnych. Tym razem przyszedł czas na bazę danych. Przyznam szczerze, że tym segmentem mało się interesowałem, ale od kilku dni zajmuje się tematyką jakoś z tym spokrewnioną, więc do rzeczy. Standardem (co nie oznacza najlepszym) w tej klasie jest MS Access. Istnieją jego wolne odpowiedniki, żeby wymienić Base - element pakietu OO.org, czy Kexi część "konkurencyjnego" KOffice,a więc aplikacje nie grzeszące szybkością, co przy naprawdę dużych zbiorach może mieć znaczenie.
Osobiście proponuję inne podejście, wydajniejsze a w perspektywie czasu wygodniejsze, mianowicie wykorzystanie systemów zarządzania SQL (Structured Query Language). Oprócz silników takich jak popularne MySQL czy PostgreSQL można wykorzystać mały i szybki sqlite.
Korzystanie z tego typu programów polega na pisaniu poleceń w języku SQL, za pomocą których wykonywane są operacje na bazach danych. Poniżej widnieje przykład bazy danych stworzonej za pomocą sqlite

Uruchomienie sqlite. Jeśli bazy nowabaza nie istnieje, zostanie taka utworzona
sqlite3 nowabaza

Utworzenie nowej tablicy w bazie. Trzy kolumny: zawierające nazwę zabytku, ilość i datę dodania
create table nowatablica(nazwa,ilosc,data);

Wstawienie wiersza do tablicy
insert into nowatablica values('ceramika',10,'2007-02-13');

Aby zapisać bazę do pliku należy wydać polecenia:
.mode column
.output nazwapliku
select * from nowatablica;


Po otwarciu pliku w dowolnym edytorze tekstu powinniśmy ujrzeć
nazwa ilosc data
------------- ------------ -----------------
ceramika 10 2007-02-13

Jak widać polecenia nie są szczególnie trudne do opanowania. Kiedy to się stanie sqlite może stać się potężnym narzędziem w naszych rękach. Ma jeszcze jedną zaletę. Jeśli zechcemy, aby dane były jakoś przetworzone, osoba która otrzyma taką bazę zapewniam, będzie zadowolona, bo oszczędzono jej masę czasu. Nie trzeba chyba wspominać, że dostęp do bazy można uzyskać z poziomu różnych aplikacji.

No comments: