foreign key kullanımı anlatan varmı

    1
    blizzard3 13.2.2016 21:19
    slm arkadaslar bu foreign key kullanımını anlatana bir video lazım böle bir kaynak varmı yada yardımcı olurmusunuz
  • 2
    hkan 13.2.2016 22:53
    abi videoluk falan bi olay yok. şimdi iki tane tablon var. biri `users`, diğeri `posts` mesela. `posts` tablosunda `user_id` diye bi kolonun var. Bu kolon `users` tablosundaki `id` kolonuna foreign key (kısaca FK) olarak atanmış.

    Bu arada FK'larda `on update` ve `on delete` diye iki yönerge var. Bunlar, isimden de az çok anlaşılacağı gibi FK'nın *işaret ettiği* tablodaki (bizim örneğimizde `users` olan tablodaki) satırların güncellemesi ve silinmesi durumunda, ilişkili (`posts`) tabloda hangi işlemin yapılacağını söylüyor.

    Mesela...
    - `on update cascade` seçersen, `users` tablosunda bir satırın ID'sini değiştirdiğin zaman, `posts` tablosundaki ilgili `user_id` kolonları da doğru ID'yi alıyor hemen. Otomatik olarak. Sen elle hiçbir şey yapmak zorunda kalmıyosun.
    - `on delete cascade` seçersen, `users` tablosunda bi satırı sildiğinde, `posts` tablosunda o user'la bağlantılı bütün postlar da silinir.

    `set null` ayrıca. `on update set null` seçtiğinde bir user'ın ID'sini değiştirirsen, post'un `user_id`si NULL yapılır. `on delete set null` dersen, user silindiğinde, bağlantılı post'ların `user_id`leri NULL yapılır.