কোলেশন মানে কি?


138

এসকিউএল-তে কোলেশন মানে কী, এবং এটি কী করে?


2
@ জিবিএন: প্রসঙ্গত, এমএএসএসকিউএল এবং মাইএসকিউএল উভয় ক্ষেত্রে কোলেশন খুব একইভাবে কাজ করে।
পিসকভোর


@Piskvor: MySQL কোলেশন বিকল্প কিছু ছাড়া (যেমন, UTF8 হওয়া) এমএস স্কুয়েল উপলভ্য নয়: msdn.microsoft.com/en-us/library/ms144250.aspx
সিবি

@ সিবি: অস্বীকার করছেন না; মিলটি (আন) সমর্থিত চার্সেটের চেয়ে আরও গভীর।
পিসকভোর

উত্তর:


60

কোলেশন সহজভাবে সাজানোর ক্রম হিসাবে চিন্তা করা যেতে পারে।

ইংরাজীতে (এবং এটি বিস্মিত কাজিন, আমেরিকান), কোলেশন হ'ল ASCII কোড দ্বারা আদেশ দেওয়ার সমন্বয়ে একটি খুব সাধারণ বিষয় হতে পারে।

একবার আপনি এই সমস্ত অদ্ভুত ইউরোপীয় ভাষাগুলিতে তাদের সমস্ত অ্যাকসেন্ট এবং অন্যান্য বৈশিষ্ট্য যুক্ত হয়ে গেলে কোলেশন পরিবর্তন হয়। উদাহরণস্বরূপ, যদিও বিভিন্ন উচ্চারণযুক্ত ফর্মগুলির aপৃথক কোড পয়েন্টগুলিতে উপস্থিত থাকতে পারে তবে সেগুলি সকলে বাছাই করা প্রয়োজন যেমন তারা একই অক্ষর letter


4
ভিন্ন কথা সাধারণত বলতে চাচ্ছি যে তারা সাজানো করা, যেন তারা কোন প্রয়োজন বিভিন্ন অক্ষর - যেমন e, ë, é, ě, এবং è পারে ক্রম উদ্দেশ্যে স্বতন্ত্র অক্ষর হতে (কিন্তু সম্ভবত একই চিঠি অনুসন্ধানের যখন, ঐ পাগল ইউরোপীয়দের অভিশাপ;))।
পিসকভোর

1
@Piskvor: না আপনার তথ্য মধ্যে স্থানাঙ্ক সঙ্গে একটি বর্ণমালা ব্যবহার করে একটি নির্দিষ্ট দেশ প্রতি নির্দেশ করা হয় 42, চিঠিপত্র 15তাদের ডায়াক্রিটিক থাকার?
কাসনসুই

4
@ কাসনোই: আচ্ছা হ্যাঁ, এবং? আমি কি কোথাও বোঝাচ্ছি যে আমি পাগল নই? ; ও) (যদিও ইউনিকোডের জন্য thank
শ্বরের

3
@ পিসকোভার: দুঃখিত, দুঃখিত, আপনি পুরোপুরি পাগল! :)
ক্যাসনোই

এটি কি কেবল বাছাইয়ের জন্য বা এটির জন্যও where st= 'aaa'?
রই নমির

42

কিছু পশ্চিমা ইউরোপীয় ভাষায় "উচ্চারণযুক্ত অক্ষরগুলি বিনাচরিত অক্ষরের চেয়ে আলাদাভাবে সাজানো হয়" এর পাশাপাশি আপনার অবশ্যই বর্ণের গোষ্ঠীগুলিকেও বিবেচনা করতে হবে , যা কখনও কখনও আলাদাভাবে বাছাই করা হয়।

সাধারণত Spanish

  • caballo
  • Cinco
  • coche
  • Charco
  • চকলেট
  • chueco
  • তক্তা
  • (...)
  • lámpara
  • luego
  • llanta
  • lluvia
  • Madera

লক্ষ্য করুন সমস্ত শব্দের একক দিয়ে শুরু দিয়ে শুরু, একসাথে যেতে শব্দ ছাড়া CH যা হয়ে যেতে পরে তাদের সঙ্গে একই করব শব্দ সব শব্দ একটি একক দিয়ে শুরু পরে যেতে -starting । এটি পুরানো অভিধান এবং এনসাইক্লোপিডিয়ায় আপনি ক্রমবর্ধমান সংস্থাগুলি কখনও কখনও আজও দেখতে পাবেন।

রয়্যাল একাডেমি অফ ল্যাঙ্গুয়েজ এটিকে পরিবর্তন করেছে যাতে স্প্যানিশদের কম্পিউটারের বিশ্বে থাকার ব্যবস্থা করা সহজ হয়। তা সত্ত্বেও, Ñ এখনও তুলনায় বিভিন্ন চিঠি হিসেবে গণ্য করা হয় এন এবং যায় পরে তা আগে । সুতরাং এটি একটি সঠিকভাবে অর্ডার করা তালিকা:

  • নামিবিয়া
  • Número
  • Nandu
  • NU
  • OBRA
  • Ojo

সঠিক কোলেশন নির্বাচন করে আপনি নিজের জন্য স্বয়ংক্রিয়ভাবে :-)


ঠিক আছে, সুতরাং একটি কোলেশন সঠিক বাছাইয়ের জন্য বেশ কার্যকর, তবে এটি কি তুলনার জন্য এখনও কার্যকর? উদাহরণস্বরূপ, আমি ব্যবহারিক কারণে 'úআন্ডú' এবং 'নান্দু' সমান হিসাবে আসতে চাই ... কোলেশন প্রক্রিয়া কী আমাকে এই কাজটিতে সহায়তা করতে পারে?
সিবি

@ সিবি: আপনি যদি এমন কোনও সারণী বেছে নেওয়ার মতো কিছু বোঝান যেখানে একটি কলামের মান 'আরিও' এবং এসকিউএল এস এর সমান হয় 'আরিও', 'আরিও', 'অ্যারিও' এবং এর মতো সারিগুলি - হ্যাঁ, কেবল একটি নির্দিষ্ট কোলেশন সেট করে ক্যোয়ারী এটি করতে পারে। আপনার কাছে পারফরম্যান্স সংক্রান্ত সমস্যা থাকবে, যদি এই কোলেশনটি ডাটাবেসের নেটিভ থেকে খুব আলাদা হয়। এবং যদি আপনি অস্থায়ী টেবিলগুলি ব্যবহার করেন তবে আপনাকে অবশ্যই টেম্পডিবির কোলিশনের ট্র্যাক রাখতে হবে ... তবে আপনি এটি করতে পারেন।
জো পিনেদা

সেক্ষেত্রে আপনি কি দয়া করে আরও কিছুটা ব্যাখ্যা করতে পারেন? বিশেষত, সোজা প্রশ্নটি "শব্দটি পরীক্ষার শব্দ নির্বাচন করুন যেখানে শব্দ 'নন্দু' তা করতে সক্ষম হবে? এবং কোন কোলেশন এটি ব্যবহার করতে আমার ব্যবহার করা উচিত? (নোট করুন যে আমি ডায়াক্রিটিক চিহ্নগুলি নিয়ে উদ্বিগ্ন, এবং কেবল উচ্চারণগুলিই নয় ...)
সিবি

2
@ সিসিবি কোলিশনের 'এআই' বা 'এএস' অংশটি দেখুন (অ্যাকসেন্ট সংবেদনশীল এবং অ্যাকসেন্ট সংবেদনশীল)।
ডাস্টিন কেন্ডল

14

নিয়মগুলি কীভাবে স্ট্রিংগুলির তুলনা এবং বাছাই করতে হয় তা বলে: অক্ষরের ক্রম; ক্ষেত্রে বিষয়গুলি কিনা, ডায়াক্রিটিক্স বিষয়গুলি কিনা

উদাহরণস্বরূপ, আপনি যদি সমস্ত অক্ষর আলাদা হতে চান (যদি আপনি ফাইলের নাম সংরক্ষণ করেন তবে UNIX) আপনি UTF8_BINকোলেশন ব্যবহার করেন :

SELECT  'A' COLLATE UTF8_BIN = 'a' COLLATE UTF8_BIN

---
0

আপনি যদি কেস এবং ডায়াক্রিটিক্স পার্থক্য উপেক্ষা করতে চান (তবে কোনও অনুসন্ধান ইঞ্জিনের জন্য বলুন), আপনি UTF8_GENERAL_CIকোলেশন ব্যবহার করুন :

SELECT  'A' COLLATE UTF8_GENERAL_CI = 'ä' COLLATE UTF8_GENERAL_CI

---
1

যেমন আপনি দেখতে পাচ্ছেন, এই Aজোট (তুলনামূলক নিয়ম) মূল এবং äএকই অক্ষরকে নিম্নচিকিত্স বিবেচনা করে কেস এবং ডায়রাটিক পার্থক্য উপেক্ষা করে।


10

কোলেশন সংজ্ঞা দেয় যে আপনি স্ট্রিংয়ের মানগুলিকে কীভাবে সাজান এবং তুলনা করেন

উদাহরণস্বরূপ, এটি কীভাবে মোকাবেলা করতে হবে তা নির্ধারণ করে

  • উচ্চারণ ( äàaইত্যাদি)
  • কেস ( Aa)
  • ভাষা প্রসঙ্গে:
    • একটি ফরাসি কোলেশনে, cote < côte < coté < côté.
    • এসকিউএল সার্ভার ল্যাটিন 1 ডিফল্টে, cote < coté < côte < côté
  • এএসসিআইআই প্রকারের (একটি বাইনারি কোলেশন)

5

কোলেশন মানে একটি বর্ণমালার অক্ষরগুলিকে কিছু আদেশ অর্পণ করা, বলুন, ASCII বা ইউনিকোড ইত্যাদি means

ধরুন আপনার বর্ণমালায় আপনার কাছে 3 টি অক্ষর রয়েছে - {A, B, C} আপনি অক্ষরের সাথে অবিচ্ছেদ্য মানগুলি নির্ধারণ করে এর জন্য কয়েকটি উদাহরণ সংকলন সংজ্ঞায়িত করতে পারেন

  1. উদাহরণ 1 = {এ = 1, বি = 2, সি = 3}
  2. উদাহরণ 2 = {সি = 1, বি = 2, এ = 3}
  3. উদাহরণ 3 = {বি = 1, সি = 2, এ = 3}

সত্য হিসাবে, আপনি এন সংজ্ঞায়িত করতে পারেন! আকারের একটি বর্ণমালায় জোট এই জাতীয় আদেশ দেওয়া হয়েছে, বিভিন্ন বাছাই করা রুটিনগুলি পছন্দ করে এলএসডি / এমএসডি স্ট্রিংয়ের ধরনগুলি বাছাইয়ের স্ট্রিংয়ের জন্য এটি ব্যবহার করে।


3

আপনার ডেটা কীভাবে সাজানো এবং তুলনা করা যায় তা কোলেশন নির্ধারণ করে। এটি ইন্টারনোজনিয়ালাইজেশনের ক্ষেত্রে প্রায়শই গুরুত্বপূর্ণ, যেমন আপনি কীভাবে জাপানি কানজি সাজান?

আপনি যদি কোলিশেশন এবং এসকিএল সার্ভার গুগল করেন তবে আপনি এটি নিয়ে প্রচুর নিবন্ধগুলি আবিষ্কার করবেন!


3

এই নিবন্ধটি থেকে রেফারেন্স নেওয়া হয়েছে: একটি কোলেশন একটি চরিত্রের সেটগুলিতে অক্ষরের তুলনা করার জন্য নিয়মের একটি সেট। এটি অক্ষর বাছাইয়ের জন্যও রায় দিয়েছে এবং দুটি বর্ণের যথাযথ ক্রমটি ভাষা থেকে আলাদা হয়ে যায়। একটি কোলেশন দুটি স্ট্রিংকে তুলনা করে, যেমন একটি শব্দ অন্য একটির চেয়ে বড় হয় এবং সেই অনুসারে বাছাই করে।

আপনি যদি “latin1” ক্যারেক্টার সেট ব্যবহার করেন তবে আপনি “latin1_swishes_ci” কোলেশন ব্যবহার করতে পারেন।

আপনাকে সঠিক কোলেশন চয়ন করতে হবে কারণ ভুল কোলেশন আপনার ডাটাবেসের কর্মক্ষমতাকে প্রভাবিত করতে পারে।


2

http://en.wikipedia.org/wiki/Collation

কোলেশন হ'ল স্ট্যান্ডার্ড অর্ডারে লিখিত তথ্যের সমাবেশ। (...) একটি কোলেশন অ্যালগরিদম যেমন ইউনিকোড কোলেশন অ্যালগরিদম প্রদত্ত দুটি অক্ষর স্ট্রিং তুলনা এবং সিদ্ধান্ত নেওয়ার যা অন্যান্য সামনে আসা উচিত প্রক্রিয়ার মাধ্যমে একটি আদেশ সংজ্ঞায়িত করে।



1
এই নিবন্ধটি সত্যিই এটি সমস্ত ব্যাখ্যা করে।
জো পাইনেদা

3
@ জো পাইনেদা হতে পারে এটি সত্যিই এটি সমস্ত ব্যাখ্যা করে, তবে পাঠক কি সব জানতে চান? বা পাঠক সহজেই একটি সংক্ষিপ্ত, নির্ভরযোগ্য উত্তর চান যা সর্বাধিক মৌলিক এবং সাধারণভাবে ব্যবহৃত উপাদান এবং কোলেশনের কার্যাদি অন্তর্ভুক্ত করে যাতে সে তা দ্রুত পড়তে পারে এবং যে কোনও কাজ, অ্যাসাইনমেন্ট বা প্রকল্পের ফলে প্রশ্নটির উত্থান ঘটায় তা আবার কাজ শুরু করতে পারে can দিয়ে শুরু?
cfwschmidt

2
@ টিজে ক্রাউডার আমি এতে বিড়ম্বনার প্রশংসা করি

1

কোলেশন হ'ল এসকিউএল সার্ভার কীভাবে পাঠ্যকে বাছাই করতে এবং তুলনা করতে হবে তার সিদ্ধান্ত নেয়।

এমএসডিএন দেখুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.