11 Ağustos 2013 Pazar

Tablo Kalıtımı (Table Inheritance) Bölüm 3 : Uygulama - Temel ve Türetik Tablo Yaratma

İki Tablo Yaratmak


Bu bölümde önceden belirttiğimiz temel tablo TabInsan ve ondan türeyen türetik tablo TabOgretmeni olışturacağız.

TabInsan tablosunu oluşturmak için:


1. AOT'de DataDictionary düğümünü açın ve Tables düğümünü sağ klikleyin ve New Table seçeneğini seçin.
2. Açılan Properties penceresinde Name özelliğinin değerini TabInsan olarak değiştirin.
3. SupportInheritance özelliğinin değeri için açılan listesinden Yes değerini seçin.


  • Dikkat! Eğer SupportInheritance özelliğinin değerini Yes olarak seçemiyorsanız bunun nedeni tabloda halihazırda başka alanlar olmasından kaynaklanabilir. Değeri Yes olarak seçebilmeniz için öncelikle bu alanları silmelisiniz.

TabOgretmen tablosunu oluşturmak için:


1. TabOgretmen adında yeni bir tablo oluşturun.
2. SupportInheritance özelliğinin değeri için açılan listesinden Yes değerini seçin.

TabInsan temel tablosuna alanlar ekleme


Bu bölüme TabInsan tablosuna yeni alanlar ekleyeceğiz. Kalıtım kuralları gereği temel tabloya bir adet Int64 tipinde alan eklenmesi zorunludur. Sistem bu alanı, temel tablodaki her bir satırı türetik tablodaki satırlar ile eşleştirmek için kullanır. Birden çok türetik tablo aynı temel tablodan türeyebileceği için bu gereklidir.

TabInsan tablosuna alanlar eklemek için:

Buraya kadarki haliyle TabInsan tablosunu kaydetip derlediğinizde aşağıdaki hatayı verecektir:

Bu hatayı geçmek için Int64 için InstanceRelationType adında bir alan oluşturmamız gerekli.


1. TabInsan tablo düğümünü açın ve fields alanına sağ klikleyin ve New seçeneğini seçin. Ardından Int64'ü klikleyin.
2. Açılan Properties penceresinde Int64 tipindeki alanın Name özelliğinin değerini InstanceRelationType olarak değiştirin.
3. Date tipinde yeni bir alan ekleyin ve Name özelliğinin değerini DogumTarihi olarak değiştirin.
4. DogumTarihi alanının Properties penceresinden Mandatory özelliğinin değerini Yes olarak değiştirin.
5. String tipinde yeni bir alan ekleyin ve Name özelliğinin değerini İsim olarak değiştirin.
4. İsim alanının Properties penceresinden Mandatory özelliğinin değerini Yes olarak değiştirin.


Tablolardaki diğer kalıtım özellikleri


Bu bölümde tablolar arasındaki kalıtım ilişkisini sağlayabilmek için ilgili tablo özelliklerini belirleyeceğiz.

Sistem TabInsan temel tablosundaki bir alanı, kendisinden türeyen tabloların karşılık gelen satılarının tablosunun idsini tutmak için kullanır. Bu alan Int64 olmak zorundadır.

Extends özelliğinin TabOgretmen tablosu özelliklerinden tıpkı sınıflardaki classDeclaration metodunda olduğu gibi TabInsan olarak ayarlanması gerekir.

Tablolarda kalıtımı özelliğini ayarlamak için:


1. TabInsan tablosunun özellikler ekranından InstanceRelationType özelliğini InstanceRelationType olarak ayarlayın.
* Bu özelliği ayarladıktan sonra tablonuzu tekrar kaydetip derlediğinizde yukarıda aldığınız hatanın artık olmadığını göreceksiniz.
2. TabOgretmen tablosunun özellikler ekranından Extends özelliğini TabInsan olarak değiştirin.

TabOgretmen Tablosuna Yeni Alanlar Ekleyin


Bu bölümde TabOgretmen tablosuna yeni alanlar ekleyeceğiz.

TabOgretmen tablosuna yeni alanlar eklemek için:


1. TabOgretmen türetik tablosuna Okul isimli String tipinde bir alan ekleyin.
2. Açılan özellikler ekranından Mandatory özelliğininin değerini Yes olarak değiştirin.

* Not: Türetik tablolarda temel tabloda var olan bir alan ismini yeniden kullanamazsınız.

Hiç yorum yok:

Yorum Gönder