Delete Rule Kullanım Mantığı

Forumlar Service Studio Delete Rule Kullanım Mantığı

  • Post
    BAYPM
    Moderatör

    Outsystems’de “Delete Rule” Nedir? Nasıl Belirlenir?

    Delete Rule başka bir tabloyu referans olarak tutan alanlara ait bir özelliktir. İşaret edilen tablonun silinme durumlarındaki davranışa karar vermemize yarar. 3 seçenek vardır.

    ·        İşaret edilen tablonun silinmesini engellemek (Protect),

    ·        Silinmesine izin vermek ve böylece referansımız “null” olacaktır (Ignore),

    ·        Referans silinirse mevcut tablonun da silinmesi (Delete).

    Örnek üzerinden anlatmak gerekirse, elimizde 2 adet tablo olsun. Yazar ve Kitap. Yazar tablosunda yazara ait ad, soyad ve doğum tarihi, Kitap tablosunda başlık, özet, sayfa sayısı ve kitabın yazarını tutalım.

    Dikkat ederseniz örneğin SayfaSayisi alanında Delete rule gibi bir seçenek yoktur. Bu özellik sadece referans tutan alanlar içindir. Eğer bir referans alanınız var ise mutlaka Delete Rule seçeneğini uygun senaryoya göre doldurmanız gerekir.

    Oldukça basit bir sorunun cevabını arıyoruz.

    Yazar silinmek istenirse onu işaret eden kitap alanına ne olsun?

    Bu sorunun cevabı sizin Delete Rule seçeneğinizi belirleyecektir.

    Protect:

    Yazarsız hiçbir kitap tutmak istemiyorsam veri tabanımda Protect seçebilirim. Bu şekilde yazar silinemez. Uygun uyarıları önceden de hazırlayabilir ve kullanıcıyı karmaşık uyarılarla muhatap etmeyebilirsiniz. Örneğin “Bu yazar kayıtlı bir kitap kaydında kullanılmaktadır bu sebeple silinemez “ şeklinde.  Eğer bu durumu kendiniz kontrol edip, uyarı mesajınızı yazmaz iseniz server tarafından yakalanan bu durum şu şekilde size iletilecektir.

    Not: Eğer yazarımız hiçbir kitapta referans olarak kullanılmıyorsa silinebilir. Referans edilmekte olan yazarlar için koruma mevcuttur.

    Delete:

    Eğer yazar silinmek istenirse hem yazarı hem de o yazarı tutan kitapları silmek istersek bu seçeneği kullanabiliriz. Örneğimize daha uygun başka bir senaryo olarak Kullanıcı ve Yorum şeklinde 2 tablomuz olduğunu varsayalım.  Bir kullanıcı silindiğinde ona ait yorumların da sistemsen silinmesini istersek Delete seçilebilir.

    Ignore:

    Yazar silinir ve Kitap var olmaya devam eder. Kitap tablosunda YazarId alanında silinen yazarın ıd numarası kalır fakat kalan ıd numarasını kullanan yazar yoktur.

    Ignore değeri, bilgi bütünlüğünü garanti etmez ve bu nedenle, hiçbir veri tabanı kısıtlaması oluşturulmaz.

  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.