Uvod
SQLite predstavlja relacijsku bazu podataka otvorenog koda, cenjenu zbog svoje jednostavnosti, brzine i pouzdanosti. Predstavlja idealno rešenje za male i srednje projekte, uključujući desktop i mobilne aplikacije, kao i web stranice. Kombinovanjem sa Node.js, moćnim JavaScript okruženjem, možete kreirati robusne i efikasne aplikacije za upravljanje podacima.
Ovaj vodič će vas provesti kroz proces konfiguracije i upotrebe SQLite-a sa Node.js na Ubuntu 22.04 serveru. Takođe ćemo istražiti neke naprednije funkcionalnosti SQLite-a, kao što su transakcije i indeksi.
Konfiguracija
Instalacija SQLite-a
Prvi korak podrazumeva instaliranje SQLite-a na vašem Ubuntu 22.04 serveru.
sudo apt update sudo apt install sqlite3 libsqlite3-dev
Instalacija Node.js
Sledeći korak je instaliranje Node.js na vašem serveru. Preporučuje se upotreba LTS (Dugoročno podržane) verzije Node.js.
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install nodejs
Instalacija paketa SQLite3 za Node.js
Na kraju, instalirajte sqlite3
paket za Node.js.
npm install sqlite3
Upotreba SQLite-a sa Node.js
Nakon uspešne instalacije SQLite-a i Node.js, možete započeti sa pisanjem koda za interakciju sa bazom podataka.
Otvaranje baze podataka
Prvi korak je uspostavljanje veze sa SQLite bazom podataka.
const sqlite3 = require('sqlite3').verbose(); const db = new sqlite3.Database('moja_baza.db');
Ovde, moja_baza.db
je ime baze podataka sa kojom želite da radite. Ako baza podataka ne postoji, ona će biti automatski kreirana.
Upiti za čitanje podataka
Nakon uspostavljanja veze sa bazom podataka, možete koristiti upite za preuzimanje podataka.
db.all('SELECT * FROM korisnici', (err, redovi) => { if (err) { // Obrada greške } else { // Obrada rezultata u 'redovi' } });
Ako je upit uspešno izvršen, promenljiva redovi
će sadržati sve podatke koje je upit vratio.
Upiti za pisanje podataka
Upiti za pisanje se koriste za izmenu podataka unutar baze. Oni obuhvataju upite kao što su INSERT
, UPDATE
i DELETE
.
db.run('INSERT INTO korisnici (ime, email) VALUES (?, ?)', ['Petar Petrović', '[email protected]'], (err) => { if (err) { // Obrada greške } });
Ovaj upit će dodati novi red u tabelu korisnici
.
Transakcije
Transakcije omogućavaju grupisanje više operacija nad bazom podataka u jednu celinu. Ako bilo koja operacija unutar transakcije ne uspe, sve promene se vraćaju na početno stanje.
db.run('BEGIN TRANSACTION'); db.run('INSERT INTO korisnici (ime, email) VALUES (?, ?)', ['Marko Marković', '[email protected]']); db.run('INSERT INTO korisnici (ime, email) VALUES (?, ?)', ['Jovan Jovanović', '[email protected]']); db.run('COMMIT');
Ova transakcija će dodati dva nova reda u tabelu korisnici
. Ukoliko neki upit ne uspe, transakcija će biti poništena i nijedan zapis neće biti unet.
Indeksi
Indeksi se koriste za ubrzavanje pretraga u bazi podataka. Možete kreirati indeks koristeći CREATE INDEX
upit.
db.run('CREATE INDEX idx_korisnici_ime ON korisnici (ime)');
Ovaj indeks će ubrzati pretrage po koloni ime
u tabeli korisnici
.
Zaključak
U ovom vodiču ste naučili kako da konfigurišete i koristite SQLite sa Node.js na Ubuntu 22.04. Detaljno su objašnjene osnovne operacije za čitanje, pisanje i upravljanje podacima, kao i napredni koncepti kao što su transakcije i indeksi.
Upotreba SQLite-a sa Node.js omogućava vam da kreirate efikasne aplikacije za upravljanje podacima za različite potrebe. Nadamo se da će vam ovaj vodič biti koristan u vašem radu sa SQLite-om i Node.js.
Često postavljana pitanja
1. Šta je SQLite?
SQLite je relacijska baza podataka otvorenog koda koja se odlikuje jednostavnošću, brzinom i pouzdanošću.
2. Kako se instalira SQLite na Ubuntu 22.04?
Koristite sledeće komande:
sudo apt update sudo apt install sqlite3 libsqlite3-dev
3. Kako se instalira Node.js na Ubuntu 22.04?
Za LTS verziju Node.js koristite sledeće komande:
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install nodejs
4. Koji paket treba instalirati za SQLite3 sa Node.js?
Potrebno je instalirati sqlite3
paket.
5. Kako se otvara veza sa SQLite bazom podataka?
Koristite sledeći kod:
const db = new sqlite3.Database('moja_baza.db');
6. Kako izvršiti upit za čitanje u SQLite?
Koristite sledeći kod:
db.all('SELECT * FROM korisnici', (err, redovi) => { // Obrada rezultata u redovima });
7. Kako izvršiti upit za pisanje u SQLite?
Koristite sledeći kod:
db.run('INSERT INTO korisnici (ime, email) VALUES (?, ?)', ['Petar Petrović', '[email protected]']);
8. Šta su transakcije u SQLite?
Transakcije grupišu više operacija nad bazom podataka u jednu nedeljivu celinu.
9. Šta su indeksi u SQLite?
Indeksi se koriste za ubrzanje pretraga u bazi podataka.
10. Kako kreirati indeks u SQLite?
Koristite sledeći kod:
db.run('CREATE INDEX idx_korisnici_ime ON korisnici (ime)');