DROP komutu ile Veritabanı ve Tablo Silme başlıklı yazıda DROP TABLE ve DROP DATABASE komutlarının kullanımı görsellerle ayrıntılı olarak açıklandı. Bu yazıda ise Yabancı Anahtar (Foreign Key) ile birbirine bağlanmış tabloların nasıl ve hangi sırada silinmesi gerektiğinden bahsedilecektir.
Yabancı Anahtar (Foreign Key) ile birbirine bağlanmış tablolar birbirlerinden ne kadar ayrı olsalar da birlikte hareket ederler. Tabloların birbirine bağlanması başlığında tabloların birbirine kısıtlama kullanılarak nasıl bağlanacağı anlatılmıştır. Bu yazıyı okumadan önce o yazıyı okumanızı tavsiye ederim.
Tabloları oluşturma esnasında (CREATE TABLE) bağımlı yani yabancı anahtar olan tablolar en son oluşturulur. Silme işlemlerinde ise oluşturma adımlarının tam tersi şeklinde yapılır.
Örneğin yukarıdaki örnekte ilk önce bolum tablosu daha sonra personel tablosu oluşturulur. bolum tablosunu silmek istediğimizde ise ilk önce ona bağımlı olan personel tablosu silmemiz gerekmektedir. Personel tablosunu silmeden bolum tablosunu silmeye çalıştığımızda karşımıza aşağıdaki hata gelecektir.
1 2 | USE sirket; DROP TABLE bolum; |
Hata:
İlk aşamada bağımlı olan personel tablosu silinir.
1 | DROP TABLE personel; |
Daha sonra asıl silinmek istenilen bolum tablosu silinir.
1 | DROP TABLE bolum; |