Edgedb Array Kullanımı

[en] Read in English

2023-04-11

Dizi veri tipi, tek bir veri yapısında birden çok veri öğesini saklamak için kullanılır. edgedb’de, dizileri tanımlamak için “array of” sözdizimi kullanılır. Örneğin, aşağıdaki örnek, colors adlı bir dizi tanımlar ve bu dizi, str türündeki renk isimlerini içerir:

CREATE TYPE Product {
  required property name -> str;
  required property colors -> array of str;
};

INSERT Product {
  name := "T-Shirt",
  colors := ["Red", "Green", "Blue"]
};

SELECT Product.colors;

Bu örnekte, Product adlı bir nesne tipi tanımlanır ve colors adlı bir dizi özelliği içerir. INSERT ifadesi, Product nesne tipindeki bir örneği oluşturur ve colors özelliğine üç farklı renk ismi içeren bir dizi atar. SELECT ifadesi, Product nesne tipindeki öğelerin colors özelliğini sorgular ve sonucu döndürür.

Diziler, veri tabanlarında kullanışlı bir veri yapısıdır. edgedb, dizileri işlemek için bir dizi özel işlemci işlevi sağlar. Bu işlevler, bir dizi içindeki öğeleri sıralamak, dizi içinde belirli bir öğe veya öğeleri aramak, bir dizi içindeki öğeleri filtrelemek, bir dizi içindeki öğeleri toplamak ve daha pek çok işlem yapmak için kullanılabilir.

Aşağıdaki örnekler, edgedb’deki dizi işlemlerini göstermektedir:

-- Bir dizi içindeki öğeleri sıralama
SELECT array_agg(User ORDER BY User.name);

-- Bir dizi içinde belirli bir öğe veya öğeleri arama
SELECT User FILTER User.name IN ["Ali", "Veli"];

-- Bir dizi içindeki öğeleri filtreleme
SELECT User FILTER User.name ILIKE "a%";

-- Bir dizi içindeki öğeleri toplama
SELECT SUM(array_agg(Product.price));

Bu örnekler, dizileri işlemek için kullanılabilen yalnızca birkaç örnek göstermektedir. edgedb, bir dizi içindeki öğeleri işlemek için daha pek çok işlev sağlar.



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ı 