master-detail ilişkilendirilmiş ufak çapta bir örnek

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Kilitli
suselinux

master-detail ilişkilendirilmiş ufak çapta bir örnek

Mesaj gönderen suselinux »

Master-detail ilişkilendirilmesi yapılmış ufak çapta bir örnek gönderirmisiniz...Ben bir türlü yapamadım...Anlamadım...Nasıl relation kurulur bilgiler arasında mümkünse...Lütfen...Çok büyük sevap işlersiniz...Bu master - detail ilişkiyi öğrenmek istiyorum... :( Fikir vermesi açısından bir yerden yakalamam lazım çünkü...Hayırlı günler
suselinux

veritabani tasarımın yapıyorum problem yok ama

Mesaj gönderen suselinux »

yani pk ve fk ları normal bir şekilde açıyorum delphi tarafından nasıl ilişkilendirme yapacağız...Bununla alakalı bir örnek...Diğer arkadaşlar içinde yararlı olacağını düşünüyorum...en azından bununla ilgili bir örnek olursa ilk acemilik atlatılır diye düşünüyorum...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Sayın @suselinux,

sorunuz biraz eksik. Bu konu çok konuşulan bir konu. :ara Arama yapıp geçen konuşmaları okumak faydalı olacaktır.

Eğer bu mesajları okuduktan sonra halen kafanızda oluşan sorular varsa bunları biraz daha detaylı yazın. Kelime sınırımız yok merak etmeyin :)

En azından nerede takıldınız, hangi veritabanını kullanıyorsunuz, hangi erişim componentlerini (BDE, ADO, IBX vs.) yazarsanız detaylı cevap verilebilir.

Kolay gelsin.
suselinux

Kesinlikle şüphem yok yardım konusunda

Mesaj gönderen suselinux »

Dediğim gibi Ben bu konularda fazla iyi değilim...Sitedeki makaleleri okudum...ve Firebird öğrenmek firebird de bir şeyler yapmak istiyorum...ibx bileşenleri kullanmayı biliyorum öğrendim...Sitedeki master-detail makalelerini okudum...ama hakkaten bana göre yetersiz belki başka arkadaşlar anlamıştır ama ben anlayamadım...Ve ayrıca filemaker da yaptığım relation ilişkiden bahsettim başka bir sorumda...Şimdi şöyle benim istediğim örnek nasıl yapılır ilk başta bu olayı kaparsam gerisini kendimin getireceğine inanıyorum...Table tasarımı konusundada problemimim yok..Master detaili fk lar ile kurmak istiyorum...

Şimdi iki benim anladığım master-detail filemaker a göre bir kaydı seçtiğim zaman direk kayıt referans olarak dökülmesi....ve kayıt yaptığımız zaman ilişkilendirilmesi veya birden fazla kayıt yapılması...Yani örneğin....stok kodu die bir table var burada

SIRA_NO PK autoincrement not null
Stok_no
stok_adi

bir de stok hareketleri tablosu

strhareket_sira_no
stok_no fk
stok_adi
miktarı

________

Bana bu şekilde kayıtlarda ilişki kurmak istiyorum....yani söle bir mantık la değilde otomatik olmasını istiyorum..yani

if stokno = edit1.text then

edit1.text:=dm.ibdataset1urunno.text;
edit2.texk:=dm.ibdataset1stokadi.text;

gibi ben yazmak zorundamıyım böle olmaması lazım....Ben master-seçince detaillerin otamatik editlere dökülmesini istiyorum....Yardımcı olursanız sevinirim...
suselinux

sesimi duyan var mı arkadaşlar

Mesaj gönderen suselinux »

Yaw...Hakkaten bir master-detail ibx te yapılmış küçük bir örnek lazım....Diyeceksiniz ezber yapiyorsunda vallahi yapamadım...Yaw.. :(
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

Bence her tabloda unique bir primary key kullan. Freeman35 abimizin taktiğidir, son derece işe yarar. Buna da ID diyebilirsin. Bu otomatik artan bir alan olsun.

Daha sonra STOK_NO alanı her iki tabloda da olduğu zaman kolayca bağlayabilirsin.

STOK tablosu : ID - STOK_NO - ....
Stok Hareketleri tablosu : ID - STOK_NO - MIKTAR ....

Daha sonra IBDataset ile bunları bağlamak için tek yapman gereken :

* Stok Hareketleri tablosunun datasource özelliğine, Stok tablosunun datasource'unu bağlamak

* Stok Hareketleri tablosunun SQL koduna

WHERE STOK_KODU =:STOK_KODU

ibaresini eklemek. Bu kadar :)

NOT : Stok hareketleri tablosunda STOK_ADI alanının olmasına gerek yok. ilişkisel veritabanı tasarımında minimum blgi saklayacak şekilde alanları belirlemen lazım. Bu bilgiyi çok rahat stok tablosundan alabilirsin.

Kolay gelsin.
suselinux

ya mustafa abi hakkaten bukadar mı

Mesaj gönderen suselinux »

yani başka bir şey yok öyle mi....Peki 3. tabloyu cari diyelim 3. nasıl bağlayacam yine aynı yöntemle mi
suselinux

peki otomatik verilerin detaile düşmesi için calculated

Mesaj gönderen suselinux »

Yani Filemaker daki gibi calculated alan oluşturup urun_no:=edit1.text vb. gibi bir seyler dememe gerek var mı yoksa başka yolu var mı :D Çok kafama takıldı harab ettim kendimi bilmiyorum ya çok kötü bir şey vallahi
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

evet hepsi benzer mantıkla. Önemli olan yapıyı iyi kurmak, alan isimlerini aynı ver. Mesela 3 tabloluk bir master-detail için :

MASTER tablo: ID, MASTER_KOD ...
1. DETAIL tablo : ID, MASTER_KOD, DETAIL_KOD ....
2. DETAIL tablo : ID, MASTER_KOD, DETAIL_KOD, ....

gibi olacak. Bu arada ID alanlarının birbiriyle alakası yok. Hepsi her tablo için otomatik artan bir alan yapabilirsin.

Delphi ile gelen örnekleri de inceleyebilirsin : Ben de C:\Program Files\Borland\Delphi7\Demos\Db klasöründe.

Kolay gelsin.
suselinux

mustafa abi son sorum :) emin olabilirsin...

Mesaj gönderen suselinux »

Cevapların için allah razı olsun senden ve forumdan ve içindeki her satır php scriptinden :D Delphide Calculated alan nasıl oluşturacam ve ilişkilendirecem...
suselinux

diyeceksin ki araştır kitap oku

Mesaj gönderen suselinux »

Zeydin Pala Delphi 5 var, Marco Cantu nun delphi 5 arkadaşta ona bakamadım ve birde delphitürkünkünü almıştım hiçbirinde böle bir şey yok calculated alan ile ilgili gerçekten...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

:alsana:

sayın @suselinux, değerli arkadaşım :ara Arama yap. Kaç kere anlatıldı calculated alan bu forumda.

Hatta Forum offline'ı indirip, her soracağın soruyu önce 5-6 sefer ara.

Kolay gelsin.
suselinux

tamam abi kızmada yapamadım bunun için söylüyorum

Mesaj gönderen suselinux »

Ben kendi açımdan konuşuyorum iyi bir delphi kullanıcısı değilim...Okuduğum halde ufak bir örnek olmadı mı ben anlayamıyorum...Belki benim öğrenme kapasitem ama bu böle ilerde gelişecektir...ama şu anda delphi için böle mustafa abi :?
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Böyle yaparsan kendin kaybedersin. Bunun için Delphi bilmene gerek yok. :ara Arama kısmına girip calculated yazıp aratacaksın, sonuçları okuyacaksın.

Beleş yok ;)
Kilitli