arkadaşlar başlıktada belirttiğim gibi çok fazla yerden araştırdım ama mantığını bir türlü oturtamadım herkes ezber bir şekilde öğretiyor olayın mantığını olabildiğince açıklayıcı bir şekilde anlatır mısınız ?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
önce Constraint in manasına bakalım ksıtlama demek veritabanında bazı işlemleri kısıtlamak için yapılır mesela not null boş geçilmez örneğin veritabanınında adres bilgisi zorunlu ise not null yaparsınız oraya giriş yapılmadan kayıt gerçekleşmez unique benzersiz bir satırdaki kolonun değeri üsttekiyle aynı olmaz mesela tc no herkesin farklı aynı tc ile 2 kayıt olmaz birincil anahtar primary key not null ile uniqueın birleşimi foreign key yabancı anahtar bu daha çok veri tutarlılığını sağlamak için kullanılır mesela kişi tablon olsun kişi bilgileri olsun bir de icra tablon olsun onda da icra bilgileri mesela foreign key ile bağlama yapmazsan kişiyi silince icradaki verileri silinmeyecektir ayrıca tersi durumda icra girişi yaparken olmayan bir kişiye icra girişi yapamazsın tutarlı olur
Bazı şeyler böyledir. 5 yıldır geliştiriciyim. ilk 2 yıl interface kullanmak anlamsız geliyordu. abstract ,interface bunların ne olduğunu biliyordum ama mantığını anlamıyordum. Çokça okuma da yaptım. Ne zaman ki dependency Injection paterni kullanan ve bundan fayda sağlayan bir projede görev aldım o zaman abstract da ınterface de dakikalar içinde cuk diye yerine oturdu. İlişkisel veritabanlarında amaç sadece veriyi tutmak değildir. Belirli bir kalıpta tutmak gerekir. O şartları sağlamayan verileri database almayız. almak istemeyiz. işte bu noktada bazı araçlar var. Constraint de bu kapsamda. Yabancıl anahtarın bir diğer faydası Entity Framework gibi ORM araçları Yabancıl anahtara bakarak sema olusturur ve sorgularda kolaylık sağlar. Kısıtlayıcılardan primary key zaten mecbur kullanırsın. Bazen primary key olmayan tablolar da olur ama genelleme yapmaya uygun her tablonun primary keyi olmalı. Yabancıl anahtarda ihtiyacın olunca netleşir ki sipariş kaydederken hem ürünler tablosu hem sipariş tablosu eşleşmezse orada bir hata var demektir onu kaydetmek istemeyiz. tek programcı iken belkide ya zaten aldıgım yerde ben iki işlemi yapmaıyorum diyebilirsin ama programcı sayısı arttıkça gerekiyor.
unique için örnek vereyim. Resimleri veritabanımızda tuttuğumuz bir uygulama var. Şimdi Büyük veritabanı => maliyet . Kullanıcı zaten varolan bir resmi ekleyemesin istersek hashını alır bir kolona koyarız o kolonu unique yaparız. programlama anında da o hatay yakalar ona göre misal bu resim zaten var deriz. Kısaca bazen hatayı almak çözümdür.
Tam anlayamadı isen kendine zaman ver. Zamanla oturur. Hatta bazen döngü söyle oluyor Triger bilmiyorum kullanmıyorum. Trigger biliyorum kullanıyorum. Artik trigger biliyorum ama kullanmıyorum (sebepli) gibi.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi deniz caliskan -- 20 Şubat 2017; 15:33:15 >