İlişkisel Veritabanları¶
Süreç yapılandırılmış tablo depolamaya, paylaşılan başvuru verilerine veya yalnızca XML veri modelinde temsil edilmesindense şemalarda daha iyi temsil edilen raporlama odaklı varlıklara ihtiyaç duyduğunda ilişkisel veritabanlarını kullanın.
İlişkisel veritabanları, yapılandırılmış verileri depolamak için iş uygulamalarında yaygın olarak kullanılır. Özellikle, işlemlerin genellikle diğerlerini etkilemeden verilerin yalnızca küçük bir alt kümesini etkilediği çok sayıda küçük ve yapılandırılmış varlığın yönetimi için uygundur. Diğer veritabanı türlerinden farklı olarak ilişkisel veritabanları, veri bütünlüğünü ve tutarlılığını sağlamak için önceden tanımlanmış bir şema gerektirir. Emakin sistemi tarafından yönetilen bu şema, veritabanı yapısını tanımlar; elle değiştirilmesi gerekmez ve değiştirilmesi önerilmez.
Şema Tanımı¶

Şema, veritabanının yapısını tanımlar. Tablolardan, alanlardan (sütunlardan) ve tablolar arasındaki ilişkilerden oluşur.
Şema Yapısı¶
Şema, ortak bir bağlamı paylaşan ve veritabanı içindeki tablolardan oluşan bir koleksiyondur. Her şema, veritabanındaki diğer şemalardan ayırt edilmesini sağlayan benzersiz bir önekle tanımlanır. Şema adı, veritabanı sorgularının ayrılmaz bir parçasıdır.
Tablo Yapısı¶
Tablo, her satırın bir kaydı temsil ettiği yapılandırılmış bir satır kümesidir. Tablodaki sütunlara alan denir. Tablo adları ilgili şema içinde benzersiz olmalıdır.
Alan Tanımı¶
Alanlar, tablonun sütunlarını temsil eder. Her alanın bir adı, veri türü ve (uygulanabildiği durumlarda) boyutu vardır. Desteklenen veri türleri şunlardır:
- Sınırlı Metin: Önceden belirlenmiş boyut sınırına sahip metin alanı. Birden çok dili destekler.
- Tamsayı: Tamsayı değerleri (ör. 4, 10000, -10000).
- Ondalıklı Sayı: Ondalık sayılar (ör. 4.5, 10000.5, -10000.5).
- Para: Para birimi değerleri (ör. 4.5, 10000.5, -10000.5).
- Yes/No: Boole değerleri (true/false).
- DateTime: Tarih ve saat değerleri (ör. 2020-01-01 12:00:00).
- Tarih: Tarih değerleri (ör. 2020-01-01).
- Saat: Saat değerleri (ör. 12:00:00).
- Benzersiz Tanımlayıcı: Evrensel olarak benzersiz tanımlayıcılar (UUID'ler) (ör. 123e4567-e89b-12d3-a456-426614174000).
- Metin: Boyut sınırı olmayan metin alanı.
- XML: XML verisi.
- İkili: İkili veri.
Info
Emakin, geniş dil desteği sağlamak için tüm metin alanlarında Unicode karakter kümelerini kullanır.
Dizinler¶
Dizinler, verilerin alınmasını önemli ölçüde hızlandırır. Bir tablodaki bir veya daha fazla alan üzerinde oluşturulabilir. Her tabloda, her satır için benzersiz tanımlayıcı görevi gören birincil anahtar dizini yerleşik olarak bulunur. Sorgu performansını daha da iyileştirmek için diğer alanlarda ek dizinler tanımlanabilir.
İlişkiler¶
İlişkiler, tabloların nasıl bağlandığını tanımlar. İlgili verileri almak üzere sorgularda tabloların birleştirilmesini sağlar. İlişkiler, tablolar arasındaki alanlara uygulanan kısıtlamalar aracılığıyla kurulur. Bu kısıtlamalar basit eşitlikten daha karmaşık çok alanlı karşılaştırmalara kadar değişebilir.
Örneğin, hedef olarak Customers tablosu seçildiğinde aşağıdaki ifadeler eşlenen verileri alır:
Name->Customers.NameOrders.Amount->Orders.AmountOrders.Product.Name->Products.Name
Sorgu ifadeleri hakkında ayrıntılı bilgi için lütfen Sorgu belgelerine bakın.
Şema Paylaşımı ve Yönetimi¶
Birden çok süreç tanımı, ilişkisel veritabanı şemasının tanımına katkıda bulunabilir. Her süreç tanımı, kullandığı tabloları ve alanları belirtir. Süreç dağıtıldığında, şemada tanımlı olup henüz veritabanında bulunmayan tablolar ve alanlar otomatik olarak oluşturulur.
Birden çok süreç aynı şemayı paylaşabileceğinden, tüm tablolar ve alanlar tek bir paylaşılan şemada birleştirilir. Bu paylaşılan şemaya, ona başvuran tüm süreç tanımları erişir.

Mevcut şemalar başlangıç noktası olarak veritabanından içe aktarılabilir. İçe aktarılan şemalar düzenlenebilir; yeni tablolar ve alanlar eklenebilir ancak mevcut olanlar silinemez.
Note
Gereksiz veri depolama ve performans yükünü önlemek için her süreç tanımına yalnızca gerekli tabloları ve alanları ekleyin. Yinelenen şema tanımlarından kaçının.
İş Akışı Verilerini Çoğaltma¶
XML form verilerinin veya vaka profili verilerinin ilişkisel tablolara kopyalanması gerektiğinde Replication Maps'i kullanın. Replication map'ler, bir süreç ya da içerik türü kaynağını hedef şema ve tabloya bağlar; ardından XML ve çalışma zamanı bağlamı değerlerinin sütunlara nasıl yazılacağını tanımlar.