[linux-programlama] Re: veritabani tasarimi (konu disi)

---------

From: Gurkan Aslan (gurkan@iaslan.com)
Date: Wed 10 Mar 2004 - 03:33:48 EST

  • Next message: Huseyin Mizan: "[linux-programlama] Re: veritabani tasarimi (konu disi)"

    On Wed, 2004-03-10 at 10:02, Fuat Altun wrote:
    > Merhabalar,
    >

    Merhaba

    >
    > Tablo1 isimli tablomda hizmet_kodlari adinda bir alanim var. Burada
    > yaklasik 100 adet hizmet turu kodu var. (temizlik hizmeti, yemek hizmeti,
    > bakicilik hizmeti vs.)
    >
    > Sorunuma gelince;
    >
    > Bu hizmet_kodlarindan bazilarini ozel olarak kod icinde kullanmam gerek.
    > Fakat ben bunun yanlis bir yol oldugunu dusunuyorum. Yani veriyi kaynak kod
    > icinde barindirmak bana hatali geliyor.
    >
    > sizce bu yaklasimim dogrumu? Cunku kodlar her zaman degisebilir. Yani bunlar
    > il_kodundaki gibi plaka no degil.
    >
    > Kisaca,
    >
    >
    >
    > if (hizmet_kodu==56) //cicek bakimi hizmeti
    >
    > {
    >
    > ..........
    >
    > ..........
    >
    > }
    >
    >
    >
    > seklinde olursa dogru olmaz diye dusunuyorum.
    >
    >

    Doğru düşünüyorsun.. Yani bu şekilde olması doğru bir yaklaşım değil...
    Daha dinamik bir yaklaşım sergilemek gerek...

    >
    > Bunun yerine bu ozel kodlar icin baska boolean degiskenler tanimlamak dogru
    > bir yontem olabilirmi?
    >

    Elbette bu da bir yöntem...

    >
    >
    > Yani tablo1 tablosunun icinde
    > bebek_hizmetimi,bakicilik_hizmetimi,ev_hizmetimi gibi alanlar tanimlayip
    >
    > Kaynak kod icinde su sekilde kullanmak daha dogru olabilirmi?
    >
    >
    >
    > if (cicek_hizmetimi==true) //cicek bakimi hizmeti
    >
    > {
    >
    > ..........
    >
    > ..........
    >
    > }
    >
    > bu durumda fazladan 3-4 tane daha boolean degisken tanimlamam gerekecek
    > tabii.
    >

    :) İyi gidiyorsunuz... Belki de biraz daha düşünseniz maili silip sorunu
    çözmüş olacaktınız...

    Burada o if bloklarının içerisine yazacağınız kod çok önemli çünkü ona
    göre alternatif bir çok özel sonuç üretebilirsiniz.

    Alternatif bir çok çözüm var ancak bunları sıralayıp sazanlık yapmadan
    önce benim size sormak istediğim birkaç şey var...

    1-) "Kod değişirse" diye kaygılandığınız olayın çözümü kullanıcının
    vereceği kodlara güvenmeden auto increment bir kod üretmek ve
    dolayısıyla da kendi ürettiğiniz, değişmeyeceğine emin olduğunuz
    kodlarla çalışmaktır ancak; peki ya kod değil de o kodun karşılığındaki
    isim değişirse? Yani adam 30 numaralı Çiçek Bakımı Hizmeti'nin koduna
    dokunmayıp adını "Ivır Zıvır Hizmeti" olarak değiştirirse? bu durumda
    sizin yazdığınız kodlardan Çiçek Bakımı hizmeti için çalışması gereken
    kod bam başka bir hizmet için alakasız işler yapmış olmaz mı?

    2-) Eğer kodunuzla ve tablolardaki değerlerle bağlantılı işler olacaksa
    ve dinamik hizmet tanımlaması olacaksa, kodunu istediği kadar
    değiştirsin ama kullanıcının adını ve sırasını değiştiremeyeceği bir
    yaklaşım programınız adına birşeylere engel olur mu? (Engel olmaz
    diyorsanız zaten auto increment olarak açıkladığım çözüm işinizi görür)

    3-) Veya "ayrı field istemiyorum ben" diyorsanız yine isimleri
    değiştirtmemek koşuluyla isimlerle çalışabilirsiniz, bu size bir engel
    yaratır mı?

    v.s v.s. şeklinde sorular çoğaltılabilir...

    Bence tablo yapısını ve yapmak istediğiniz (yani if blokları içerisine
    ne kodu yazacaksanız mesela) işleri biraz daha geniş açıklarsanız daha
    yaratıcı fikirler üretilebilir...

    >
    >
    > İnsallah anlatabilmisimdir :)
    >
    > Tsk.
    >
    >
    >
    > Fuat
    >
    >
    >
    >
    >
    >
    >
    >
    >
    >
    >

    Hazar Agency & Computer Systems
    Phone: +90 212 356 65 56
           +90 212 356 62 75

    Projects and Software Development Department Manager
    Gurkan ASLAN (a.k.a. Integer)


  • Next message: Huseyin Mizan: "[linux-programlama] Re: veritabani tasarimi (konu disi)"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.