Turgay Can adlı üyeden alıntı

a- Değişik türde hayvanlar yaşamaktadır. Hayvanların bazı nitelikleri aynı olmakla beraber bazı nitelikleri de farklıdır.(Yaşam alanı gibi.)

ANIMAL
ID
ANIMAL_TYPE_ID(FK)
ANIMAL_SPEC_ID(FK)
NAME
..
.
.
(Ortak olan özellikleri sıralarsınız)


ANIMAL_TYPE(Bu tablo union bir tablo olmalı, PARENT_ID, ID'ye bağlanmalı)
ID(PK)
NAME
PARENT_ID(FK)
ANIMAL_SPEC_ID(FK)

ANIMAL_SPEC
ID
SPEC_NAME

Mantıksal olarak a'yı şöyle tasarladım.

ANIMAL ana tablomuz, buna baglı tür(ANIMAL_TYPE) ve farklı yani kendine has özellikler için (ANIMAL_SPEC) fakat biraz kalıtım(Inheritance) 'ı kullanacağınızı ön görerek ve şiddetle tavsiye ederek, ANIMAL_TYPE üzerinede ANIMAL_SPEC_ID ekledim. Sebebi şu ; Mesela sizin Van Kedisi türünde bir Kediniz olsun, bu Kedi'nin türüne has olan tüm özellikleri direkt olarak ANIMAL_SPEC üzerindende rahatça ulaşabilesiniz ve gereksiz yere her VAN Kedisi türünde bir kedi eklediğinizde tekrar tekrar aynı türdeki özellikleri girmezsiniz.

ANIMAL_TYPE üzerindeki union ilişkinin sebebi ise Tür'lerin alt türleri ve birbirine bağlu olarak devam eden bir ilişkisi var. Bu ilişkiyi sağlamak içindir.


Bence oldu, oldukçada güzel :)

Geri kalan için malesef vaktim yok. Yarın sınavım var, sınavım geçsin, Ctesi yada Pazar akşamı diğerlerinide kalırsa arkadaşlardan dizayn etmenize yardımcı olurum.

Bu arada şu üç tablo için mükemmel bir Object Oriented tasarım yapılabilir ;)

Sınav yada Ödev sorusunuda direkt buraya olduğu koymanda pek etik değil. Tavsitem önce kendin bir şeyler çıkar sonra, bu soruya böyle bir çözüm getirdim, eksik yada yanlış yönlerini biz bulup, yardımcı olalım ve böyle devam edelim.

Sevgi ile,


Selamlar, öncelikle cevabınız için çok teşekkür ederim. Kendim bir çalışma yaptım fakat doğruluğundan emin olamadım değilde, çok saçma olduğunu düşündüğüm için eklemek istemedim. Son paragrafta söylediklerinize tamamen katılıyorum ki bende olsam aynı yaklaşımı yapardım.

Ancak, şöyle bir durum var ki sınav yarın (3.6.2014) olduğu için ve bu soru elime dün (2.6.2014) de ulaştığı için, üzerinde çok kafa yormadan doğru çözüme ulaşmam gerekiyordu.

Tekrar yineliyorum, söylediklerinize tamamen katılıyorum, bende olsam aynı cevabı verirdim.