Edgedb Exclusive Constraint
[en] Read in English 2023-04-12
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 (.email);
property email -> str;
}
Bu örnekte, User
objesi için bir “unique_email” özel kısıtlaması tanımladık. Bu kısıtlama, email
özelliğinde benzersizlik sağlar. on
anahtar kelimesi, hangi özelliğin benzersiz olması gerektiğini belirtmek için kullanılır. Bu durumda, .email
kullanarak email
özelliğini belirttik.
Özel kısıtlamalar, birden çok özelliği içerebilir ve bu özelliklerin kombinasyonlarında benzersizlik sağlayabilir. Örneğin, bir
User
objesi için email
ve phone
özelliklerinin birleşiminde benzersizlik sağlamak istiyorsanız, aşağıdaki örnekte olduğu gibi bir özel kısıtlama tanımlayabilirsiniz:
type User {
required property id -> uuid;
required property name -> str;
exclusive constraint unique_email_phone on (.email, .phone);
property email -> str;
property phone -> str;
}
Bu örnekte, User
objesi için unique_email_phone
özel kısıtlaması tanımladık. Bu kısıtlama, email
ve phone
özelliklerinin birleşiminde benzersizlik sağlar.