arkadaslar nasil bir baslik yazmam gerektigine karar veremedim... ilginc bir durum ile karsi karsilastim.
sorun söyle ki:
Iki tablo muz var. Biri URUN.DB digeri ise MUSTERI.DB
isimlerinden de belli oldugu gibi urun de ürünler musteri de de müsteriler tutuluyor.
simdi öyle olmali ki, bir müsterinin binlerce mamülü olabilir. bir mamülün de binlerce müsterisi. bunu nasil indexleriz?
kalem diyelim örnek olarak. ahmet ve mehmet in kalemi var. ama ahmetin bir de silgisi var. simdi ahmet diye aradigimizda kalem ve silgi cikmali ama mehmet dedigimizde ahmet ile ortaklasa kullandiklari kalem cikmali. tabii bu milyonlarca ürün ve milyonlarca müsteri icin uygun bir hale gelmeli...
umarim derdimi anlatabilmisim dir...
ilgilenen kisilere simdiden tesekkür ediyorum...
saygilar...
Veritabani Indexleme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Veritabani Indexleme
kıdemsiz üye
bir tablo daha tutmalısın bence. bu tablo içinde eşleşmeleri tutmalısın. müşteri tablosuna müşteri kodu, ürün tablosuna ürün kodu eklemelisin. (bu alanlar autoinc olabilir). yeni tabloda ise şu şekilde kayıt tutabilirsin.
musteri_kod urun_kod
-------------- ------------
1 2
1 5
2 2
bu şekilde kayıt tutarsan istediğin gibi sorgulama yapabilirsin. bu olayın indexlerle fazla bir ilişkisi yok. sadece aramayı hızlandırmak için müşteri adında, kodunda ve mamul kodunda,adında index yapabilirsin. örnek sorgular:
ahmettin ürünleri
benzer şekilde ürün bazlı taramada yapabilirsin. yeni tabloda musteri_kod ve urun_kod'a aynı anda uniqlik koyarsan iyi olur çift kayıt girilmesini önlemiş olursun. kolay gelsin.
musteri_kod urun_kod
-------------- ------------
1 2
1 5
2 2
bu şekilde kayıt tutarsan istediğin gibi sorgulama yapabilirsin. bu olayın indexlerle fazla bir ilişkisi yok. sadece aramayı hızlandırmak için müşteri adında, kodunda ve mamul kodunda,adında index yapabilirsin. örnek sorgular:
ahmettin ürünleri
Kod: Tümünü seç
select urun_kodu,urun_adi from yenitablom where musteri_kod=(select musteri_kod from musteritablo where musteri_adi='ahmet')