From: Fuat Altun (faltun@iso.org.tr)
Date: Fri 27 Feb 2004 - 06:17:52 EST
Merhabalar,
FIRMA adinda bir tablo tasarlamaktayim.
Bu firmanin 8 farkli durumu olabilmekte (kapali, acik, borclu,
icarli,blokeli, holdinge bagli.....)
Fakat ayni anda bu durumlardan bir cogu secili olabilir. Yani firma hem
acik, hem holdinge bagli hem borclu hem blokeli olabilir.
Bu durumda FIRMA tablosunu tasarlerken 3 yol aklima geliyor.
1. yol: (bence en kotu)
FIRMA tablosu icinde her bir durum icin 8 ayri boolean alan alan tanimlamak.
Yani firma_acikmi, firma_blokelimi....firma_kapalimi gibi.
2. yol
tek bir firma_durumu alani tanimlayarak bunlarin degerini bir byte' mis gibi
yonetmek. Yani eger firma hem acik, hem holdinge bagli hem borclu hem
blokeli ise
bu 00001101 (birler secili ozellikler) gibi bir degeri isaret edecek ve
firma_durumu=1+4+8+=13 olacak. Tabi veritabanından veriyi cekerkende bunlari
ikili duzene gore
ayristirmak lazim.Ama sorgulamalarda hiz kazandiracaktir.
3.yol
secili durumlari ayri bir tabloda tutmak. Yani eger firma hem acik, hem
holdinge bagli hem borclu hem blokeli ise bunlari FIRMA_DURUMLARI diye ayri
bir tabloya yazmak.
FIRMA_DURUMLARI (firma_kodu,durum_kodu) alanlarindan olusacaktir. Ama
sorgulama yaparken relationlardan dolayi yavas olabilir.
Sormak istedigim relational teoriye gore hangisi daha dogru bir yaklasimdir?
Siz hangi yolu tercih ederdini?
Yada baska bir oneri
Tsk.