मैं SQL Server 2005 में एक नई तालिका बना रहा हूं जिसमें 2 फ़ील्ड की आवश्यकता है: डेटटाइम और MyValue (Int32)। डेटटाइम फ़ील्ड अद्वितीय होगा इसलिए मैं इस पर एक अनूठी बाधा स्थापित करूँगा।डेटाटाइम फ़ील्ड पर SQL सर्वर प्राथमिक कुंजी
कौन सी तालिका संरचना बेहतर है और क्यों?
MyIndex (पी, पूर्णांक)
MyDate (दिनांक) (IX_UniqueKey)
MyValue (int)
या
MyDate (पी, datetime)
MyValue (int)
मेरी भावना यह है कि मैं इस तालिका में एक कृत्रिम पीके (माई इंडेक्स) नहीं चाहता क्योंकि यह अनावश्यक है और क्योंकि तारीखें अनूठी होंगी, मैं उन्हें किसी भी रिकॉर्ड तक पहुंचने के लिए उपयोग करूंगा। हालांकि, यह हो सकता है कि यह एक कृत्रिम पीके है ...?
व्यक्तिगत रूप से मैं माईडेट, माइंडेक्स, माईवैल्यू इत्यादि का उपयोग नहीं करता। "मेरा" उपसर्ग क्या जोड़ता है?EventDate या EventDateTime, और [Value] या EventValue क्यों नहीं? साथ ही, यदि दिनांक मान अद्वितीय होंगे, तो मुझे लगता है कि संकल्प घंटे या दिन है। यदि ऐसा है, तो DATETIME की तुलना में SMALLDATETIME का उपयोग करना बेहतर है। –
@Aaron Bertrand, मुझे लगता है कि यह केवल एक उदाहरण था, और DATETIME दूसरे/मिलीसेकंद के लिए हो सकता है। –
सही - यह वास्तविक सारणी का एक सार है। – Guy