İçeriğe geç

Data Builder

Archie Core Data Builder, veritabanı tablolarını, alan türlerini ve tablolar arasındaki ilişkileri tanımlamak için bir veri modelleme arayüzüdür.

Data Builder’ı açmak için kenar çubuğundaki Data Model (Veri Modeli) seçeneğine tıklayın, üzerinde çalışmak istediğiniz tabloyu seçin ve ardından Schema (Şema) sekmesine tıklayın.

alt text

Tanımlanan her tablo için, Archie Core GraphQL motoru otomatik olarak GraphQL şema nesne türlerini ve ilgili sorgu (query), mutasyon (mutation) ve abonelik (subscription) alanlarını çözümleyicilerle (resolvers) birlikte oluşturur.

Bu, tüm Oluşturma, Okuma, Güncelleme ve Silme (CRUD) eylemlerinin yanı sıra gerçek zamanlı bağlantıların (websockets) çalışma alanının benzersiz API uç noktası üzerinden hemen kullanıma hazır olduğu anlamına gelir.

Arka planda Archie Core, çalışma alanınız için özel bir PostgreSQL veritabanı örneği sağlar. PostgreSQL, güvenilirliği ve veri bütünlüğü ile bilinen gelişmiş bir açık kaynaklı nesne-ilişkisel veritabanıdır. Karmaşık sorguları verimli bir şekilde işler ve ACID uyumluluğunu (Atomiklik, Tutarlılık, İzolasyon, Dayanıklılık) tam olarak destekler.

Yeni bir tablo oluşturmak için + Add Table (+ Tablo Ekle) düğmesine tıklayın. Yeni tablolar için varsayılan ad “untitled_table” dır. Tüm tablolar benzersiz adlar gerektirir (attribute, workspace adları ve bunların çoğul halleri ayrılmıştır ve hiçbir harf büyüklüğünde kullanılamaz).

Bir tablo oluşturulduktan sonra, ilgili GraphQL şema türleri ve sorgu, mutasyon ve abonelik çözümleyicileri otomatik olarak oluşturulacaktır.

alt text

Bir tablo oluşturulduktan sonra alanlar ve ilişkiler tanımlanabilir. Bir tablodaki tüm güncellemeler gerçek zamanlı olarak yayınlanır ve bir veri modelini tanımlamak ile yüksek oranda kullanılabilir olması arasında sorunsuz bir deneyim sağlar.

Bir tablo güncellendiğinde, ilgili GraphQL şema türleri ve sorgu, mutasyon ve abonelik çözümleyicileri otomatik olarak güncellenecektir.

Tabloyla ilgili hataların ve yanlışlıkların en aza indirildiğinden emin olmak için Archie Core birçok zararlı eyleme karşı koruma sağlar. Bunlardan bazıları şunlardır:

  • Zorunlu olmayan bir alanı zorunlu olarak değiştirirken bir Default Value (Varsayılan Değer) gerektiren bir istem görünür.
  • Mevcut bir alan türü güncellendiğinde Tarih, Sayı ve Metin alanı değerleri otomatik olarak dönüştürülür.
  • Benzersiz olmayan bir alanı benzersiz olarak değiştirirken, mevcut kayıtlar benzersiz değerlere sahip olacak şekilde doğrulanır.

Bir tabloyu silmek için:

  1. Tablo adına gidin ve ... simgesine tıklayın.
  2. Delete this Table (Bu Tabloyu Sil) seçeneğine tıklayın.
  3. Bir onay iletişim kutusu açılır. Tablo adını yazın ve Delete (Sil) düğmesine tıklayın.

Tehlike: Silinen tablolar geri yüklenemez ve mevcut tüm tablo kayıtları kaybolur. Ayrıca, silinen tabloyla ilişkili tablolar varsa - belongs to (ait) ve has many (sahip), zorunlu olarak belirtilmiş olsun veya olmasın - bu ilişkiler kopacaktır.

alt text

Archie Core, ilişkisel veritabanlarından beklenenle uyumlu üç tür tablo ilişkisinin tanımlanmasını destekler:

TürA’dan B’yeB’den A’ya
bire birTablo A’daki kayıtlar, Tablo B’deki kayıtlara have_one (bir tanesine sahip olabilir) veya belong_to (ait olabilir).Tablo B’deki kayıtlar, Tablo A’daki kayıtlara have_one (bir tanesine sahip olabilir) veya belong_to (ait olabilir).
bire çokTablo A’daki kayıt, Tablo B’deki kayıtlara have_many (birçoğuna sahip olabilir).Tablo B’deki kayıtlar, Tablo A’daki kayıtlara have_one (bir tanesine sahip olabilir) veya belong_to (ait olabilir).

alt text

İki tablo arasında bir ilişki tanımlamak, bir tabloyu diğerinin üzerine sürükleyip bırakarak veya yeni bir tablo alanı oluştururken Veri Türü olarak Table (Tablo) seçilerek gerçekleştirilebilir.

Tablolar arasında has many, has one ve belongs to ilişkilerini belirtmek için.

Yapılandırmalar

  • Name: Hangi tablonun ilişkilendirileceğini seçmek için.
  • Related Table: İlişkinin ilgili tabloda göründüğü şekliyle adı.
  • Type: İlişkinin has one mı yoksa has many mi olduğu.
  • Description: Alan hakkında bilgi yazabileceğiniz isteğe bağlı bir metin kutusu.
  • Mandatory: Alan ilişkisinin gerekli olup olmadığı.

Üç tür tablo vardır: Özel (Custom), Görünüm (View) ve Veri Türü (Data Type).

Özel tablolar, bir yönetici tarafından herhangi bir çalışma alanında oluşturulan tablolardır. Tamamen özelleştirilebilirler.

Görünüm tabloları, birden fazla tablodaki alanları tek bir görünümde toplayan sanal tablolardır. Arka planda, bir SQL ifadesinin sonuç kümesine dayanırlar. Bir çalışma alanında, API Explorer’daki viewCreate GraphQL mutasyonu kullanılarak oluşturulabilirler.

Türler, birbirini dışlayan değerlerin statik, sıralı bir kümesini tanımlamanıza olanak tanır. Standart metin alanlarının aksine, bir Enum, veri girişini önceden tanımlanmış sabitlerden oluşan belirli bir listeyle sınırlar.

Yaygın örnekler arasında durum göstergeleri (örneğin, TASLAK, YAYINLANDI, ARŞİVLENDİ), kullanıcı rolleri veya kategori etiketleri bulunur.

Veritabanı şemanızda Enum’ları kullanmak birkaç önemli avantaj sunar:

  • Veri Bütünlüğü: Enum’lar veritabanı düzeyinde katı veri doğrulaması uygular. Alan yalnızca tanımlanan listedeki değerleri kabul ettiğinden, yazım hatalarından veya tutarsız adlandırma kurallarından kaynaklanan hataları ortadan kaldırır (örneğin, bir öncelik alanı için “Yüksek”, “yüksek” ve “Yük” karışımını önler).
  • Kod Tutarlılığı: İzin verilen değerler için tek bir doğruluk kaynağı sağlayarak uygulama mantığını daha öngörülebilir ve bakımı daha kolay hale getirirler.
  • Okunabilirlik: Enum’lar verileri kendi kendini açıklayıcı hale getirir. ODEME_BASARISIZ gibi bir değer, geliştiriciler ve analistler için hata_kodu: 3 gibi rastgele bir sayısal koddan çok daha anlamlıdır.
  • Performans: PostgreSQL’de, Enum’lar arka planda verimli bir şekilde saklanır ancak okunabilir dize olarak sunulur ve performans ile insan okunabilirliği arasında bir denge sunar.