master-detail ilişkisi

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

master-detail ilişkisi

Mesaj gönderen vedatkaba »

firebird vt. foringkey,primarykey leri nerede ve nasıl kullanırsak bize artı sağlar ve tanımlamada nelere dikkat etmeliyiz..mesela ben IBExpert kullanarak tanımlıyorum unique olursa tekrarsız olur ama kiii..

benim burda takıldığım nokta master tablodan bir kayıt girdik ve detail tabloda ise bu kayıta bağlı alt alta 1 den fazla kayıt girilecek

mastertablo detail tablo
--------------- --------------------
1 kayıt ---------> kayıt1
----------------------- kayıt2
----------------------- kayıt3
2 kayıt -----------> kayıt1
----------------------- kayıt2
----------------------- kayıt3
kayıt4

bu yapı nasıl olcak burda master tabloya 1 kayıt gircek detail tabloda ise bu kayıtın 1 den fazla alt dalları olabilir..yani kayıt 1 i seçtiğimizde bunun alt dalları çıkıcak firebirdde böyle bir yapıyı nasıl oluştururuz..parodoxta yapıyordum ama firebirdde kafam baya karıştı..
birde şunu sorcam detail tabloda iki tane integer alan oluşturarak neot null olarak bunlardan ikisinede index oalrak tanımlasak ama indexlerden biri uniqe biri değil uniqe olmayanla master tabloya bağlantı yapsak diğeriylede birden fazla kayıt girildiği zaman bu integer alanı kullansak gibi olurmu kullanılabilir mi diye düşündüm
kolay gelsin
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
coskun
Üye
Mesajlar: 46
Kayıt: 22 Nis 2005 05:50
Konum: istanbul

Mesaj gönderen coskun »

merhabalar hocam.

firebird'de şunu yapabilirsin. kurrulumdan sonra tablonuda oluşturduktan sonra, master tablonda bir tane (pk) oluşturursun.

detail tablonda ise bu master tablodaki (pk) alanına göre detail tablonda (fk) yaratırsın. bunun avantajlarına gelince de foreign key yaratırken seçenekler var. update ve delete kısmında cascade olarak ayarlarsan bu kısımları master tablonda birkayıt silerken veya güncellerken bunu detail tablolarda ki pk alanlarına göre kendisi yönetmekte. yani master tablondan bir kayıt silmek istiediğin zaman eğer detail de de fk ayarlıysa ve delete seçeneği cascade seçilmiş durumdaysa o kayıtlar kaç tane detail tabloda fk olarak tanımlanmışsa hepsi silinir. update seçeneğin dede aynı durum vardır.
Cevapla