MySQL deki ID bağımlılığından kurtulmak
başlıkta da belirttiğim gibi kodlarken MySQL de ki id bağımlılığından kurtulmanın bir yolu var mıdır
Sanırım Soruyu hatalı sordum
Aslında şu şekil sorsam sanırım daha anlaşılır olurdu
veri tabanında 20 tane tablo var ve bu tablolarda binlerce kaydım olduğunu varsayalım
bu kayıtların hepsi ürünler tablosu ile ilişkili
ürünler tablosundan bir ürünü yanlışlıkla sildiğimi farz edelim bu kayıtla ilişkili 20 tane tablodaki binlerce kaydın ürünler tablosunda bir karşılığı olmadığı için haliyle çöp olmuş olacak bu gibi senaryoda nasıl bir yol izlenmeli ıD bağımlılığından kastım buydu
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
İlişkisel veri tabanı mantığını yi anlamak gerekiyor bu durumda. Bahsettiğiniz durum için da tam olarak FOREIGN KEY
diye bir kavram var. urunler tablonuzun birincil anahtarını diğer 19 tabloda bir yabancı anahtar (foreign key) olarak tanımlayıp arasındaki ilişkiyi de güzelce belirlerseniz hem yanlışlıkla silmelerin önüne geçersiniz hem de silinen bir değerin diğer tablolardaki bağımlılıklarının da istenildği şekilde düzenlenmesini sağlamış olursunuz. Özellikle foreign key ile kullanılan CASCADE özelliğine dikkat çekmeniz gerekir. En iyi yöntem budur.
Belki bir de trigger (tetikleyici) kullanarak da bir tablodaki veri değişikliklerini izleyip diğer tablolardaki manipülasyonu sağlayabilirsiniz. Bunun için örnek video linki
Sanırım Soruyu hatalı sordum
Aslında şu şekil sorsam sanırım daha anlaşılır olurdu
veri tabanında 20 tane tablo var ve bu tablolarda binlerce kaydım olduğunu varsayalım
bu kayıtların hepsi ürünler tablosu ile ilişkili
ürünler tablosundan bir ürünü yanlışlıkla sildiğimi farz edelim bu kayıtla ilişkili 20 tane tablodaki binlerce kaydın ürünler tablosunda bir karşılığı olmadığı için haliyle çöp olmuş olacak bu gibi senaryoda nasıl bir yol izlenmeli ıD bağımlılığından kastım buydu
eger unique bir degerin varsa id haricinde, elbette id kullanmak zorunda degilsin. ornegin blog mantigini ele alalim.
eger senin basliklarinin tamami birbirinden farkli olacagina eminsen, unique olacaksa o zaman id yerine url kontrolu yapabilirsin, sana kalmis bu durum.