İlk veritabanı
Shell'i derleyin, bir .ndbc dosyası açın, şema kurun, kayıt ekleyip sorgulayın.
Shell'i derleyin#
NarDB Shell kaynaktan derlenir. Go 1.26 gerekir.
cd nardb_shell
go build -o nardb .
./nardbİlk açılışta nardb-root-user için bir parola belirlersiniz. Parola Argon2id ile özetlenir ve yalnızca bu özet sistem anahtar deposuna (macOS Keychain, Windows Credential Manager, Linux Secret Service) yazılır.
Veritabanı oluşturun#
Esc ile menüyü açıp File → New ▸ Database... seçin. Ya da Ctrl+L ile alttaki komut satırına geçip şunu yazın:
>> create_local_database -f ./veri/magaza.ndbcmagaza.ndbc bir klasör olarak ve varsayılan olarak şifreli oluşturulur; anahtar sistem anahtar deposunda durur (bkz. Şifreleme). Varsa üzerine yazılmaz. Aynı veritabanını aynı anda yalnızca bir süreç açabilir. Eski sürümlerin tek dosyalı .ndbc'leri açılınca bu yapıya taşınır; eski dosya .v1 uzantısıyla yedek kalır.
Şema kurun#
create_schema -n uyeler editöre bir şablon koyar. Şablonu düzenleyip F5 ile çalıştırın:
create_schema('uyeler')
.fields({
'id': {type: string, max_length: 32, guid: true, primary_key: true},
'name': {type: string, max_length: 50},
'email': {type: string, max_length: 100, index: {unique: true}},
'birth': {type: date, format: 'dd.mm.yyyy'}
})
.commit();.commit() satırı olmadan şema yalnızca doğrulanır, oluşturulmaz. Doğrulamayı denemek için bu satırı silip F5'e basabilirsiniz.
Kayıt ekleyin ve sorgulayın#
from('uyeler').insert_one({name: 'Osman', email: 'osman@example.com', birth: '23.09.1981'});
from('uyeler').insert_one({name: 'Ayşe 🍉', email: 'ayse@example.com'});
from('uyeler')
.where({'email': 'osman@example.com'})
.fields('name', FORMAT('birth', 'dd-mm-yyyy'))
.get();id alanını vermediniz: guid: true olduğu için motor 32 karakterlik bir kimlik üretti. birth alanı dd.mm.yyyy biçimiyle saklandı; FORMAT onu başka bir biçimde gösterdi.
Sorguyu kaydedin#
Ctrl+S editördeki metni .nqf (nardb query file) dosyası olarak kaydeder. .nqf düz UTF-8 metindir; başka bir editörde de açılabilir. Shell'de tekrar açmak için File → Open Query File... ya da:
>> open_query -f ./sorgular/uyeler.nqf