[Linux-programlama] mysql-JOIN (siz olsaydınız)

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: kohlit@icqmail.com
Date: Mon 14 Feb 2005 - 12:31:20 EET


Merhaba;

diyelimki bir okuldaki ogrencilerin kayitlarini tutucaz. fakat biraz
tuhaf bi kayit tarzi var.
engin edebi bilgimide kullanarak anlatmaya basliyorum.

zorunlu olan ve olmayan kayitlar var.
mesela cocugun numarasi, sinifi, ufak bi aciklama ve kayit tarihi
zorunlu.

bunun disinda aciklama, resim, resimliaciklama secenekler arasinda. tabi
bunlarin sirasida karisik olabilir.
ornegin zorunlu kayit yapildiktan sonra sadece resim eklene bilir. sora
altina duz metin eklenebilir. sora yeneniden sadece resim eklenip. daha
sonrada resimli metin eklenebilir. burda alternatifler cogaltilir.
not: (resimlimetin ile resim arasindaki farki acikliyim. resimlimetin'de
metin resmin saginda yada solunda bulunuyor. ama resim'de sadece resim
var :) )

yukarda anlattiklarimi tek tablo kullanilip veri tekrarini goze alirsam
kolay sekilde yapilabilirim.
ben veri tekrari olmasin diye asagidaki tablolari olusturdum.

anatablo: id,sinif,baslik,tarih
id: o kayitin numarasi
sinif: sinifi
baslik: kayitin basligi
tarih: kayitin yapildigi taih

aciklamatablo: id,kid,aciklama
id: hangi kayda ait oldugu (yukardaki id)
kid: kendi numarasi
aciklama: aciklama alani

aciklamaresimtablo: id,kid,aciklama,resim
id: hangi kayda ait oldugu (yukardaki id)
kid: kendi numarasi
aciklama : aciklama alani
resim: resimin adi

resimtablo: id,kid,resim
id: hangi kayda ait oldugu (yukardaki id)
kid: kendi numarasi
resim: resmin adi

aslinda sorun burda baslamiyor. cunku JOIN kullanarak tablolar
birlestirilir. bu konuda cok iyi diilim ama hallederim. sorunun
basladigi yer yukardada belirtigim gibi alternatiflerin farkli olusu.
Mesele JOIN kullanip x numarali ogrenci hakkindaki butun verileri cekip
yazdirabiliriz.
iste bu yazdirma esnasinda zorunlu kayitlar ilk yazdirilicak ama
sonrasi. veriler farkli tablolarda tutuldugu icin hangisinin once
geldigini nasil anlariz.

ben her satir kayit icin kaydin olusturuldugu tarihi tutup tarihi kucuk
olan once yazilsin gibi bir yol dusundum ama biliyorumki daha kolay bir
yolu var. iste o kolay yoluda sizden ogrenicem.

belkide problemin cozumu kokunde saklidir. oyuzden tablolara bagli
kalmak zorunda diilsiniz. aslinda sormak istedigim siz olsaniz ne
yapardiniz.

not:(PHP ve MYSQL kullananicam. PHP kodlari degil ama SQL kodlarini
yazarsaniz sevinirim. )

simdiden tesekkurler.

<P><font face="Arial, Helvetica, sans-serif" size="2" style="font-size:13.5px">_______________________________________________________________<BR><font face="Arial, Helvetica, sans-serif" size="2" style="font-size:13.5px">ICQ - You get the message, anywhere!<br>Get it @ http://www.icq.com</font><br><br>&nbsp;</font></font>

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.