Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SSMS 2008 में अपडेट को समझना और संबंधों के लिए नियमों को हटाना

विदेशी कुंजी दो तालिकाओं के बीच माता-पिता-बाल संबंध को परिभाषित करती है। पैरेंट टेबल में प्राथमिक कुंजी n चाइल्ड टेबल पंक्तियों में विदेशी कुंजी है।

अब यदि मूल तालिका में वह प्राथमिक कुंजी अद्यतन हो जाती है, तो अद्यतन नियम शुरू हो जाता है। या तो सभी बच्चे पंक्तियों को भी अद्यतन किया जाता है, NULL या जो कुछ भी सेट किया जाता है। हालांकि सबसे अच्छा अभ्यास एक प्राथमिक कुंजी है जो कभी नहीं बदलती (एक निश्चित आईडी या कुछ और), इसलिए यह कम महत्वपूर्ण नियम है।

अधिक महत्वपूर्ण है DELETE नियम - क्या होगा यदि मूल पंक्ति हटा दी जाती है (उदा। आदेश हटा दिया गया है)? आप या तो CASCADE DELETE के साथ सभी चाइल्ड पंक्तियों (सभी ऑर्डर लाइन आइटम) को हटा सकते हैं, या आप उनकी विदेशी कुंजी को NULL पर सेट कर सकते हैं (उनके पास अब कोई माता-पिता नहीं है) - यह पूरी तरह से आपके ठोस परिदृश्य पर निर्भर है।

ऑर्डर/ऑर्डर लाइन परिदृश्य में, जब पूरा ऑर्डर डिलीट हो जाता है तो ऑर्डर लाइन को हटाना पूरी तरह से उपयोगी हो सकता है, लेकिन आप शायद किसी उत्पाद को हटाना नहीं चाहते हैं, सिर्फ इसलिए कि एक ऑर्डर जो संदर्भित करता है उसे हटा दिया गया है - ऐसा नहीं है एक ही सही उत्तर - यह आपके परिदृश्य और आपके ऐप पर निर्भर करता है।

मार्क



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मर्ज स्टेटमेंट में वेरिएबल सेट करने के लिए आउटपुट का उपयोग करना

  2. SQL सर्वर में लॉगिन की डिफ़ॉल्ट भाषा बदलें

  3. SQL सर्वर ब्लॉकिंग के साथ DBA डोर पर ब्लॉक, ब्लॉक, ब्लॉकिंग

  4. किसी अन्य चयन के लिए पंक्ति नामों के रूप में sql चयनित मानों का उपयोग करें

  5. Sp_executesql . में LIKE का उपयोग करना