Gönderen: 10-Mayıs-2012 Saat 13:50 | Kayıtlı IP
|
|
|
Programla: daha cok teknik bilgi yerine kurallar bütünü olarak uygulanmaktadır.
Yapmış olduğunuz yazılım; uygulamanın oluşturulması, kullanılması ve işlevselliği kadar sonradan geliştirilebilir veya düzenlenebilir olması açısından "yazılım kurallarına" uygun olmalıdır.
Sorununuzun çözümü için bilmeniz gereken kural "Veritabanı Normalizasyon Kuralı".
Teknik olarak Normalizasyon kuralı "Veritabanına girilen kayıtların farklı tablolara uygun parçalar halinde aktarılmasını" ifade eder.
Bir örneklem:
tblUyeler Uyeler tablosu, tblSiparis ise siparisler tablosu olsun; tblUrunler de ise ürünlerimiz bulunmaktadır.
tblUyeler kolonları ID,UyeAd,UyeSoyad,UyeMail,UyePw,UyeStatu,UyeDurum ... tblUrunler kolonları ID,UrunAd,UrunStok,UrunFiyat,UrunDurum ...
Hangi üyenin hngi üründen kaçtane aldığını takip edecek sekilde, siparisler tablosu şu şekilde olmalıdır.
tblSiparis kolonları ID,UyeID,UrunID,UrunAdet... UyeID = siparisi veren üye UrunID = Siparis edilen Ürünün IDsi
Herbir alanın ID satiri olmalıdır. ID satiri Primariykey oldugundan aynı tablo içerisinde asla tekrarlanmaz.
Farklı tablolar ID alanları ile bağlanmalıdır. tblSiparislerdeki UyeID tblUyelerdeki Id alanına, UrunID ise tblUrunlerdeki ID alanına bağlanmıştır.
aynı ad ve soyada sahip kişiler olabileceği için bağlamalarda Primariykey alanları olan ID kısımları kullanılmalıdır.
Sorgulamada iç içe sorgu yapılmalıdır.
Dim Users :Set Users =Conn.Execute("select * frm tbluyeler") While Not Users.EOF
Dim Siparis:Set Users =Conn.Execute("select * frm tblSiparis where UyeID='"&Users("ID") "'; ") While Not Siparis.EOF
'///bu işlem herbir üyenin Siparis durumunu gösterir. '/// iç içe döngü ile ortak değerler birleştirilir.
Siparis.MoveNext:Wend Siparis.Close:Set Siparis=Nothing
Users.MoveNext:Wend Users.Close:Set Users=Nothing
insert işleminde donguyle yapablrsn.
Düzenleyen fanatik 10-Mayıs-2012 Saat 13:55
__________________ http://www.googledostu.com
Türk Sosyal İmleme Sitesi
|