Edgedb Object Veri Tipi

[en] Read in English

2023-04-11

EdgeDB, bir nesne yönelimli veritabanı yönetim sistemi olarak tanımlanabilir. Veriler, nesne tipleri olarak tanımlanır ve bu tipler nitelikler ve yöntemlerle birlikte belirlenir. Bu makalede, EdgeDB’nin object tipi hakkında ayrıntılı bir açıklama yapılacaktır.

Object tipi, EdgeDB’deki nesne tiplerinden biridir. Bir EdgeDB nesnesi, bir sınıf gibi düşünülebilir ve bu nesnelerin nitelikleri ve yöntemleri vardır. Object tipi, bu nitelikleri ve yöntemleri bir arada tutarak, bir nesne tipinin özelliklerini tanımlar.

Örneğin, bir Person nesne tipi, name (isim), age (yaş) ve email (e-posta) gibi nitelikleri içerebilir. Ayrıca, bir Person nesnesi için get_oldest_sibling (en yaşlı kardeşi al) veya send_email (e-posta gönder) gibi yöntemler de tanımlanabilir.

Object tipi, EdgeQL sorgularında kullanılabilir ve EdgeDB’ye yeni nesne tipleri eklemek için kullanılabilir. Aşağıdaki örnek, Person nesne tipinde bir nesne oluşturur:

CREATE TYPE Person {
  required property name -> str;
  required property age -> int64;
  optional property email -> str;
};

Bu örnek, Person nesne tipinde bir nesne oluşturmak için kullanılır. name niteliği zorunlu bir str türüdür, age niteliği zorunlu bir int64 türüdür ve email niteliği opsiyonel bir str türüdür. Bu nesne tipi, bir Person nesnesi için tanımlanan nitelikleri ve yöntemleri içerir.

Object tipi, EdgeDB’nin nesne yönelimli veritabanı yönetim sistemi olarak güçlü bir şekilde çalışmasını sağlar. Nesne tipleri, verilerin daha kolay organize edilmesine ve veriler arasındaki ilişkilerin daha iyi yönetilmesine olanak tanır.

Object tipi ayrıca, EdgeDB’deki sorgu diline uyumlu olduğundan, sorgu işlemlerinin daha kolay ve doğrudan yapılmasını sağlar. Nesne yönelimli bir yapıya sahip olduğu için, EdgeDB’nin kullanıcıları, programlama dillerinde kullanılan nesne yönelimli paradigmayla daha aşina oldukları için daha rahat bir kullanım sağlayabilirler.

Nesne tipleri, verilerin yeniden kullanılabilirliğini ve daha az tekrar kod yazılmasını sağlar. Aynı nesne tipindeki birçok nesne, aynı niteliklere ve yöntemlere sahip olduğundan, bu nesneleri kullanırken kod tekrarının önüne geçilir.

Object tipi, EdgeDB’nin PostgreSQL’in veri saklama ve sorgulama yeteneklerini kullanarak, nesne yönelimli programlama ve veri modelleme özelliklerini sağlamasına olanak tanır. Bu, kullanıcıların verileri daha kolay yönetmesini ve sorgulamalarını yapmasını sağlar.

EdgeDB’nin object tipi, verilerin daha iyi organize edilmesine ve daha iyi yönetilmesine olanak tanıyan güçlü bir araçtır. Bu tip, nesne yönelimli programlama ve veri modelleme özelliklerini EdgeDB’ye entegre eder ve kullanıcılara daha kolay ve doğrudan sorgulama işlemleri yapma imkanı sağlar.

EdgeDB’nin object tipi, verilerin daha esnek ve yeniden kullanılabilir hale getirilmesini sağlar. Bu tip, EdgeDB’nin PostgreSQL’in veri saklama ve sorgulama yetenekleri ile birleştirilerek, güçlü bir nesne yönelimli veritabanı yönetim sistemi sunar.



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