Edgedb Computed Properties

2023-04-12

Computed properties (hesaplanmış özellikler), veri modellerinde kullanılan çok yararlı bir kavramdır. Hesaplanmış özellikler, veritabanında saklanmayan ancak sorgulama esnasında hesaplanan özelliklerdir. Bu özellikler, veritabanı yapılarını daha esnek hale getirir ve verilerinizi daha verimli bir şekilde depolamanıza olanak tanır.

Edgedb, hesaplanmış özellikleri destekleyen modern bir veritabanı yönetim sistemidir. edgedb’de, hesaplanmış özellikleri tanımlamak için birkaç yöntem vardır.

Bir hesaplanmış özellik tanımlamak için, property ifadesini kullanarak bir özellik oluşturabilirsiniz. Özellik oluştururken, expr anahtar kelimesini kullanarak hesaplanmış özellik için bir ifade belirleyebilirsiniz. Örneğin:

type Person {
    required property first_name -> str;
    required property last_name -> str;

    # hesaplanmış özellik tanımlama
    property full_name := first_name ++ ' ' ++ last_name;
}

Bu örnekte, Person tipinde bir hesaplanmış özellik olan full_name oluşturduk. Bu özellik, first_name ve last_name özelliklerinin değerlerini birleştirerek hesaplanır.

Hesaplanmış özellikleri sorgularken, normal özellikler gibi kullanabilirsiniz. Örneğin, SELECT ifadesi kullanarak hesaplanmış bir özelliği sorgulayabilirsiniz:

SELECT Person {
    first_name,
    last_name,
    full_name,
}

Bu sorgu, Person tipindeki tüm kişilerin first_name, last_name ve full_name özelliklerini listeler.

Hesaplanmış özellikleri sorgularken, birçok farklı ifade kullanabilirsiniz. Örneğin, FILTER ifadesi kullanarak bir hesaplanmış özelliğe göre sorgulama yapabilirsiniz:

SELECT Person {
    first_name,
    last_name,
    full_name,
} FILTER .full_name = 'Ali Veli';

Bu sorgu, Person tipindeki tüm kişilerden full_name özelliği “Ali Veli” olanları listeler.

Edgedb, hesaplanmış özellikleri kullanarak veri modelinizi daha esnek hale getirmenize olanak tanır. Hesaplanmış özellikleri kullanarak verilerinizi daha verimli bir şekilde depolayabilir ve sorgulayabilirsiniz. edgedb, hesaplanmış özellikler konusunda oldukça esnek ve kullanımı kolay bir yapı sunar. Veri modelinizi optimize etmek için hesaplanmış özellikler kullanmayı düşünün ve edgedb’nin sağladığı olanaklardan faydalanın!



Bu gibi daha fazla gönderi...

Edgedb Computed Links

2023-04-12 | #edgedb #edgedb-links

Computed Links, iki nesne arasındaki ilişkileri tanımlamak için kullanılan bir yapıdır. Bu bağlantılar, ilişkilendirilmiş nesnelerin birbirine olan ilişkisini hesaplamak için tanımlanmış bir sorgu veya fonksiyon kullanarak oluşturulur. Bu yapı, veritabanında tutulan verilerin tutarlılığını sağlamak için oldukça yararlıdır. Computed Links, veriler arasında sıkı bir şekilde bağlantı kurmanın yanı sıra, veritabanında saklanan verilerin değiştirilmesi veya güncellenmesi durumunda bağlantıların otomatik olarak güncellenmesini sağlar. Ayrıca, sorgulama ve raporlama işlemlerini kolaylaştırmak için de kullanılabilir. Örneğin, bir Computed Link aracılığıyla iki nesne arasındaki ilişkiyi hesaplayarak, sorgulama işlemini daha verimli hale getirebilirsiniz.

Devamı 


Edgedb İlişkiler

2023-04-12 | #edgedb #edgedb-links #edgedb-multi-link

Edgedb’de iki tablo arasında ilişki kurmak için link anahtar kelimesi kullanılır. Linkler, bir objenin başka bir objeyle ilişkilendirilmesine izin verir. Örneğin, bir User tablosu ve bir Article tablosu varsa, Article tablosundaki her bir Article, bir Userya atfedilebilir. Bu durumda, User ve Article tabloları arasında bir ilişki kurabiliriz. İlk olarak, User tablosunda bir id özelliği tanımlarız. Bu özellik, kullanıcının benzersiz bir kimliğini temsil eder. type User { required property id -> uuid; property name -> str; } Ardından, Article tablosunda bir author özelliği tanımlarız.

Devamı 


Edgedb Exclusive Constraint

2023-04-12 | #edgedb #edgedb-constraints

Edgedb’de exclusive constraint (özel kısıtlama) terimi, belirli bir özelliğin benzersiz olmasını veya belirli bir aralıkta olmasını sağlayan bir kısıtlama türünü ifade eder. Örneğin, bir User objesinde email özelliğinin benzersiz olmasını sağlayan bir özel kısıtlama oluşturabilirsiniz. Böylece, her bir User’ın sadece bir kez kaydedilmesini sağlayabilirsiniz. Aşağıdaki örnekte, email özelliğinde benzersizlik sağlayan bir özel kısıtlama tanımlıyoruz: type User { required property id -> uuid; required property name -> str; exclusive constraint unique_email on (.

Devamı 