SQL सर्वर में टेबल नाम "dbo" से क्यों शुरू होते हैं?


जवाबों:


233

dbo SQL सर्वर में डिफ़ॉल्ट स्कीमा है। आप अपने खुद के स्कीमा बना सकते हैं ताकि आप अपने ऑब्जेक्ट नेमस्पेस का बेहतर प्रबंधन कर सकें।


22
एक सर्वोत्तम अभ्यास के रूप में, मैं हमेशा "dbo" जोड़ता हूं। उपसर्ग भले ही आवश्यक न हो। एसक्यूएल में अधिकांश समय स्पष्ट होना अच्छा है।
SurroundedByFish

3
@SurroundedByFish: शायद सबसे अच्छा अभ्यास नहीं है, लेकिन मैं गलत हो सकता हूं क्योंकि मैं एक SQL विशेषज्ञ नहीं हूं। stackoverflow.com/a/769639/602245
ब्रेट

13
एक अलग जवाब से यह लेख दावा करता है कि यह वास्तव में एक सर्वोत्तम अभ्यास है: "कोड को पूरी तरह से योग्य नाम का उपयोग नहीं करना होगा, हालांकि ऐसा करने में थोड़ा सा प्रदर्शन लाभ है और इसे सबसे अच्छा अभ्यास माना जाता है।"
कार्ल जी

7
इसके अलावा, आपके द्वारा जोड़ा गया उत्तर भी "dbo" सहित की सिफारिश करता है। ताकि अनुकूलक को स्कीमा देखने की जरूरत न पड़े।
कार्ल जी।

7
dbo एक अच्छा अभ्यास नहीं है। अपना स्वयं का स्कीमा बनाएं और हमेशा इसका उपयोग करें। dbo केवल आ माइग्रेशन ट्रिक मौजूद है इसलिए प्री-SQL सर्वर 2005 काम करना जारी रखता है। हाँ, हमेशा perf के लिए एक स्कीमा का उपयोग करें। नहीं, माइग्रेशन वन (जैसे dbo) नहीं।
डेविड बैतज़

85

यदि आप Sql Server Management Studio का उपयोग कर रहे हैं, तो आप डेटाबेस - योर डेटाबेस - सिक्योरिटी - स्कीम्स पर ब्राउज़ करके अपना स्वयं का स्कीमा बना सकते हैं।

स्क्रिप्ट का उपयोग करके एक बनाने के लिए आसान है (उदाहरण के लिए):

CREATE SCHEMA [EnterSchemaNameHere] AUTHORIZATION [dbo]

उदाहरण के लिए, "वित्तीय" जानकारी के लिए स्कीमा बनाकर और "व्यक्तिगत" डेटा के लिए आप अपनी तालिका को तार्किक रूप से समूह में उपयोग कर सकते हैं। आपकी तालिकाएँ तब प्रदर्शित होंगी:

Financial.BankAccounts Financial.ransactions Personal.Address

Dbo के डिफ़ॉल्ट स्कीमा का उपयोग करने के बजाय।


क्या आप जानते हैं कि अगर हम एंटिटी फ्रेमवर्क का उपयोग करते हैं, तो यह किसी भी समस्या का कारण बनता है?
बटमासी

6
आप इकाई फ्रेमवर्क के साथ स्कीमा का उपयोग कर सकते हैं - भले ही आपको पहले कोड पसंद हो:[Table("Customer", Schema = "MySchema")]
फेंटन

क्या 'AUTHORIZATION [dbo]' स्कीमा पर dbo के समान अनुमतियाँ प्रदान करता है, या क्या मुझे अभी भी उपयोगकर्ताओं को अनुमति देने की आवश्यकता है?
मार्क Micallef

21

यह SQL 2005 के लिए नया है और विशेष रूप से उस "समूह" में वस्तुओं को सुरक्षित करने के उद्देश्य से समूह की वस्तुओं के लिए एक सरलीकृत तरीका प्रदान करता है।

निम्न लिंक गहराई से स्पष्टीकरण प्रदान करता है कि यह क्या है, हम इसका उपयोग क्यों करेंगे:

SQL सर्वर में स्वामी और स्कीमा के बीच अंतर को समझना

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.