Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Veritabanı (DATABASE)

MenzeletDB klasör bazlı yaklaşım kullanır: her veritabanı dosya sisteminde bir klasördür (data/<db_adı>/).

Oluşturma (CREATE DATABASE)

CREATE DATABASE musteri_db
  • data/musteri_db/ klasörü oluşturulur
  • Veritabanı adı küçük harf, boşluksuz olmalıdır
  • Aynı isimli veritabanı varsa hata döner

Birden fazla veritabanı oluşturma:

CREATE DATABASE satis_db
CREATE DATABASE analitik_db
CREATE DATABASE test_db

Seçme (USE)

USE musteri_db
  • Sonraki tüm tablo işlemleri seçilen veritabanı üzerinde çalışır
  • USE komutu çalıştırılmadan tablo işlemleri yapılamaz (master DB dışında)

Listeleme (SHOW DATABASES)

SHOW DATABASES

Örnek çıktı:

master
musteri_db
satis_db
analitik_db

Silme (DROP DATABASE)

DROP DATABASE test_db
  • data/test_db/ klasörü ve içindeki tüm Parquet/WAL/flush dosyaları silinir
  • Bu işlem geri alınamaz

Koruma Kuralları

KuralÖrnekSonuç
master DB silinemezDROP DATABASE masterHata
Aktif bağlantısı olan DB silinebilirDROP DATABASE musteri_dbBaşarılı (dikkatli kullanın)

Güncelleme

MenzeletDB’de veritabanı adı değiştirme (ALTER DATABASE RENAME) komutu desteklenmez.

Alternatif yöntem:

-- 1. Yeni veritabanı oluştur
CREATE DATABASE musteri_db_v2

-- 2. Yeni veritabanında tabloları oluştur ve verileri taşı
USE musteri_db_v2
CREATE TABLE siparisler (id INT NOT NULL, tutar FLOAT)
INSERT INTO siparisler SELECT * FROM menzelet.musteri_db.siparisler

-- 3. Eski veritabanını sil
DROP DATABASE musteri_db

Hiyerarşik ad alanı: Tablolara tam nitelikli isimle de erişilebilir: menzelet.<db_adı>.<tablo_adı>. Bu sayede farklı veritabanlarındaki tablolara USE komutu olmadan erişmek mümkündür.

Dosya Sistemi Eşlemesi

SQL KomutuDosya Sistemi İşlemi
CREATE DATABASE xmkdir data/x/
DROP DATABASE xrmdir data/x/ (tüm içerikle birlikte)
USE xSession’ın aktif DB’sini değiştir
SHOW DATABASESdata/ altındaki klasörleri listele

master Veritabanı

master, MenzeletDB’nin sistem veritabanıdır. İlk kurulumda (bootstrap) otomatik oluşturulur ve silinemez.

İçindeki sistem tabloları:

Tabloİçerik
mnz_usersKullanıcılar (şifreler hash + salt ile korunur)
mnz_rolesRoller (4 yerleşik + kullanıcı tanımlı)
mnz_user_rolesKullanıcı-rol eşlemeleri
mnz_role_permissionsRol-permission eşlemeleri
mnz_tablesTablo katalog meta verileri