12 EYLÜL 2008, Cuma
Ne zaman SQL Server Basamaklı kullanmak Neden?
SQL Server yabancı tuşları ayarlarken, hangi şartlar altında delete veya update cascade, ve bunun arkasındaki mantık nedir?
Bu da muhtemelen diğer veritabanları için geçerlidir.
Her senaryo, başarıyla kullanan birisi tercihen itibaren somut örnekler için en önemlisi arıyorum.
CEVAP
12 EYLÜL 2008, Cuma
Şimdiye kadar gördüklerim özeti:
- Bazı insanlar basamaklı hiç sevmezler.
Art Arda Silme
- Cascade Delete ilişki semantiği özel içerebilir zaman mantıklı olabilir"bir parçasıdır" açıklama. Örneğin, OrderLine bir kayıt üst düzenin bir parçası olduğunu ve OrderLines asla birden fazla emir arasında paylaşılacak. Eğer Sipariş kaybolmak olsaydı, OrderLine de gerekir, ve bir Emir olmadan bir satır bir sorun olurdu.
- Art arda Silme için standart örnek, hiç karşılık gelen bir ana Kayıt Olmadan varlığını öğeleri bir kayıt için herhangi bir anlam ifade etmiyor nerede SomeObject ve SomeObjectİtems.
- Gerekirdeğileğer tarihi koruma ya da "/" sadece 1/silinmiş bit sütun kümesi gerçek. mantıksal yumuşak bir kullanıyorsanız Cascade Delete kullanın
Cascade Update
- Cascade Update bir yedek anahtar (kimlik/otomatik artış sütun) tablo karşısında, yerine gerçek bir anahtar kullandığınızda bir anlam ifade etmiyor olabilir.
- Cascade Update için standart örnek, değişken bir yabancı anahtar varsa, değiştirilebilir bir kullanıcı adı gibi.
- GerekirdeğilKimlik/sütunları otomatik artış anahtarlar ile Cascade Update kullanın.
- Cascade Update, benzersiz bir kısıtlama ile birlikte kullanılır.
Basamaklı Kullanma Zamanı
- Ekstra Güçlü bir onay kullanıcıdan geri ardarda bir operasyona izin vermeden önce almak isteyebilirsiniz, ama uygulamanız bağlıdır.
- Basamaklı ise yabancı anahtarları yanlış ayarlarsanız sorun olabilir. Ama eğer bunu doğru yaparsan sorun çıkmaz.
- Bilge bunu anlamak için önce basamaklı iyice kullanmak için değil. Ancak, yararlı bir özellik ve anlamak için zaman ayırmak, bu nedenle değer.
Bunu Paylaş:
Ne zaman SQL Server noktalı virgül kul...
Ne zaman Android uygulamalarında parça...
Yükleme SQL Server 2008 Geliştirici za...
Neden Temel İşlevleri üzerinde PHP OOP...
Neden ve ne Zaman SEYREK SÜTUN kullanm...