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
master-detail ilişkisi
master-detail ilişkisi
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
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.
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.