İlişkisel Veri Tabanı Oluşturulması

Forumlar Service Studio İlişkisel Veri Tabanı Oluşturulması

  • Bu konu 0 yanıt içerir, 1 izleyen vardır ve en son 2 yıl önce BAYPM tarafından güncellenmiştir.
  • Post
    BAYPM
    Moderatör

    Outsystems’ de İlişkisel Veri Tabanı Nasıl Oluşturulur?

    İlişkisel veri tabanlarında temel olarak 3 çeşit ilişki vardır. Bunlar “1’e 1”, “1’e çok” ve “çoka çok” tur.

    1’e 1 ilişkinin karşınıza çıkabilecek farklı gösterimleri 1-1, “1 to 1” olabilir.

    1’e çok ilişkinin farklı gösterimleri “1 to Many”, 1-M, 1-N olabilir.

    Çoka çok ilişkinin farklı gösterimleri “many to many” ya da m-m, n-n olabilir.

    Bu üç farklı ilişki türünü bir örnek üzerinden inceleyelim. Farz edelim ki elimizde bir kütüphane var ve biz içerisindeki kitapları saklayabileceğimiz bir veri tabanı tasarlamak istiyoruz. Kitapları türlerine göre yazarlarına göre yayın evlerine göre tutmak mantıklı olacaktır. Bir kitap türüne ait ya da bir yazara ait tüm kitapları sorgulayabiliriz bu şekilde.

    İhtiyaç duyduğumuz tablolar;

    Kitap: ilgili kitaba ait başlık, özet, sayfa sayısı gibi bilgileri tutar.

    KitapTur: içerisinde farklı kitap türlerini barındırır. (statik)

    Yayinevi: yayın evine ait isim ve adres bilgilerini tutar

    Yazar: yazara ait isim soy isim ve doğum tarihi bilgilerini tutar.

    Biyografi:  ilgili yazara ait biyografi metnini tutar.

    İşe yazar tablosunu oluşturarak başlayalım. Data kısmından Entities->Database altına ekleyebiliriz.

    Add Entitiy diyerek yeni bir tablo oluşturuyorum ve ismini Yazar olarak değiştiriyorum. Yazara sağ tıklayarak “Add Entity Attribute” seçerek yeni bir alan ekleyebilirim. ( Örn: Name: Ad: Data Type: Text)

    Burada dikkat edilmesi gereken KitapTur statik bir tablodur.

    Record’a sağ tıklayıp Add Record diyerek yeni türler ekleyebiliriz.

    Tüm tabloları ve onlara ait alanları da doldurduğumuzda bu şekilde görünen bir veri tabanımız olacaktır.

    Şimdi aralarındaki ilişkileri belirleyelim.

    1-1:  Bir biyografi yalnızca bir yazara ait olabilir.

    1-n: Bir yayın evinin birden fazla kitabı olabilir fakat bir kitap yalnızca bir yayın evine aittir.

    Bir kitaptürü birden fazla kitaba ait olabilir fakat bir kitabın yalnızca bir kitap türü vardır.

    n-n  Bir Yazarın birden fazla kitabı olabilir. Bir kitabın birden fazla yazarı olabilir.

    Biyografi-Yazar arasındaki 1-1 ilişki için biyografinin ıd sini değiştirmemiz yeterli. Bu sayede biyografi ait olduğu yazarı gösterecektir. Delete Rule olarak Delete seçiyorum. Bu sayede yazar silinirse onu işaret eden biyografi de sistemden otomatik silinecek.

    1-n ilişkiler için kitap tablosuna yeni iki alan eklemem gerekiyor. İsimleri YayineviId ve KitapTuruId. Data Type’ları ise sırasıyla Yayınevi Identifier ve  KitapTuru Identifier. Veri tabanımda yayinevi belirsiz kalmış bir kitap tutmak istemediğim için YayineviId ye ait Delete Rue : Protect olarak seçiyorum. Kitap kaydında kitap türü null kalabilir o sebeple ignore seçiyorum.

    Son olarak m-m ilişkisi için yeni bir entity açmamız gerekiyor. İsim kısmına KitapYazar yazabiliriz. İki adet yeni alan ekliyoruz. KitapId ve YazarId. Data Type sırası ile Kitap Identifier ve Yazar Identifier.

    Bir yazara ait kitaplara ulaşmamız gerektiğinde köprü görevi görecek bir tablo oluşturduk.

    Bu şekilde 3 ilişki çeşidini de içeren veri tabanımızı oluşturmuş olduk.

     

    • Bu konu 2 yıl önce önce BAYPM tarafından değiştirildi.
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.