Referans Bütünlüğü, bir veritabanındaki ilgili tablolar arasında veri tutarlılığı ve mantıksal bütünlüğü sağlayan ilişkisel veritabanı yönetim sistemlerinin (RDBMS) temel bir yönüdür. İlişkisel veritabanları bağlamında referans bütünlüğü, çeşitli tablolardaki birincil anahtarlar ile yabancı anahtarlar arasındaki ilişkileri yöneten ve bu tablolarda depolanan verilerin geçerli, tutarlı olmasını ve önceden tanımlanmış bir şemaya uygun olmasını sağlayan kısıtlamalar ve kurallar kümesini ifade eder. Referans bütünlüğünün korunması, bir veritabanındaki verilerin doğruluğunu ve güvenilirliğini korumak, ilişkisel bir veritabanı modelinde varlıklar arasındaki ilişkilerin yanlış yönetilmesi nedeniyle ortaya çıkabilecek anormallikleri, veri bozulmalarını ve veri tutarsızlıklarını önlemek için esastır.
Referans bütünlüğünün oluşturulması, başka bir ilgili tablodaki birincil anahtara referans veren bir tablodaki sütunlar olan yabancı anahtarlar üzerindeki kısıtlamaların tanımlanmasını içerir. Bu kısıtlamalar, ilgili tablolardaki kayıtların nasıl eklenebileceğini, güncelleştirilebileceğini veya silinebileceğini belirleyen belirli kuralları zorunlu kılar. Referans bütünlüğüyle yaygın olarak ilişkilendirilen üç kısıtlama türü, referans kısıtlamaları, etki alanı kısıtlamaları ve kullanıcı tanımlı kısıtlamalardır. Referans kısıtlamaları, bir üst tablodaki bir kayda bir alt tablodaki kayıt tarafından referans verildiğinde, başvurulan değerin ana tabloda mevcut olması gerektiğini garanti eder. Etki alanı kısıtlamaları, bir tablodaki bir öznitelik veya sütun için izin verilen değerleri kısıtlar ve kullanıcı tanımlı kısıtlamalar, veritabanı tasarımcısı tarafından uygulama başına uygulanan ek özel kurallardır.
Referans bütünlüğünün uygulanması, özellikle AppMaster platformu gibi birbirine bağlı ve etkileşimli bir ortamda, karmaşık veritabanı sistemlerinde veri doğruluğunun korunması için çok önemlidir. AppMaster kullanıcıların ölçeklenebilir, bakımı yapılabilir ve yüksek performanslı uygulamalar oluşturmak için gerekli olan ilişkisel veritabanı şemalarını, iş süreçlerini ve REST API'lerini görsel olarak tasarlamasına olanak tanır. Veri tabanı varlıkları arasındaki ilişkilerin yanlış yönetilmesi veri bozulmasına, veri tutarsızlıklarına ve uygulama işlevselliğinin bozulmasına yol açabileceğinden, AppMaster tarafından oluşturulan uygulamalarda referans bütünlüğünün sağlanması hayati önem taşımaktadır.
İlişkisel veritabanı sistemlerinde referans bütünlüğünü uygulamak için çeşitli mekanizmalar mevcuttur. En popüler yaklaşımlardan biri, referans eylemleri olarak da bilinen basamaklı eylemlerin kullanılmasıdır. Bu eylemler, bir üst tablodaki başvurulan kayıt güncellendiğinde veya silindiğinde, alt tablodaki ilgili verilerin nasıl işlenmesi gerektiğini belirtmek için kullanılır. Dört yaygın basamaklı eylem şunlardır:
- CASCADE: Ana tablodaki değişiklikleri alt tablodaki ilgili kayıtlara yayar. Ana tablodaki bir kayıt silindiğinde veya güncellendiğinde ilgili tüm alt kayıtlar da otomatik olarak silinir veya güncellenir.
- SET NULL: Üst tablodaki başvurulan kayıt silindiğinde veya güncellendiğinde ilgili alt kayıtlardaki yabancı anahtar değerlerini NULL olarak ayarlar. Bu eylem, alt kayıt verilerini korumanın gerekli olduğu ancak üst ve alt kayıtlar arasındaki ilişkinin koptuğu durumlarda faydalıdır.
- SET DEFAULT: Ana tablodaki başvurulan kayıt silindiğinde veya güncellendiğinde, ilgili alt kayıtlardaki yabancı anahtar değerlerini ilgili varsayılan değerlerine ayarlar. Bu eylem, yabancı anahtar alanının varsayılan değerinin uygulama bağlamında belirli bir anlama sahip olduğu durumlarda faydalıdır.
- EYLEM YOK: Ana tablodaki başvurulan kayıt silindiğinde veya güncellendiğinde ilgili alt kayıtlar üzerinde herhangi bir işlem yapılmamasını sağlar. Bunun yerine veritabanı, referans bütünlüğünü ihlal ediyorsa işlemi reddeder.
Basamaklı eylemlere ek olarak, referans bütünlüğünü sağlamak için tetikleyiciler kullanılabilir. Tetikleyiciler, genellikle bir veritabanı programlama dilinde (örneğin, PL/SQL, T-SQL veya PL/pgSQL) yazılan ve INSERT, UPDATE, DELETE veya gibi belirli olaylara yanıt olarak otomatik olarak yürütülebilen prosedürel kod bloklarıdır. TRUNCATE işlemleri. Tetikleyiciler, önceden tanımlanmış kısıtlamaların ve basamaklı eylemlerin yeterli olmadığı durumlarda özel doğrulama gerçekleştirmek veya referans bütünlüğünü korumak için kullanılabilir.
AppMaster tarafından oluşturulan uygulamalar, çeşitli kısıtlama türlerini, basamaklı eylemleri ve tetikleyicileri kullanarak referans bütünlüğünü tanımlamak ve uygulamak için kapsamlı destek sağlayan PostgreSQL uyumlu veritabanını birincil veritabanı olarak kullanır. Sonuç olarak, AppMaster tarafından oluşturulan uygulamalar, veri tutarlılığını, bütünlüğünü ve doğruluğunu korurken veri yoğunluklu, kurumsal düzeyde çözümler oluşturmak için güçlü ve sağlam bir temel sağlayabilir.
Ayrıca, 30 saniyeden kısa sürede yeni uygulama setleri oluşturma yeteneği ve uygulamaların sürekli olarak sıfırdan yenilenmesi yoluyla teknik borcun ortadan kaldırılması, gereksinimler ve veritabanı şemaları zaman içinde geliştiğinde bile referans bütünlüğünün korunmasını sağlar. Bu nedenle AppMaster platformu, modern yazılım geliştirmede yaygın olarak karşılaşılan karmaşık ilişkiler ve veri yönetimi zorluklarının üstesinden gelmek için iyi bir donanıma sahiptir ve bu da onu güçlü referans bütünlüğü garantileriyle ölçeklenebilir, bakımı yapılabilir ve yüksek performanslı uygulamalar oluşturmak için güvenilir bir seçim haline getirir.