İçeriğe geç
NarDBv0.2.0-dev

İ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.

Terminal
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:

Terminal
>> create_local_database -f ./veri/magaza.ndbc

magaza.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:

NarQL
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#

NarQL
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:

Terminal
>> open_query -f ./sorgular/uyeler.nqf