डेटाबेस फ़ील्ड के लिए मानक लंबाई की सूची


394

मैं एक डेटाबेस टेबल डिजाइन कर रहा हूं और एक बार फिर से खुद से वही बेवकूफी भरा सवाल पूछ रहा हूं: फर्स्टनेम फील्ड कब तक होना चाहिए?

क्या किसी के पास सबसे आम क्षेत्रों के लिए उचित लंबाई की सूची है , जैसे पहला नाम, अंतिम नाम और ईमेल पता?


1
बस सुनिश्चित करें कि आप नामों में गैर-अल्फा वर्ण की अनुमति देते हैं! अपने अंतिम नाम में हाइफ़न पर अंक
क्रिस मैरास्टी-जॉर्ज

3
अधिकतम ई-मेल पता लंबाई के लिए "मान्य ईमेल आईडी की अधिकतम लंबाई" देखें ।
outis

2
एक नोट: दोनों को "पहले नाम" और "अंतिम नाम" दोनों की आवश्यकता नहीं है। मेरे जैसे कुछ लोगों का, केवल एक ही नाम है। (प्रमाण: web.archive.org/web/20130115074449/http://saizai.com/… )
साईं

URL के बारे में क्या है, जैसे ब्लॉग या प्रोफ़ाइल का लिंक?
एलिकएल्ज़िन-किलाका

खराब है अगर नाम के रूप में लंबे समय के रूप में यह एक gintama.wikia.com/wiki/Jugem_Jugem

जवाबों:


34

W3C की सिफारिश:

यदि एक ऐसा फॉर्म या डेटाबेस तैयार करना जो विभिन्न प्रकार की पृष्ठभूमि वाले लोगों से नामों को स्वीकार करेगा, तो आपको खुद से पूछना चाहिए कि क्या आपको वास्तव में दिए गए नाम और परिवार के नाम के लिए अलग-अलग फ़ील्ड की आवश्यकता है।

... ध्यान रखें कि कुछ संस्कृतियों में नाम आपके खुद के मुकाबले काफी लंबे हो सकते हैं। … अपने डेटाबेस में नामों के लिए फ़ील्ड आकार को सीमित करने से बचें । विशेष रूप से, यह मत मानो कि यूटीएफ -8 में एक चार-चरित्र जापानी नाम चार बाइट्स में फिट होगा - आपको वास्तव में 12 की आवश्यकता है।

https://www.w3.org/International/questions/qa-personal-names

डेटाबेस फ़ील्ड्स के लिए, VARCHAR(255)एक सुरक्षित डिफ़ॉल्ट विकल्प है, जब तक कि आप वास्तव में कुछ और उपयोग करने के लिए एक अच्छे कारण के साथ नहीं आ सकते। विशिष्ट वेब अनुप्रयोगों के लिए, प्रदर्शन में कोई समस्या नहीं होगी। समय से पहले अनुकूलन न करें।


26
मुझे यह सवाल पूछे 10 साल हो गए हैं। अपने बेल्ट के तहत 10 साल के अनुभव के साथ, मैं आपसे सहमत होना चाहता हूं।
पैट्रिक मैक्लेनी

2
एक लिफाफे पर 255 अक्षरों का लंबा नाम कैसे होगा?
माइकल पॉटर

316

मैंने संयुक्त राज्य अमेरिका में अपने लाखों ग्राहकों के साथ अपने डेटाबेस की खोज की।

  • अधिकतम पहला नाम लंबाई था 46. मैं 50 के साथ जाना (बेशक, उन में से केवल 500 25 से अधिक थे, और वे सभी मामलों में जहां डाटा के आयात को अतिरिक्त कबाड़ उस क्षेत्र में समापन के परिणामस्वरूप थे।)

  • अंतिम नाम पहले नाम के समान था।

  • ईमेल पते 62 वर्णों पर अधिकतम हो गए हैं। ज़्यादातर लोग वास्तव में अर्धविराम द्वारा अलग किए गए ईमेल पतों की सूची थे।

  • स्ट्रीट पता अधिकतम 95 वर्णों का है। लंबे सभी वैध थे।

  • मैक्स शहर की लंबाई 35 थी।

यह अमेरिका में लोगों के लिए एक सभ्य सांख्यिकीय प्रसार होना चाहिए। यदि आपके पास विचार करने के लिए स्थानीयकरण है, तो संख्या काफी भिन्न हो सकती है।


4
आपकी तुलना में, मेरे पास जिन डेटाबेसों तक पहुंच है, वे छोटे हैं, लेकिन वहां भी मुझे 138 पात्रों का ईमेल पता मिला। स्थानीय घटक स्पष्ट रूप से LDAP (या AD?) प्रतिष्ठित नाम का कुछ प्रकार है।
बर्नजेंड्रीसेक

2
फोन नंबर के बारे में कैसे?
ceving

@ EricZBeard "स्ट्रीट एड्रेस" में घर का नंबर शामिल है?
no --z।

3
आपके डेटाबेस में ईमेल पतों की औसत लंबाई सिफारिश के लिए एक अच्छा उपाय नहीं है। ईमेल पते की अधिकतम वैध लंबाई 254 वर्ण है और डेटाबेस में निर्दिष्ट लंबाई होनी चाहिए। इसके अतिरिक्त एकल कॉलम में ईमेल पतों की सूचियाँ मुझे संकेत देती हैं कि आपका डेटा सामान्य नहीं है और इस तरह आपके उत्तर को और अमान्य कर देता है।
मारियो

1
@MGOwen सबसे पहले, आप डेटाबेस के उद्देश्य को नहीं जानते हैं, कुछ सेटिंग्स में किसी को अपने ईमेल की तरह एक तुच्छ मुद्दे के कारण पहुंच से वंचित किया जा रहा है "बहुत लंबा" एक प्रमुख मुद्दा हो सकता है। दूसरे, आपके द्वारा पोस्ट की गई लिंक कहती है "सबसे लंबा वैध 89 है", जहां यह कहता है कि यह 62 है। कौन सा सही है? यदि आप केवल एक मनमाना संख्या चुनना चाहते हैं या आपके पास कोई मान्य कारण है जैसे नाम पते के भाग के रूप में शामिल होना चाहिए, तो ठीक है। हालाँकि यह अभी भी वाजिब है, कि जब संदेह हो, तो आप युक्ति का उल्लेख करें। मैं अभी भी मानता हूं कि "मेरा डेटाबेस अधिकतम एक्स पर" एक एकल व्यक्ति एक उपाख्यान है।
मारियो

170

यूके सरकार डेटा मानक कैटलॉग इस प्रकार की चीज़ों के लिए यूके मानकों का विवरण देता है। यह दिए गए नाम और परिवार के नाम में से प्रत्येक के लिए 35 वर्ण या पूर्ण नाम और एक ईमेल पते के लिए 255 वर्ण रखने के लिए एक एकल क्षेत्र के लिए 70 वर्णों का सुझाव देता है। अन्य चीज़ों के बीच..


3
लिंक को 22 अक्टूबर, 2010 तक अद्यतन किए जाने की आवश्यकता है। मैंने इसके लिए googled: साइट: *। Gov.uk नाम "35 वर्ण" और इस doc न्याय
टोनी आर

20
बस एक विचार ... क्या एक ही क्षेत्र में पहले और अंतिम नाम के लिए 71 अक्षर नहीं होने चाहिए, यह देखते हुए कि कोई स्थान होना चाहिए?
जोसेफ रेडफर्न

8
खैर, स्पष्ट रूप से वे कभी-कभार लंबे समय तक (35 वर्णों तक) और कभी-कभार लंबे उपनाम (35 वर्णों तक) का अनुमान लगाते हैं, लेकिन जरूरी नहीं कि किसी व्यक्ति के लिए लंबा नाम और उपनाम दोनों का संयोजन हो। यह सिर्फ लालची होगा ;-)
इयान नेल्सन

6
अगर श्री एल ताहिर एल फादिल एल सिद्दीग अबदर्रहमान मोहम्मद अहमद अब्देल करीम एल महदी वास्तव में अपने सभी नामों का उपयोग करते हैं तो ऑनलाइन फॉर्म भरते समय मैं प्रभावित होता हूं। मेरे पास दो मध्य नाम हैं, लेकिन मैं केवल आधिकारिक (सरकारी) रूपों के अलावा उनमें से किसी एक का उपयोग करता हूं।
लियोन

2
RFC 3696 के अनुसार @ ian-nelson ईमेल की लंबाई: यह सीमा "स्थानीय भाग" ("@" से पहले) में अधिकतम 64 वर्ण (ओकटेट) और डोमेन भाग में अधिकतम 255 वर्ण (ओकटेट) है (बाद में) 320 अक्षरों की कुल लंबाई के लिए "@")। ईमेल को संभालने वाले सिस्टम को उन पतों को संसाधित करने के लिए तैयार किया जाना चाहिए जो लंबे समय तक होते हैं, भले ही वे शायद ही कभी सामना किए जाते हैं।
पायोत्र नवरोट

53

कुछ शायद कॉलम की लंबाई सही करते हैं

                            Min Max

Hostname                    1   255
Domain Name                 4   253
Email Address               7   254
Email Address [1]           3   254
Telephone Number            10  15      
Telephone Number [2]        3   26  
HTTP(S) URL w domain name   11  2083        
URL [3]                     6   2083    
Postal Code [4]             2   11
IP Address (incl ipv6)      7   45
Longitude                   numeric 9,6
Latitude                    numeric 8,6
Money[5]                    numeric 19,4

[1] Allow local domains or TLD-only domains
[2] Allow short numbers like 911 and extensions like 16045551212x12345
[3] Allow local domains, tv:// scheme
[4] http://en.wikipedia.org/wiki/List_of_postal_codes. Use max 12 if storing dash or space
[5] http://stackoverflow.com/questions/224462/storing-money-in-a-decimal-column-what-precision-and-scale

व्यक्तिगत नामों पर एक लंबी रेंट

एक व्यक्तिगत नाम या तो एक Polynym (एक बहु के साथ नाम है sortable (- इस राजकुमार जैसे लोगों की वजह से मौजूद है एक नाम एक तस्वीर द्वारा प्रतिनिधित्व) घटक), किसी एकार्थपद (केवल एक घटक के साथ एक नाम), या एक Pictonym।

एक व्यक्ति के कई नाम हो सकते हैं, भूमिकाएं निभा सकते हैं, जैसे कि कानूनी, मरीज़, MAIDEN, पूर्वनिर्धारित, सोसाइटी, PSEUDONYM, आदि आपके पास व्यावसायिक नियम हो सकते हैं, जैसे कि "एक व्यक्ति एक समय में केवल एक कानूनी नाम हो सकता है, लेकिन कई छद्म नाम। समय पर"।

कुछ उदाहरण:

names: [
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"George",
    middle:"Herman",
    moniker:"Babe",
    surname:"Ruth",
    generation:"JUNIOR"
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"The Bambino" /* mononyms can be more than one word, but only one component */
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"The Sultan of Swat"
  }
]

या

names: [
  {
    type:"POLYNYM",
    role:"PREFERRED",
    given:"Malcolm",
    surname:"X"
  },
  {
    type:"POLYNYM",
    role:"BIRTH",
    given:"Malcolm",
    surname:"Little"
  },
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Malik",
    surname:"El-Shabazz"
  }
]

या

names:[
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Prince",
    middle:"Rogers",
    surname:"Nelson"
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"Prince"
  },
  {
    type:"PICTONYM",
    role:"LEGAL",
    url:"http://upload.wikimedia.org/wikipedia/en/thumb/a/af/Prince_logo.svg/130px-Prince_logo.svg.png"
  }
]

या

names:[
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Juan Pablo",
    surname:"Fernández de Calderón",
    secondarySurname:"García-Iglesias" /* hispanic people often have two surnames. it can be impolite to use the wrong one. Portuguese and Spaniards differ as to which surname is important */
  }
]

नामों, मध्य नामों, उपनामों को देखते हुए कई शब्द हो सकते हैं जैसे कि "Billy Bob" Thornton, या Ralph "Vaughn Williams"


5
यह बहुत जानकारीपूर्ण है लेकिन एक सुपर उपयोगी उत्तर नहीं है। अगली बार मुझे एक "शायद सही" उत्तर चाहिए जो मैं आपको बताऊंगा।
n8bar

16

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

एक और चीज जो मुझे पसंद है वह है Lipsum.com पर जाना और इसे कुछ टेक्स्ट जनरेट करने के लिए कहना। इस तरह आप सिर्फ 100 बाइट्स की तरह दिखने का एक अच्छा विचार प्राप्त कर सकते हैं।


6
ओह माय - पहला व्यक्ति जो यह ध्यान देता है कि बड़े क्षेत्रों में जरूरी नहीं कि अधिक स्टोरेज स्पेस हो, इसलिए वर्चर में "संस्करण"। NVarchar आमतौर पर हालांकि नामों के लिए अधिक समझ में आता है।
ताओ

कार्यान्वयन पर निर्भर करता है। अगर VARCHAR UTF-8 का समर्थन करता है, तो आपको NVARCHAR की आवश्यकता नहीं है।
dan04

2
[N]Varcharआकार है फिर भी आपकी अनुक्रमित प्रभावित करते हैं।
RBarryYoung

11

मैं बहुत अधिक हमेशा 2 की शक्ति का उपयोग करता हूं जब तक कि कोई अच्छा कारण न हो, जैसे कि ग्राहक का सामना करना पड़ने वाला इंटरफ़ेस जहां कुछ अन्य संख्या का ग्राहक के लिए विशेष अर्थ है।

यदि आप 2 की शक्तियों से चिपके रहते हैं, तो यह आपको सामान्य आकारों के एक सीमित सेट के भीतर रखता है, जो स्वयं एक अच्छी बात है, और इससे आपके द्वारा सामना की जाने वाली अज्ञात वस्तुओं के आकार का अनुमान लगाना आसान हो जाता है। मैं अन्य लोगों की एक उचित संख्या को देख रहा हूं, और इसके बारे में कुछ सौंदर्यवादी है। यह आमतौर पर मुझे एक अच्छा एहसास देता है जब मैं इसे देखता हूं, इसका मतलब है कि डिजाइनर एक इंजीनियर या गणितज्ञ की तरह सोच रहा था। हालांकि मैं शायद चिंतित होता अगर केवल अभाज्य संख्या का उपयोग किया जाता। :)


3
यह तर्क योग्य है कि 2ⁿ - 1, 2 argu - 2 या 2ⁿ - 4, दो एक बेहतर इंजीनियरिंग निर्णय होगा क्योंकि अक्सर तार को शून्य-अनुक्रमित वर्णों के रूप में दर्शाया जाता है और एक अशक्त चार, बाइट या दो बाइट्स (UTF-8) के साथ समाप्त किया जाता है )। इसके अलावा कुछ डेटाबेस के साथ एक varchar पर 255 से ऊपर जाने के लिए भंडारण के लिए एक अतिरिक्त बाइट की आवश्यकता होती है (देखें stackoverflow.com/questions/2340639/… )।
पॉकेटैंड

4

मैं एक ही और यूके सरकार डेटा मानकों को स्वीकार किए गए उत्तर में उल्लिखित आदर्श खोजना चाहता था। हालाँकि, इनमें से कोई भी मौजूद नहीं था - एक विस्तारित खोज के बाद मैंने इसे यहां एक संग्रह में पाया: http://webarchive.nationalarchives.gov.uk/+/http://www.cecastoffice.gov.uk/govtalk/ schemasstandards / ई-gif / datastandards.aspx । ज़िप डाउनलोड करने की आवश्यकता है, इसे निकालें और फिर html फ़ोल्डर में default.htm खोलें।



2
+------------+---------------+---------------------------------+
|   Field    | Length (Char) |           Description           |
+------------+---------------+---------------------------------+
|firstname   | 35            |                                 |
|lastname    | 35            |                                 |
|email       | 255           |                                 |
|url         | 60+           | According to server and browser |
|city        | 45            |                                 |
|address     | 90            |                                 |
+------------+---------------+---------------------------------+

संपादित करें : कुछ रिक्ति जोड़ा गया


1
क्यों नहीं स्ट्रिंग है कि सब कुछ के लिए सिर्फ VARCHAR 255 का उपयोग करें? VARCHAR पैडिंग का उपयोग नहीं करता है और अतिरिक्त एक या दो बाइट्स के साथ समाप्त होता है।
राडेक

varchar थोड़ा धीमा हो सकता है।
काटा

1

हालांकि मेरे ईमेल अभिलेखागार देख रहे हैं, वहाँ बहुत लंबे समय तक "पहले" नाम हैं (निश्चित रूप से जो पहले से मतलब है वह संस्कृति द्वारा परिवर्तनशील है)। एक उदाहरण कृष्णमूर्ति का है - जो 13 अक्षर लंबा है। एक अच्छा अनुमान इस पर आधारित 20 से 25 पत्र हो सकते हैं। ईमेल पहले से अधिक लंबी होनी चाहिए क्योंकि आपके पास firstname.lastname@somedomain.com हो सकता है। इसके अलावा, जीमेल और कुछ अन्य मेल प्रोग्राम आपको Firstname.lastname+sometag@somedomain.com का उपयोग करने की अनुमति देते हैं, जहां "कुछ" कुछ भी है जिसे आप वहां रखना चाहते हैं ताकि आप इसे आने वाले ईमेल को सॉर्ट करने के लिए उपयोग कर सकें। मैं अक्सर वेब रूपों में चलता हूं जो मुझे बिना किसी टैग पर विचार किए अपने पूर्ण ईमेल पते में डालने की अनुमति नहीं देता है। इसलिए, अगर आपको कुल 90 अक्षरों के लिए वर्णों में 25.25+15@20.3 जैसे कुछ निश्चित ईमेल फ़ील्ड की आवश्यकता है (यदि मैंने अपना गणित सही किया है!)।


0

मैं आमतौर पर साथ जाता हूं:

Firstname : 30 chars
Lastname : 30 chars
ईमेल : 50 chars
पता : 200 chars

यदि मैं नामों के लिए लंबे क्षेत्रों के बारे में चिंतित हूं, तो मैं कभी-कभी नाम फ़ील्ड के लिए भी 50 के साथ जा सकता हूं, क्योंकि इन दिनों भंडारण स्थान शायद ही कभी एक मुद्दा है।


11
ईमेल के लिए 50? 254 वास्तव में अधिकतम है
मार्को

0

यदि आपको स्थानीयकरण (अमेरिका के बाहर हम में से!) पर विचार करने की आवश्यकता है और यह आपके वातावरण में संभव है, तो मैं सुझाव दूंगा:

नाम के प्रत्येक घटक के लिए डेटा प्रकारों को परिभाषित करें - नोट: कुछ संस्कृतियों में दो से अधिक नाम हैं! फिर पूर्ण नाम के लिए एक प्रकार है,

तब स्थानीयकरण सरल हो जाता है (जहाँ तक नाम चिंतित हैं)।

एक ही पते पर लागू होता है, बीटीडब्ल्यू - विभिन्न प्रारूप!


-1

यह सही है? तो यह तब मायने नहीं रखता जब आप 50 या 25 का उपयोग करते हैं, बेहतर सुरक्षित रहें और 50 का उपयोग करें, मैंने कहा कि मेरा मानना ​​है कि मैंने जो सबसे लंबे समय तक देखा है वह लगभग 19 या तो है। अंतिम नाम लंबे हैं

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