Foreign key nedir – Foreign key aksiyonlari

Foreign Key Nedir?

Ön not : Foreign key için türkçe bir ifade bulamadım.

Foreign key‘ler, farklı tablolardaki sütunlar için ilişki ve kısıt uygulama yoludur. Bu durumda ilişkili tablolardan bazıları çocuk bazıları da ebeveyn tablo gibi anılabilir. Bu iş, tıpkı OOP deki sınıf ilişkilerine benzer.

Örneğin bir Üye ve bu üyeye ait birden fazla adres bilgisi tutuluyorsa, bir üye tablosu ve bir adres tablosuna ihtiyacımız olacak. Bu adres tablosunda da üyeye ait tekil (unique) bir değer (join etmek için dahi olsa) bulunması gerekecektir. Bu noktada anlatılmak istenen, o tekil değer üzerinden foreign key tanımlarsak dünya daha yaşanabilir bir yer haline gelebilir 😉 Aşağıdaki aksiyonları tanımlayarak, manuel olarak yapılacak bir çok işlemden aslında otomatik olarak kurtulabiliriz.

Foregin key aksiyonları:

Farklı foreign key kısıt aksiyonlari (kategorileri) vardır. Bunlar nasıl tetiklendiklerine ve nasıl zorlandıklarıan göre değişmektedir :

  • Cascade: (basamaklamak) Ebeveyen tablodan bir satır silindiğinde, aynı foreign key’e sahip satırların tümü çocuk tablodan da silinir. Veya ana tablodaki foreign key tanımlanan sütun üstündeki değişimler, bu çocuk tablodaki ilgili satırlar için de uygulanır.
  • Restrict: (kısıtlamak)Yavru tabloda bir değişiklik meydana geliyorsa, ebeveyn tablodaki silme işlemi yapılamaz. Aynı şekilde değeri de değiştirilemez.
  • No Action: (işlem yok) No action, restrict e çok benzer. Ancak işlemi engellemek yerine, manuel olarak store precedure vb ile ilgili işlemi manuel olarak giderme fırsatı verir.
  • Set NULL: (Null atamak) Foregin key tanımlanacak sütun için NULL izin verilen bir değer ise, ebeveyen tabloda bir değişiklik veya silme işlemi olduktan sonra, çocuk tablodaki ilgili sütun NULL atanır.
  • Set Default: (Varsayılan Atamak) Eğer foreign key tanımlanan sütun için varsayılan bir değer atanmış ise, Ana tabloda yapılan değişiklikten sonra çocuk tablodaki değerler Varsayılan olana atanır.
Posted by / Ekim 25, 2012 / 8 Comments
Posted in
Database, Mysql
Emre Macit

Emre Macit

Ideasoft yazılım departmanı ve Ar-ge sorumlusu. Matematik mühendisi. İnternet üzerine, yazılım ve koda dair her şey hakkında araştırma yapmayı ve bunları denemeyi seviyor. Yazılıma dair yazılar ağırlıklı olmakla birlikte arama motorları, sosyal medya ve teknolojiyle ilgili diğer konularda da yazılar yazıyor. Bazı konular için vakit bulamamaktan şikayetçi..

8 Comments

    Foreign key nedir – Foreign key aksiyonlari « Lé Blog

    […] yoludur. Bu durumda ilişkili tablolardan bazıları çocuk bazıları da eb… Devamı için : Foreign key nedir – Foreign key aksiyonlari Share :FacebookTwitterStumbleUponLinkedInLike this:LikeBe the first to like […]

    Foreign key nedir – Foreign key aksiyonlari « Musa Usta'nın Yeri

    […] yoludur. Bu durumda ilişkili tablolardan bazıları çocuk bazıları da eb… Devamı için : Foreign key nedir – Foreign key aksiyonlari Share this:TwitterFacebookBunu beğen:BeğenBunu beğenen ilk kişi olun.   Yorum […]

    Foreign key nedir – Foreign key aksiyonlari « Gökhan Tunçkale | Blog

    […] yoludur. Bu durumda ilişkili tablolardan bazıları çocuk bazıları da eb… Devamı için : Foreign key nedir – Foreign key aksiyonlari ShareFacebookTwitterStumbleUponMoreTumblrRedditLinkedInDiggEmailPrintBunu beğen:BeğenBunu […]

    Foreign key nedir – Foreign key aksiyonlari « kodluyorum

    […] yoludur. Bu durumda ilişkili tablolardan bazıları çocuk bazıları da eb… Devamı için : Foreign key nedir – Foreign key aksiyonlari Share this:TwitterFacebookBunu beğen:BeğenBunu beğenen ilk kişi […]

    Foreign key nedir – Foreign key aksiyonlari « Anil's Blog

    […] yoludur. Bu durumda ilişkili tablolardan bazıları çocuk bazıları da eb… Devamı için : Foreign key nedir – Foreign key aksiyonlari Bunu beğen:BeğenBunu beğenen ilk kişi […]

    Foreign key nedir – Foreign key aksiyonlari | Boğaç Aslanyürek

    […] yoludur. Bu durumda ilişkili tablolardan bazıları çocuk bazıları da eb… Devamı için : Foreign key nedir – Foreign key aksiyonlari This entry was posted in Professional and tagged cascade, foreign key actions, mysql foreign […]

    Foreign key nedir – Foreign key aksiyonlari | yusufozkay

    […] yoludur. Bu durumda ilişkili tablolardan bazıları çocuk bazıları da eb… Devamı için : Foreign key nedir – Foreign key aksiyonlari Share this:TwitterFacebookBunu beğen:BeğenBunu beğenen ilk kişi olun. Bu yazı Uncategorized […]

    Foreign key nedir – Foreign key aksiyonlari « Murat SAÇ

    […] yoludur. Bu durumda ilişkili tablolardan bazıları çocuk bazıları da eb… Devamı için : Foreign key nedir – Foreign key aksiyonlari Share this:TwitterFacebookBunu beğen:BeğenBunu beğenen ilk kişi olun. […]

Bir Cevap Yazın