Daha büyük soru şudur: Göz bağı takılıyken araba sürer misiniz? Referans kısıtlamaları olmayan bir sistem geliştirirseniz böyle olur. İş gereksinimlerinin değiştiğini, uygulama tasarımı değişikliklerinin, kod değişikliklerindeki ilgili mantıksal varsayımların, mantığın kendisinin yeniden düzenlenebileceğini ve benzeri şeyleri unutmayın. Genel olarak, veritabanlarındaki kısıtlamalar, belirli mantıksal iddialar ve varsayımlar kümesi için doğru gibi görünen çağdaş mantıksal varsayımlar altında uygulanmaktadır.
Bir uygulamanın yaşam döngüsü boyunca, referans ve veri kontrolleri, özellikle yeni gereksinimler mantıksal uygulamayı değiştirdiğinde, uygulama yoluyla polis veri toplamayı kısıtlar.
Bu listenin konusuna - yabancı bir anahtar tek başına "performansı iyileştirmez" veya gerçek zamanlı işlem işleme sistemi açısından performansı "önemli ölçüde düşürmez". Ancak, YÜKSEK hacimli "parti" sisteminde kısıtlama kontrolü için toplu bir maliyet vardır. Yani, fark, gerçek zamanlı ve toplu işlem süreci; toplu işleme - ardışık olarak işlenmiş bir toplu işin kısıtlama denetimleriyle oluşan toplam maliyet bir performans isabeti oluşturur.
İyi tasarlanmış bir sistemde, bir seri işlenmeden "önce" veri tutarlılığı kontrolleri yapılacaktır (yine de burada da bir maliyet söz konusudur); bu nedenle, yükleme sırasında yabancı anahtar kısıtlama denetimlerine gerek yoktur. Aslında, yabancı anahtar dahil tüm kısıtlamalar, toplu iş işlenene kadar geçici olarak devre dışı bırakılmalıdır.
SORGULAMA PERFORMANSI - tablolar yabancı anahtarlarda birleştirilirse, yabancı anahtar sütunlarının İNDEKSLENMEDİĞİNİN farkında olun (ilgili birincil anahtarın tanımıyla dizine eklenmiş olmasına rağmen). Yabancı bir anahtarın endekslenmesi, herhangi bir anahtarın endekslenmesi ve endekslenmiş tabloların birleştirilmesi, endekslenmemiş anahtarın üzerinde yabancı anahtar kısıtlaması ile birleştirilmesiyle değil, daha iyi performans elde edilmesine yardımcı olur.
Nesneleri değiştirmek , eğer bir veritabanı sadece web sitesi görüntüleme / içerik oluşturma / vb. Bunu düşün. Çoğu web sitesi bunun için bir veritabanı bile kullanmaz. Verilerin sadece kaydedildiği ve her biri için referans verilmediği benzer gereksinimler için, kısıtlamaları olmayan bir bellek içi veritabanı kullanın. Bu, hiçbir veri modeli, evet mantıksal model olmadığı, ancak fiziksel veri modeli olmadığı anlamına gelmez.