"कॉलेशन" का क्या अर्थ है?


15

मैं एक किताब से साइक्लाइट सीख रहा हूं जिसमें कई बार टकराव और कोलिटिंग अनुक्रम का उल्लेख किया गया है। डेटाबेस की दुनिया में इसका क्या मतलब है?

जवाबों:


15

मूल रूप से, स्ट्रिंग्स को कैसे सॉर्ट और तुलना करना है।

उदाहरण:

तुलना:

  • एक्सेंट: à vs ä vs a
  • केस: ए बनाम ए

क्रमबद्ध करना:

  • स्वीडिश: z -> å -> ä -> ö
  • डेनिश: z -> æ -> ø -> å

विशेष वर्ण तुल्यता

  • जर्मन s = एस.एस.

विकिपीडिया

कुछ SQL (SQL Server 2008+)

DECLARE @foo TABLE (bar varchar(2))
INSERT @foo VALUES ('z'), ('æ'), ('ø'), ('å'), ('ss'), ('ß'), ('a'), ('ä')

SELECT * FROM @foo ORDER BY bar COLLATE Finnish_Swedish_100_CI_AS
SELECT * FROM @foo ORDER BY bar COLLATE Norwegian_100_CI_AS
SELECT * FROM @foo ORDER BY bar COLLATE Latin1_General_100_CS_AS --german (western europe) and default
SELECT * FROM @foo ORDER BY bar COLLATE German_PhoneBook_100_CS_AS

1

शब्द-साधन

"Collation" को शायद etymology.com पर सबसे अच्छा परिभाषित किया गया है,

14 सी। देर से, "एक साथ लाने और तुलना करने का कार्य,"

यह पिछले 600 वर्षों में बिल्कुल नहीं बदला है। "कोलेट" का अर्थ है "एक साथ लाने के लिए" और चाहे वह किसी पुस्तक का क्रम हो, कालानुक्रमिक या अन्यथा डेटाबेस में, यह सब समान है।

कंप्यूटर विज्ञान

जैसा कि यह कंप्यूटर विज्ञान पर लागू होता है, हम जो कर रहे हैं वह भंडारण तंत्र को क्रम से अलग कर रहा है । आपने ASCII-betical के बारे में सुना होगा । यह ASCII वर्णों के बाइनरी एन्कोडिंग के आधार पर एक तुलना को संदर्भित करता है। उस प्रणाली में, भंडारण और टकराव दो समान हैं। यदि ASCII- मानकीकृत "एन्कोडिंग" ने कभी भी "कॉलेशन" को बदल दिया (ऑर्डर) भी बदल जाएगा।

POSIX ने उसे तोड़ना शुरू कर दिया LC_COLLATE। लेकिन जैसा कि हम यूनिकोड में जाते हैं, संघ एक समान संघ के रूप में उभरने के लिए उभरा है: आईसीयू।

एसक्यूएल

एसक्यूएल कल्पना में कोलाज प्रदान करने के लिए दो एक्सटेंशन हैं,

  • F690: "सहयोग का समर्थन:

    शामिल collation name, collation clause, collation definitionऔर drop collation

  • F692: विस्तारित सहयोग समर्थन,

    स्कीमा में एक कॉलम में एक अलग डिफ़ॉल्ट टकराव को शामिल करना शामिल है।

अनिवार्य रूप से ये CREATEऔर करने की क्षमता प्रदान करते हैंDROP ऑपरेटरों और प्रकारों के लिए निर्दिष्ट करने के लिए और स्तंभों के लिए एक डिफ़ॉल्ट को परिभाषित करने के लिए उन्हें कोलाज हैं।

SQL को चेक आउट की पेशकश करने के बारे में अधिक जानकारी के लिए,

उदाहरण

एक सीमित उदाहरण को चिपकाने के बजाय, यहाँ PostgreSQL टेस्ट सूट है जो बहुत व्यापक है। कम से कम पहला लिंक देखें और देखें'Türkiye' COLLATE "tr-x-icu" ILIKE '%KI%' AS "false"

  • collate.icu.utf8.out
  • collate.linux.utf8.out
  • collate.out शायद बाहर की जाँच करने के लायक नहीं है, लेकिन मैंने इसे पूर्णता के लिए यहाँ रखा, POSIX जाँच उबाऊ।

-2

क्रमबद्ध आदेश। पंच किए गए कार्ड टकरा गए। फ्लैट फ़ाइल रिकॉर्ड से टकरा जाते हैं। यह डेटाबेस के लिए अद्वितीय नहीं है।

यह पाठ के लिए आत्म व्याख्यात्मक है, लेकिन द्विआधारी डेटा के लिए इसे पात्रों के रूप में संग्रहीत किया जा सकता है।

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