SQLite 3 Veritabanı Yönetimi ve Kullanımı
SQLite 3, mobil uygulamalar, gömülü sistemler ve küçük masaüstü uygulamalarında yaygın olarak kullanılan hafif bir gömülü ilişkisel veritabanı yönetim sistemidir. SQLite 3, bağımsız bir sunucu işlemine ihtiyaç duymaz, verileri tek bir dosyada saklar, yönetimi ve kullanımı kolaydır. Bu makale, ServBay içinde SQLite 3 veritabanını nasıl yöneteceğinizi ve kullanacağınızı ayrıntılı olarak açıklayacak; kurulum, yapılandırma, yedekleme, geri yükleme ve performans optimizasyonu gibi konuları kapsayacaktır.
SQLite 3 Kurulumu ve Yapılandırması
SQLite 3 genellikle ayrı bir kurulum gerektirmez çünkü çoğu işletim sistemi ve programlama ortamına dâhildir. ServBay, SQLite 3 ile birlikte gelir; sadece mevcut olduğundan emin olmanız yeterlidir.
SQLite 3 Kurulumunu Doğrulama
SQLite 3'ün kurulu olup olmadığını şu komutla doğrulayabilirsiniz:
sqlite3 --version
Komut Satırı Aracı Kullanarak Bağlanma
Veritabanı oluşturma veya bağlanma:
bashsqlite3 /Applications/ServBay/db/sqlite/your_database.db
1SQLite 3'ten çıkma:
sql.exit
1
Programlama Dili Kullanarak Bağlanma
PHP Örneği
SQLite3
sınıfını kullanarak SQLite 3'e bağlanma:
<?php
// SQLite 3 veritabanına bağlanma
$db = new SQLite3('/Applications/ServBay/db/sqlite/your_database.db');
// Tablo oluşturma
$db->exec("CREATE TABLE IF NOT EXISTS mytable (id INTEGER PRIMARY KEY, name TEXT)");
// Veri ekleme
$db->exec("INSERT INTO mytable (name) VALUES ('Alice')");
// Veri sorgulama
$result = $db->query("SELECT * FROM mytable");
while ($row = $result->fetchArray()) {
echo "ID: " . $row['id'] . " Name: " . $row['name'] . "\n";
}
// Veritabanı bağlantısını kapatma
$db->close();
?>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Node.js Örneği
sqlite3
kütüphanesini kullanarak SQLite 3'e bağlanma:
const sqlite3 = require('sqlite3').verbose();
// SQLite 3 veritabanına bağlanma
let db = new sqlite3.Database('/Applications/ServBay/db/sqlite/your_database.db', (err) => {
if (err) {
console.error(err.message);
}
console.log('SQLite veritabanına bağlandı.');
});
// Tablo oluşturma
db.run(`CREATE TABLE IF NOT EXISTS mytable (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT
)`);
// Veri ekleme
db.run(`INSERT INTO mytable (name) VALUES (?)`, ['Alice'], function(err) {
if (err) {
return console.error(err.message);
}
console.log(`Bir satır eklendi, satır kimliği ${this.lastID}`);
});
// Veri sorgulama
db.all(`SELECT * FROM mytable`, [], (err, rows) => {
if (err) {
throw err;
}
rows.forEach((row) => {
console.log(row.id, row.name);
});
});
// Veritabanı bağlantısını kapatma
db.close((err) => {
if (err) {
console.error(err.message);
}
console.log('Veritabanı bağlantısı kapatıldı.');
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Veritabanı Yönetimi
Temel İşlemler
Tablo oluşturma:
sqlCREATE TABLE mytable (id INTEGER PRIMARY KEY, name TEXT);
1Veri ekleme:
sqlINSERT INTO mytable (name) VALUES ('Alice');
1Veri sorgulama:
sqlSELECT * FROM mytable;
1Veri güncelleme:
sqlUPDATE mytable SET name = 'Bob' WHERE id = 1;
1Veri silme:
sqlDELETE FROM mytable WHERE id = 1;
1
Yedekleme ve Geri Yükleme
Veritabanı Yedekleme
SQLite 3 veritabanı tek bir dosyada saklanır, bu nedenle yedekleme sadece dosyayı kopyalamakla yapılabilir. Yedek dosyalarınızı aşağıdaki dizine koymanız tavsiye edilir:
/Applications/ServBay/backup/sqlite
Komut satırı aracı kullanarak veritabanı dosyasını kopyalayarak yedekleme yapın:
cp /Applications/ServBay/db/sqlite/your_database.db /Applications/ServBay/backup/sqlite/your_database_backup.db
Veritabanı Geri Yükleme
Yedek dosyasını orijinal yerine kopyalayarak geri yükleyin:
cp /Applications/ServBay/backup/sqlite/your_database_backup.db /Applications/ServBay/db/sqlite/your_database.db
Performans Optimizasyonu
SQLite 3, çeşitli performans optimizasyon seçenekleri sunar, işte bazı yaygın yöntemler:
İndeks Optimizasyonu
Sık kullanılan sorguların sütunlarına indeks oluşturduğunuzdan emin olun. Örneğin:
CREATE INDEX idx_name ON mytable(name);
Sorgu Optimizasyonu
Sorgu performansını analiz etmek ve optimizasyon yapmak için EXPLAIN
komutunu kullanın. Örneğin:
EXPLAIN QUERY PLAN SELECT * FROM mytable WHERE name = 'Alice';
Yapılandırma Optimizasyonu
Performansı artırmak için SQLite 3'ün PRAGMA parametrelerini ayarlayın. Örneğin, yazma performansını artırmak için senkronizasyon modunu devre dışı bırakın:
PRAGMA synchronous = OFF;
Güvenlik Yönetimi
Veritabanının güvenliğini sağlamak çok önemlidir, işte bazı güvenlik yönetim önerileri:
Dosya İzinleri
SQLite 3 veritabanı dosyalarının izinlerinin doğru ayarlandığından emin olun, yetkisiz erişimi önleyin. Örneğin:
chmod 600 /Applications/ServBay/db/sqlite/your_database.db
Veri Şifreleme
SQLite 3, veritabanı şifrelemeyi destekler, SQLite şifreleme uzantılarını (örneğin, SQLCipher) kullanarak veritabanını şifreleyebilirsiniz.
Sık Sorulan Sorunlar ve Çözümleri
SQLite 3 Veritabanına Bağlanamama
Veritabanı dosya yolunu kontrol edin: Veritabanı dosya yolunun doğru ve dosyanın mevcut olduğundan emin olun.
Dosya izinlerini kontrol edin: Veritabanı dosyasının izinlerinin okuma ve yazma işlemlerine izin verdiğinden emin olun.
Veritabanı Kilitlenmesi
Eşzamanlı erişimi kontrol edin: Başka işlemlerin veritabanına erişmediğinden emin olun, SQLite 3 yazma işlemleri sırasında veritabanını kilitler.
WAL modunu kullanma: Eşzamanlı performansı artırmak için WAL (Write-Ahead Logging) modunu etkinleştirin:
sqlPRAGMA journal_mode = WAL;
1
Sonuç
SQLite 3, güçlü ve esnek bir gömülü veritabanı yönetim sistemidir. ServBay ile birlikte gelen SQLite 3, veritabanı yönetimi ve kullanımını daha da kolaylaştırır. Bu makale sayesinde, SQLite 3'ün kurulumu, yapılandırması, bağlantısı, yönetimi, yedeklenmesi, geri yüklenmesi ve performans optimizasyonu işlemlerini kolayca gerçekleştirebilir, veritabanınızın verimli çalışmasını ve güvenliğini sağlayabilirsiniz.