Edgedb Property Kullanımı (Required, Optional)
2023-04-11
EdgeDB, nesne yönelimli programlama ve veri modelleme gibi kavramları PostgreSQL veritabanı sistemiyle birleştiren bir veritabanı yönetim sistemi olarak öne çıkıyor. EdgeDB, nesne modelleri oluşturmak için bir veri tanımlama dili kullanır ve bu modellerin özelliklerinin belirtilmesi gerekiyor. Bu özellikler, zorunlu veya isteğe bağlı olabilir. Bu makalede, EdgeDB’deki zorunlu ve isteğe bağlı özelliklerin ne olduğunu ve nasıl kullanıldığını açıklayacağız.
Zorunlu özellikler, bir nesnenin oluşturulması için gerekli olan özelliklerdir. Bir zorunlu özellik olmadan bir nesne oluşturulamaz. Örneğin, bir kullanıcının adı veya e-posta adresi bir kullanıcının oluşturulması için gerekli zorunlu özelliklerdir.
Zorunlu özelliklerin tanımlanması, özelliklerin tanımlandığı yerde yapılır. Bu özellikler, sözdizimi olarak required
anahtar kelimesi ile tanımlanır. Örneğin, bir kullanıcının adı zorunlu bir özellik olarak tanımlanabilir:
type User {
required property name -> str;
}
Bu tanımlama, bir kullanıcının adının str
veri tipinde zorunlu bir özellik olduğunu belirtir.
İsteğe bağlı özellikler, bir nesne için isteğe bağlı olan özelliklerdir. Bu özellikler, bir nesnenin oluşturulmasında veya sorgulanmasında belirtilmeyebilir. Örneğin, bir kullanıcının yaş veya telefon numarası gibi isteğe bağlı özellikleri olabilir.
İsteğe bağlı özelliklerin tanımlanması, özelliklerin tanımlandığı yerde yapılır ve sözdizimi olarak optional
anahtar kelimesi kullanılır. Örneğin, bir kullanıcının yaşının isteğe bağlı bir özellik olarak tanımlanması şöyle görünebilir:
type User {
required property name -> str;
optional property age -> int16;
}
Bu tanımlama, bir kullanıcının yaşının int16
veri tipinde isteğe bağlı bir özellik olduğunu belirtir.
Zorunlu ve isteğe bağlı özellikler, EdgeDB’de nesne oluşturulması ve sorgulanması sırasında kullanılır. Bir nesne oluşturulurken, zorunlu özelliklerin tümü belirtilmelidir. İsteğe bağlı özelliklerin belirtilmesi isteğe bağlıdır. Örneğin, bir kullanıcı nesnesi oluşturulduğunda, kullanıcının adı zorunlu bir özellik olduğu için belirtilmelidir. Yaş ise isteğe bağlı bir özellik olduğu için belirtilmeyebilir:
INSERT User {
name := 'Ali Veli',
age := 35,
}
Bir nesne sorgulanırken, zorunlu özellikler her zaman mevcut olmalıdır. İsteğe bağlı özelliklerin sorgulama sırasında belirtilmesi isteğe bağlıdır. Örneğin, bir kullanıcının adını sorgulamak için aşağıdaki gibi bir sorgu yapılabilir:
SELECT User.filter(name = 'Ali Veli').name;
Yaş gibi isteğe bağlı özelliklerin sorgulanması, sorgu sırasında belirtilmesiyle yapılabilir:
SELECT User.filter(name = 'Ali Veli').age;
EdgeDB’deki zorunlu ve isteğe bağlı özellikler, nesne modellemesi yaparken oldukça önemlidir. Zorunlu özellikler, bir nesnenin oluşturulması için gerekli olan özellikleri tanımlamak için kullanılırken, isteğe bağlı özellikler bir nesne için opsiyonel olan özellikleri tanımlamak için kullanılır. Bu özellikler, nesnelerin oluşturulması ve sorgulanması sırasında kullanılır ve EdgeDB’de nesne modellemesi yaparken bilinmesi gereken önemli kavramlardan biridir.