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

---------

From: Gurkan Aslan (gurkan@iaslan.com)
Date: Wed 10 Mar 2004 - 07:12:42 EST

  • Next message: webmaster@fezabilgisayar.com.tr: "[linux-programlama] Php-Nuke Hakkında"

    Content-Type: text/plain; charset=iso-8859-9
    Content-Transfer-Encoding: quoted-printable
    On Wed, 2004-03-10 at 13:45, Serdar K=D6YL=DC wrote:

    > Selamlar..
    >=20
    > 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.
    >=20
    > Yada daha kisa ama kotu yol olarak, bunlari bir DLL (veya benzeri) icine
    > koyun. dlopen ile bu DLL(ler) den yukleyip kullanin.
    >=20
    > Yok eger, illaki if (kurum =3D=3D temizlik) ... diyerek gidecegim
    > diyorsaniz, bunlari hic veritabanina koymayin, enum olarak kodunuzun
    > icine gomun.=20
    >=20
    > Saygi ve sevgiler..
    >=20

    =D6nce Sayg=FDlar...

    Ayn=FD fikri payla=FE=FDyorum... Az =F6nce de buna yak=FDn alternatifler
    s=F6yleyecektim ama vazge=E7tim, siz vazge=E7memi=FEsiniz iyi de etmi=FEsin=
    iz...

    Ben de vaz ge=E7ti=F0im fikrimi dile getireyim o halde:

    E=F0er benzeri =FEekilde =E7ok fazla altertanif durumunuz s=F6zkonusuysa
    kendinize ait bir s=FDn=FDf hiyerar=FEisiyle beraber b=FCt=FCn sorunlar=FDn=
    =FDza uzun
    vadeli k=F6kl=FC bir =E7=F6z=FCm getirebilirsiniz.. Hatta bu s=FDn=FDf=FD a=
    yr=FD bir
    unitte tutarsan=FDz kodunuz sizin a=E7=FDn=FDzdan daha okunakl=FD ve d=FCze=
    nli olmu=FE
    olur... Bir revizyon s=F6zkonusu oldu=F0unda da sadece ilgili kodu revize
    edersiniz...

    Tabii b=FCt=FCn bu s=F6ylediklerim e=F0er Nesne tabanl=FD yaz=FDl=FDm
    geli=FEtiriyorsan=FDz ge=E7erli... Alternatif "type" tan=FDmlar=FD gibi =E7=
    =F6z=FCmler
    de i=FEinizi g=F6r=FCr ama nereye kadar...

    > > Content-Type: text/plain
    > > Content-Transfer-Encoding: quoted-printable
    > > On Wed, 2004-03-10 at 13:12, Fuat Altun wrote:
    > >=20
    > > > Tamamiyle iliskisel bi veri tabani :)
    > > >=3D20
    > >=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
    > > >=3D20
    > > > -----Original Message-----
    > > > From: Gurkan Aslan [mailto:gurkan@iaslan.com]=3D3D20
    > > > Sent: Wednesday, March 10, 2004 12:25 PM
    > > > To: linux-programlama@www.linux.org.tr
    > > > Subject: [linux-programlama] Re: veritabani tasarimi (konu disi)
    > > >=3D20
    > > > On Wed, 2004-03-10 at 10:52, Fuat Altun wrote:
    > > > > =3D3D3DD6ncelikle tesekkurler,
    > > > > Salih bey'in maili okunamiyor...
    > > > > Tekrar gonderebilirse sevinirim.
    > > > > Gurkan bey..
    > > > > Alanim zaten auto-increment.
    > > > > Fakat benim otomatik verilen kodlarin datasina bakip kaynak koda =
    =3D3D3D
    > > > > eklemem
    > > > > canimi sikiyor :)
    > > > >=3D3D20
    > > > > 4 tane kod ozel anlami olacak..
    > > > > cunku diger kodlarda (yaklasik 96 kod icin) ayni veri giris ekranin=
    in
    > > > > cagiracagim.
    > > > > Fakat bu dort tanesi icin farkli farkli veri girisi ekranlarini =3D=
    3D3D
    > > > > cagiracagim
    > > > > Yani if bloklarinda yapacagim islem bu.
    > > > >=3D3D20
    > > >=3D20
    > > > Hmmm s=3D3DF6yledikleriniz kafamda bir=3D3DFEeyler canland=3D3DFDrd=
    =3D3DFD ama =3D
    > > =3D3D
    > > > olabiletisi i=3D3DE7in
    > > > =3D3DFEunu soraca=3D3DF0=3D3DFDm: Nesne Tabanl=3D3DFD program m=3D3DF=
    D yaz=3D3DFDyors=3D
    > > unuz? =3D3D
    > > > Veritaban=3D3DFDn=3D3DFDz
    > > > RDBMS destekli bir veritaban=3D3DFD m=3D3DFD?
    > > >=3D20
    > > >=3D20
    > > > > Saygilar
    > > > >=3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > > > -----Original Message-----
    > > > > From: Gurkan Aslan [mailto:gurkan@iaslan.com]=3D3D3D20
    > > > > Sent: Wednesday, March 10, 2004 10:34 AM
    > > > > To: linux-programlama@www.linux.org.tr
    > > > > Subject: [linux-programlama] Re: veritabani tasarimi (konu disi)
    > > > >=3D3D20
    > > > > On Wed, 2004-03-10 at 10:02, Fuat Altun wrote:
    > > > > > Merhabalar,
    > > > > > =3D3D3D20
    > > > >=3D3D20
    > > > > Merhaba
    > > > >=3D3D20
    > > > > >=3D3D3D20
    > > > > > Tablo1 isimli tablomda hizmet_kodlari adinda bir alanim var. =3D=
    3D
    > > > Burada
    > > > > > yaklasik 100 adet hizmet turu kodu var. (temizlik hizmeti, yemek =
    =3D3D
    > > > =3D3D3D
    > > > > hizmeti,
    > > > > > bakicilik hizmeti vs.)
    > > > > >=3D3D3D20
    > > > > > Sorunuma gelince;
    > > > > >=3D3D3D20
    > > > > > Bu hizmet_kodlarindan bazilarini ozel olarak kod icinde kullanmam=
     =3D3D
    > > > =3D3D3D
    > > > > gerek.
    > > > > > Fakat ben bunun yanlis bir yol oldugunu dusunuyorum. Yani veriyi =
    =3D3D
    > > > =3D3D3D
    > > > > kaynak
    > > > > kod
    > > > > > icinde barindirmak bana hatali geliyor.
    > > > > >=3D3D3D20
    > > > > > sizce bu yaklasimim dogrumu? Cunku kodlar her zaman degisebilir. =
    =3D3D
    > > > Yani
    > > > > bunlar
    > > > > > il_kodundaki gibi plaka no degil.
    > > > > >=3D3D3D20
    > > > > > Kisaca,
    > > > > >=3D3D3D20
    > > > > > =3D3D3D20
    > > > > >=3D3D3D20
    > > > > > if (hizmet_kodu=3D3D3D3D=3D3D3D3D56) //cicek bakimi hizmeti
    > > > > >=3D3D3D20
    > > > > > {
    > > > > >=3D3D3D20
    > > > > > ..........
    > > > > >=3D3D3D20
    > > > > > ..........
    > > > > >=3D3D3D20
    > > > > > }
    > > > > >=3D3D3D20
    > > > > > =3D3D3D20
    > > > > >=3D3D3D20
    > > > > > seklinde olursa dogru olmaz diye dusunuyorum.
    > > > > >=3D3D3D20
    > > > > > =3D3D3D20
    > > > >=3D3D20
    > > > > Do=3D3D3DF0ru d=3D3D3DFC=3D3D3DFE=3D3D3DFCn=3D3D3DFCyorsun.. Yani b=
    u =3D3D3DFEekild=3D
    > > e =3D3D
    > > > olmas=3D3D3DFD do=3D3D3DF0ru bir =3D3D3D
    > > > > yakla=3D3D3DFE=3D3D3DFDm de=3D3D3DF0il...
    > > > > Daha dinamik bir yakla=3D3D3DFE=3D3D3DFDm sergilemek gerek...
    > > > >=3D3D20
    > > > > >=3D3D3D20
    > > > > > Bunun yerine bu ozel kodlar icin baska boolean degiskenler =3D3D
    > > > tanimlamak
    > > > > dogru
    > > > > > bir yontem olabilirmi?
    > > > > >=3D3D3D20
    > > > >=3D3D20
    > > > > Elbette bu da bir y=3D3D3DF6ntem...
    > > > >=3D3D20
    > > > > > =3D3D3D20
    > > > > >=3D3D3D20
    > > > > > Yani tablo1 tablosunun icinde
    > > > > > bebek_hizmetimi,bakicilik_hizmetimi,ev_hizmetimi gibi alanlar =3D=
    3D3D
    > > > > tanimlayip
    > > > > >=3D3D3D20
    > > > > > Kaynak kod icinde su sekilde kullanmak daha dogru olabilirmi?
    > > > > >=3D3D3D20
    > > > > > =3D3D3D20
    > > > > >=3D3D3D20
    > > > > > if (cicek_hizmetimi=3D3D3D3D=3D3D3D3Dtrue) //cicek bakimi hizmeti
    > > > > >=3D3D3D20
    > > > > > {
    > > > > >=3D3D3D20
    > > > > > ..........
    > > > > >=3D3D3D20
    > > > > > ..........
    > > > > >=3D3D3D20
    > > > > > }
    > > > > >=3D3D3D20
    > > > > > bu durumda fazladan 3-4 tane daha boolean degisken tanimlamam =3D=
    3D3D
    > > > > gerekecek
    > > > > > tabii.
    > > > > >=3D3D3D20
    > > > >=3D3D20
    > > > > :) =3D3D3DDDyi gidiyorsunuz... Belki de biraz daha d=3D3D3DFC=3D3D3=
    DFE=3D3D3DFC=3D
    > > nseniz =3D3D
    > > > maili =3D3D3D
    > > > > silip sorunu
    > > > > =3D3D3DE7=3D3D3DF6zm=3D3D3DFC=3D3D3DFE olacakt=3D3D3DFDn=3D3D3DFDz.=
    ..
    > > > >=3D3D20
    > > > > Burada o if bloklar=3D3D3DFDn=3D3D3DFDn i=3D3D3DE7erisine yazaca=3D=
    3D3DF0=3D3D3DF=3D
    > > Dn=3D3D3DFDz =3D3D
    > > > kod =3D3D3DE7ok =3D3D3D
    > > > > =3D3D3DF6nemli =3D3D3DE7=3D3D3DFCnk=3D3D3DFC ona
    > > > > g=3D3D3DF6re alternatif bir =3D3D3DE7ok =3D3D3DF6zel sonu=3D3D3DE7 =
    =3D3D
    > > > =3D3D3DFCretebilirsiniz.=3D3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > > > Alternatif bir =3D3D3DE7ok =3D3D3DE7=3D3D3DF6z=3D3D3DFCm var ancak =
    bunlar=3D3D3DF=3D
    > > D =3D3D
    > > > s=3D3D3DFDralay=3D3D3DFDp =3D3D3D
    > > > > sazanl=3D3D3DFDk yapmadan
    > > > > =3D3D3DF6nce benim size sormak istedi=3D3D3DF0im birka=3D3D3DE7 =3D=
    3D3DFEey var=3D
    > > ...
    > > > >=3D3D20
    > > > > 1-) "Kod de=3D3D3DF0i=3D3D3DFEirse" diye kayg=3D3D3DFDland=3D3D3DFD=
    =3D3D3DF0=3D3D3D=3D
    > > FDn=3D3D3DFDz =3D3D
    > > > olay=3D3D3DFDn =3D3D3D
    > > > > =3D3D3DE7=3D3D3DF6z=3D3D3DFCm=3D3D3DFC kullan=3D3D3DFDc=3D3D3DFDn=
    =3D3D3DFDn
    > > > > verece=3D3D3DF0i kodlara g=3D3D3DFCvenmeden auto increment bir kod =
    =3D3D
    > > > =3D3D3DFCretmek ve
    > > > > dolay=3D3D3DFDs=3D3D3DFDyla da kendi =3D3D3DFCretti=3D3D3DF0iniz, =
    =3D3D
    > > > de=3D3D3DF0i=3D3D3DFEmeyece=3D3D3DF0ine emin =3D3D3D
    > > > > oldu=3D3D3DF0unuz
    > > > > kodlarla =3D3D3DE7al=3D3D3DFD=3D3D3DFEmakt=3D3D3DFDr ancak; peki ya=
     kod de=3D3D3D=3D
    > > F0il de =3D3D
    > > > o kodun =3D3D3D
    > > > > kar=3D3D3DFE=3D3D3DFDl=3D3D3DFD=3D3D3DF0=3D3D3DFDndaki
    > > > > isim de=3D3D3DF0i=3D3D3DFEirse? Yani adam 30 numaral=3D3D3DFD =3D3D=
    3DC7i=3D3D3DE7=3D
    > > ek =3D3D
    > > > Bak=3D3D3DFDm=3D3D3DFD =3D3D3D
    > > > > Hizmeti'nin koduna
    > > > > dokunmay=3D3D3DFDp ad=3D3D3DFDn=3D3D3DFD "Iv=3D3D3DFDr Z=3D3D3DFDv=
    =3D3D3DFDr Hizmet=3D
    > > i" olarak =3D3D
    > > > =3D3D3D
    > > > > de=3D3D3DF0i=3D3D3DFEtirirse? bu durumda
    > > > > sizin yazd=3D3D3DFD=3D3D3DF0=3D3D3DFDn=3D3D3DFDz kodlardan =3D3D3DC=
    7i=3D3D3DE7ek =3D
    > > =3D3D
    > > > Bak=3D3D3DFDm=3D3D3DFD hizmeti i=3D3D3DE7in =3D3D3D
    > > > > =3D3D3DE7al=3D3D3DFD=3D3D3DFEmas=3D3D3DFD gereken
    > > > > kod bam ba=3D3D3DFEka bir hizmet i=3D3D3DE7in alakas=3D3D3DFDz i=3D=
    3D3DFEler =3D
    > > =3D3D
    > > > yapm=3D3D3DFD=3D3D3DFE olmaz =3D3D3D
    > > > > m=3D3D3DFD?
    > > > >=3D3D20
    > > > > 2-) E=3D3D3DF0er kodunuzla ve tablolardaki de=3D3D3DF0erlerle =3D3D
    > > > ba=3D3D3DF0lant=3D3D3DFDl=3D3D3DFD =3D3D3D
    > > > > i=3D3D3DFEler olacaksa
    > > > > ve dinamik hizmet tan=3D3D3DFDmlamas=3D3D3DFD olacaksa, kodunu iste=
    di=3D3D3DF=3D
    > > 0i =3D3D
    > > > kadar
    > > > > de=3D3D3DF0i=3D3D3DFEtirsin ama kullan=3D3D3DFDc=3D3D3DFDn=3D3D3DFD=
    n ad=3D3D3DFDn=3D
    > > =3D3D3DFD ve =3D3D
    > > > s=3D3D3DFDras=3D3D3DFDn=3D3D3DFD =3D3D3D
    > > > > de=3D3D3DF0i=3D3D3DFEtiremeyece=3D3D3DF0i bir
    > > > > yakla=3D3D3DFE=3D3D3DFDm program=3D3D3DFDn=3D3D3DFDz ad=3D3D3DFDna =
    bir=3D3D3DFEeyle=3D
    > > re engel =3D3D
    > > > olur mu? (Engel =3D3D3D
    > > > > olmaz
    > > > > diyorsan=3D3D3DFDz zaten auto increment olarak =3D3D
    > > > a=3D3D3DE7=3D3D3DFDklad=3D3D3DFD=3D3D3DF0=3D3D3DFDm =3D3D3D
    > > > > =3D3D3DE7=3D3D3DF6z=3D3D3DFCm i=3D3D3DFEinizi g=3D3D3DF6r=3D3D3DFCr=
    )
    > > > >=3D3D20
    > > > > 3-) Veya "ayr=3D3D3DFD field istemiyorum ben" diyorsan=3D3D3DFDz yi=
    ne =3D3D
    > > > isimleri
    > > > > de=3D3D3DF0i=3D3D3DFEtirtmemek ko=3D3D3DFEuluyla isimlerle =3D3D
    > > > =3D3D3DE7al=3D3D3DFD=3D3D3DFEabilirsiniz, bu =3D3D3D
    > > > > size bir engel
    > > > > yarat=3D3D3DFDr m=3D3D3DFD?
    > > > >=3D3D20
    > > > > v.s v.s. =3D3D3DFEeklinde sorular =3D3D3DE7o=3D3D3DF0alt=3D3D3DFDla=
    bilir...
    > > > >=3D3D20
    > > > > Bence tablo yap=3D3D3DFDs=3D3D3DFDn=3D3D3DFD ve yapmak istedi=3D3D3=
    DF0iniz (yan=3D
    > > i if =3D3D
    > > > bloklar=3D3D3DFD =3D3D3D
    > > > > i=3D3D3DE7erisine
    > > > > ne kodu yazacaksan=3D3D3DFDz mesela) i=3D3D3DFEleri biraz daha geni=
    =3D3D3DFE =3D
    > > =3D3D3D
    > > > > a=3D3D3DE7=3D3D3DFDklarsan=3D3D3DFDz daha
    > > > > yarat=3D3D3DFDc=3D3D3DFD fikirler =3D3D3DFCretilebilir...
    > > > >=3D3D20
    > > > >=3D3D20
    > > > > > =3D3D3D20
    > > > > >=3D3D3D20
    > > > > > =3D3D3DDDnsallah anlatabilmisimdir :)
    > > > > >=3D3D3D20
    > > > > > Tsk.
    > > > > >=3D3D3D20
    > > > > > =3D3D3D20
    > > > > >=3D3D3D20
    > > > > > Fuat
    > > > > >=3D3D3D20
    > > > > > =3D3D3D20
    > > > > >=3D3D3D20
    > > > > >=3D3D3D20
    > > > > >=3D3D3D20
    > > > > >=3D3D3D20
    > > > > >=3D3D3D20
    > > > > >=3D3D3D20
    > > > > >=3D3D3D20
    > > > > >=3D3D3D20
    > > > > >=3D3D3D20
    > > > >=3D3D20
    > > > >=3D3D20
    > > > > Hazar Agency & Computer Systems
    > > > > Phone: +90 212 356 65 56
    > > > > +90 212 356 62 75
    > > > >=3D3D20
    > > > > Projects and Software Development Department Manager
    > > > > Gurkan ASLAN (a.k.a. Integer)
    > > > >=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
    > >=20
    > > -- Attached file included as plaintext by Ecartis --
    > > -- File: signature.asc
    > > -- Desc: This is a digitally signed message part
    > >=20
    > > -----BEGIN PGP SIGNATURE-----
    > > Version: GnuPG v1.2.3 (GNU/Linux)
    > >=20
    > > iD8DBQBATv3Kkl0I+ggDd5ERAs+TAKCc+P03Z7bYHK0L7oRtDyhU2YBrAgCcCfLS
    > > tI5Y6XCUWS+qkTqWXKuvRSk=3D
    > > =3Dezlm
    > > -----END PGP SIGNATURE-----
    > >=20
    > >=20
    > >=20
    > >=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)

    iD8DBQBATwY6kl0I+ggDd5ERAlcDAKC5r/+YN9TabCDToGxwv+LzD/lntACggip0
    1LgUyuC6TevRH+2k/0wQsDU=
    =2m3R
    -----END PGP SIGNATURE-----


  • Next message: webmaster@fezabilgisayar.com.tr: "[linux-programlama] Php-Nuke Hakkında"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.