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

---------

From: Serdar KÖYLÜ (serdarkoylu@fisek.com.tr)
Date: Wed 10 Mar 2004 - 06:45:33 EST

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

    Selamlar..

    Hard-coding bu durumlar icin pek iyi cozum olmayabilir. Bence bunu
    cozmek uzere veritabaninda alinmasi gereken bilgileri tutun, bunlari
    almak uzere bir dinamik form olusturun. Bu karisik gorunebilir ama
    inanin ki daha kolay ve anlasilir olacaktir. X tane ayrik interface'i
    duzgunce handle etmek cok daha zor olabilir.

    Yada daha kisa ama kotu yol olarak, bunlari bir DLL (veya benzeri) icine
    koyun. dlopen ile bu DLL(ler) den yukleyip kullanin.

    Yok eger, illaki if (kurum == temizlik) ... diyerek gidecegim
    diyorsaniz, bunlari hic veritabanina koymayin, enum olarak kodunuzun
    icine gomun.

    Saygi ve sevgiler..

    > Content-Type: text/plain
    > Content-Transfer-Encoding: quoted-printable
    > On Wed, 2004-03-10 at 13:12, Fuat Altun wrote:
    >
    > > Tamamiyle iliskisel bi veri tabani :)
    > >=20
    >
    > Isin nesnel kismiyla ilgili dusunduklerimden vaz gectim cunku cok
    > zamaninizi alir... Bu durumda geriye tek bir secenek kaliyor: Ilk dort
    > veriye dokunulmasina izin vermeyin ve verdiginiz ID'ye gore islem yapin
    > (Madem onlar ozel ve degismeyecek)...
    >
    > >=20
    > > -----Original Message-----
    > > From: Gurkan Aslan [mailto:gurkan@iaslan.com]=3D20
    > > Sent: Wednesday, March 10, 2004 12:25 PM
    > > To: linux-programlama@www.linux.org.tr
    > > Subject: [linux-programlama] Re: veritabani tasarimi (konu disi)
    > >=20
    > > On Wed, 2004-03-10 at 10:52, Fuat Altun wrote:
    > > > =3D3DD6ncelikle tesekkurler,
    > > > Salih bey'in maili okunamiyor...
    > > > Tekrar gonderebilirse sevinirim.
    > > > Gurkan bey..
    > > > Alanim zaten auto-increment.
    > > > Fakat benim otomatik verilen kodlarin datasina bakip kaynak koda =3D3D
    > > > eklemem
    > > > canimi sikiyor :)
    > > >=3D20
    > > > 4 tane kod ozel anlami olacak..
    > > > cunku diger kodlarda (yaklasik 96 kod icin) ayni veri giris ekraninin
    > > > cagiracagim.
    > > > Fakat bu dort tanesi icin farkli farkli veri girisi ekranlarini =3D3D
    > > > cagiracagim
    > > > Yani if bloklarinda yapacagim islem bu.
    > > >=3D20
    > >=20
    > > Hmmm s=3DF6yledikleriniz kafamda bir=3DFEeyler canland=3DFDrd=3DFD ama =
    > =3D
    > > olabiletisi i=3DE7in
    > > =3DFEunu soraca=3DF0=3DFDm: Nesne Tabanl=3DFD program m=3DFD yaz=3DFDyors=
    > unuz? =3D
    > > Veritaban=3DFDn=3DFDz
    > > RDBMS destekli bir veritaban=3DFD m=3DFD?
    > >=20
    > >=20
    > > > Saygilar
    > > >=3D20
    > > >=3D20
    > > >=3D20
    > > > -----Original Message-----
    > > > From: Gurkan Aslan [mailto:gurkan@iaslan.com]=3D3D20
    > > > Sent: Wednesday, March 10, 2004 10:34 AM
    > > > To: linux-programlama@www.linux.org.tr
    > > > Subject: [linux-programlama] Re: veritabani tasarimi (konu disi)
    > > >=3D20
    > > > On Wed, 2004-03-10 at 10:02, Fuat Altun wrote:
    > > > > Merhabalar,
    > > > > =3D3D20
    > > >=3D20
    > > > Merhaba
    > > >=3D20
    > > > >=3D3D20
    > > > > Tablo1 isimli tablomda hizmet_kodlari adinda bir alanim var. =3D
    > > Burada
    > > > > yaklasik 100 adet hizmet turu kodu var. (temizlik hizmeti, yemek =3D
    > > =3D3D
    > > > hizmeti,
    > > > > bakicilik hizmeti vs.)
    > > > >=3D3D20
    > > > > Sorunuma gelince;
    > > > >=3D3D20
    > > > > Bu hizmet_kodlarindan bazilarini ozel olarak kod icinde kullanmam =3D
    > > =3D3D
    > > > gerek.
    > > > > Fakat ben bunun yanlis bir yol oldugunu dusunuyorum. Yani veriyi =3D
    > > =3D3D
    > > > kaynak
    > > > kod
    > > > > icinde barindirmak bana hatali geliyor.
    > > > >=3D3D20
    > > > > sizce bu yaklasimim dogrumu? Cunku kodlar her zaman degisebilir. =3D
    > > Yani
    > > > bunlar
    > > > > il_kodundaki gibi plaka no degil.
    > > > >=3D3D20
    > > > > Kisaca,
    > > > >=3D3D20
    > > > > =3D3D20
    > > > >=3D3D20
    > > > > if (hizmet_kodu=3D3D3D=3D3D3D56) //cicek bakimi hizmeti
    > > > >=3D3D20
    > > > > {
    > > > >=3D3D20
    > > > > ..........
    > > > >=3D3D20
    > > > > ..........
    > > > >=3D3D20
    > > > > }
    > > > >=3D3D20
    > > > > =3D3D20
    > > > >=3D3D20
    > > > > seklinde olursa dogru olmaz diye dusunuyorum.
    > > > >=3D3D20
    > > > > =3D3D20
    > > >=3D20
    > > > Do=3D3DF0ru d=3D3DFC=3D3DFE=3D3DFCn=3D3DFCyorsun.. Yani bu =3D3DFEekild=
    > e =3D
    > > olmas=3D3DFD do=3D3DF0ru bir =3D3D
    > > > yakla=3D3DFE=3D3DFDm de=3D3DF0il...
    > > > Daha dinamik bir yakla=3D3DFE=3D3DFDm sergilemek gerek...
    > > >=3D20
    > > > >=3D3D20
    > > > > Bunun yerine bu ozel kodlar icin baska boolean degiskenler =3D
    > > tanimlamak
    > > > dogru
    > > > > bir yontem olabilirmi?
    > > > >=3D3D20
    > > >=3D20
    > > > Elbette bu da bir y=3D3DF6ntem...
    > > >=3D20
    > > > > =3D3D20
    > > > >=3D3D20
    > > > > Yani tablo1 tablosunun icinde
    > > > > bebek_hizmetimi,bakicilik_hizmetimi,ev_hizmetimi gibi alanlar =3D3D
    > > > tanimlayip
    > > > >=3D3D20
    > > > > Kaynak kod icinde su sekilde kullanmak daha dogru olabilirmi?
    > > > >=3D3D20
    > > > > =3D3D20
    > > > >=3D3D20
    > > > > if (cicek_hizmetimi=3D3D3D=3D3D3Dtrue) //cicek bakimi hizmeti
    > > > >=3D3D20
    > > > > {
    > > > >=3D3D20
    > > > > ..........
    > > > >=3D3D20
    > > > > ..........
    > > > >=3D3D20
    > > > > }
    > > > >=3D3D20
    > > > > bu durumda fazladan 3-4 tane daha boolean degisken tanimlamam =3D3D
    > > > gerekecek
    > > > > tabii.
    > > > >=3D3D20
    > > >=3D20
    > > > :) =3D3DDDyi gidiyorsunuz... Belki de biraz daha d=3D3DFC=3D3DFE=3D3DFC=
    > nseniz =3D
    > > maili =3D3D
    > > > silip sorunu
    > > > =3D3DE7=3D3DF6zm=3D3DFC=3D3DFE olacakt=3D3DFDn=3D3DFDz...
    > > >=3D20
    > > > Burada o if bloklar=3D3DFDn=3D3DFDn i=3D3DE7erisine yazaca=3D3DF0=3D3DF=
    > Dn=3D3DFDz =3D
    > > kod =3D3DE7ok =3D3D
    > > > =3D3DF6nemli =3D3DE7=3D3DFCnk=3D3DFC ona
    > > > g=3D3DF6re alternatif bir =3D3DE7ok =3D3DF6zel sonu=3D3DE7 =3D
    > > =3D3DFCretebilirsiniz.=3D3D20
    > > >=3D20
    > > >=3D20
    > > >=3D20
    > > > Alternatif bir =3D3DE7ok =3D3DE7=3D3DF6z=3D3DFCm var ancak bunlar=3D3DF=
    > D =3D
    > > s=3D3DFDralay=3D3DFDp =3D3D
    > > > sazanl=3D3DFDk yapmadan
    > > > =3D3DF6nce benim size sormak istedi=3D3DF0im birka=3D3DE7 =3D3DFEey var=
    > ...
    > > >=3D20
    > > > 1-) "Kod de=3D3DF0i=3D3DFEirse" diye kayg=3D3DFDland=3D3DFD=3D3DF0=3D3D=
    > FDn=3D3DFDz =3D
    > > olay=3D3DFDn =3D3D
    > > > =3D3DE7=3D3DF6z=3D3DFCm=3D3DFC kullan=3D3DFDc=3D3DFDn=3D3DFDn
    > > > verece=3D3DF0i kodlara g=3D3DFCvenmeden auto increment bir kod =3D
    > > =3D3DFCretmek ve
    > > > dolay=3D3DFDs=3D3DFDyla da kendi =3D3DFCretti=3D3DF0iniz, =3D
    > > de=3D3DF0i=3D3DFEmeyece=3D3DF0ine emin =3D3D
    > > > oldu=3D3DF0unuz
    > > > kodlarla =3D3DE7al=3D3DFD=3D3DFEmakt=3D3DFDr ancak; peki ya kod de=3D3D=
    > F0il de =3D
    > > o kodun =3D3D
    > > > kar=3D3DFE=3D3DFDl=3D3DFD=3D3DF0=3D3DFDndaki
    > > > isim de=3D3DF0i=3D3DFEirse? Yani adam 30 numaral=3D3DFD =3D3DC7i=3D3DE7=
    > ek =3D
    > > Bak=3D3DFDm=3D3DFD =3D3D
    > > > Hizmeti'nin koduna
    > > > dokunmay=3D3DFDp ad=3D3DFDn=3D3DFD "Iv=3D3DFDr Z=3D3DFDv=3D3DFDr Hizmet=
    > i" olarak =3D
    > > =3D3D
    > > > de=3D3DF0i=3D3DFEtirirse? bu durumda
    > > > sizin yazd=3D3DFD=3D3DF0=3D3DFDn=3D3DFDz kodlardan =3D3DC7i=3D3DE7ek =
    > =3D
    > > Bak=3D3DFDm=3D3DFD hizmeti i=3D3DE7in =3D3D
    > > > =3D3DE7al=3D3DFD=3D3DFEmas=3D3DFD gereken
    > > > kod bam ba=3D3DFEka bir hizmet i=3D3DE7in alakas=3D3DFDz i=3D3DFEler =
    > =3D
    > > yapm=3D3DFD=3D3DFE olmaz =3D3D
    > > > m=3D3DFD?
    > > >=3D20
    > > > 2-) E=3D3DF0er kodunuzla ve tablolardaki de=3D3DF0erlerle =3D
    > > ba=3D3DF0lant=3D3DFDl=3D3DFD =3D3D
    > > > i=3D3DFEler olacaksa
    > > > ve dinamik hizmet tan=3D3DFDmlamas=3D3DFD olacaksa, kodunu istedi=3D3DF=
    > 0i =3D
    > > kadar
    > > > de=3D3DF0i=3D3DFEtirsin ama kullan=3D3DFDc=3D3DFDn=3D3DFDn ad=3D3DFDn=
    > =3D3DFD ve =3D
    > > s=3D3DFDras=3D3DFDn=3D3DFD =3D3D
    > > > de=3D3DF0i=3D3DFEtiremeyece=3D3DF0i bir
    > > > yakla=3D3DFE=3D3DFDm program=3D3DFDn=3D3DFDz ad=3D3DFDna bir=3D3DFEeyle=
    > re engel =3D
    > > olur mu? (Engel =3D3D
    > > > olmaz
    > > > diyorsan=3D3DFDz zaten auto increment olarak =3D
    > > a=3D3DE7=3D3DFDklad=3D3DFD=3D3DF0=3D3DFDm =3D3D
    > > > =3D3DE7=3D3DF6z=3D3DFCm i=3D3DFEinizi g=3D3DF6r=3D3DFCr)
    > > >=3D20
    > > > 3-) Veya "ayr=3D3DFD field istemiyorum ben" diyorsan=3D3DFDz yine =3D
    > > isimleri
    > > > de=3D3DF0i=3D3DFEtirtmemek ko=3D3DFEuluyla isimlerle =3D
    > > =3D3DE7al=3D3DFD=3D3DFEabilirsiniz, bu =3D3D
    > > > size bir engel
    > > > yarat=3D3DFDr m=3D3DFD?
    > > >=3D20
    > > > v.s v.s. =3D3DFEeklinde sorular =3D3DE7o=3D3DF0alt=3D3DFDlabilir...
    > > >=3D20
    > > > Bence tablo yap=3D3DFDs=3D3DFDn=3D3DFD ve yapmak istedi=3D3DF0iniz (yan=
    > i if =3D
    > > bloklar=3D3DFD =3D3D
    > > > i=3D3DE7erisine
    > > > ne kodu yazacaksan=3D3DFDz mesela) i=3D3DFEleri biraz daha geni=3D3DFE =
    > =3D3D
    > > > a=3D3DE7=3D3DFDklarsan=3D3DFDz daha
    > > > yarat=3D3DFDc=3D3DFD fikirler =3D3DFCretilebilir...
    > > >=3D20
    > > >=3D20
    > > > > =3D3D20
    > > > >=3D3D20
    > > > > =3D3DDDnsallah anlatabilmisimdir :)
    > > > >=3D3D20
    > > > > Tsk.
    > > > >=3D3D20
    > > > > =3D3D20
    > > > >=3D3D20
    > > > > Fuat
    > > > >=3D3D20
    > > > > =3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > >=3D20
    > > >=3D20
    > > > Hazar Agency & Computer Systems
    > > > Phone: +90 212 356 65 56
    > > > +90 212 356 62 75
    > > >=3D20
    > > > Projects and Software Development Department Manager
    > > > Gurkan ASLAN (a.k.a. Integer)
    > > >=3D20
    > > >=3D20
    > > >=3D20
    > >=20
    > >=20
    > > Hazar Agency & Computer Systems
    > > Phone: +90 212 356 65 56
    > > +90 212 356 62 75
    > >=20
    > > Projects and Software Development Department Manager
    > > Gurkan ASLAN (a.k.a. Integer)
    > >=20
    > >=20
    > >=20
    >
    >
    > 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)
    >
    >
    >
    >
    > -- Attached file included as plaintext by Ecartis --
    > -- File: signature.asc
    > -- Desc: This is a digitally signed message part
    >
    > -----BEGIN PGP SIGNATURE-----
    > Version: GnuPG v1.2.3 (GNU/Linux)
    >
    > iD8DBQBATv3Kkl0I+ggDd5ERAs+TAKCc+P03Z7bYHK0L7oRtDyhU2YBrAgCcCfLS
    > tI5Y6XCUWS+qkTqWXKuvRSk=
    > =ezlm
    > -----END PGP SIGNATURE-----
    >
    >
    >
    >


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

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.