للتحقيق الكامنة أوراكل تخزين قاعدة البيانات --- من اجل بايت ومجموعة الأحرف

الخطوط العريضة

ويركز اليوم على التخزين الأساسي تحت قاعدة البيانات أوراكل - ترتيب بايت ومجموعة الأحرف بعد مع نظرة ~

1، endian

أوراكل بنية الخادم مثبتة على منصات مختلفة، من اجل بايت ملف البيانات المستخدمة ليست هي نفسها. هناك نوعان من تسلسل بايت، كبير Endian وEndian طفيف. على سبيل المثال، ونحن عموما استخدام ويندوز أو لينكس الخادم وحدة المعالجة المركزية هي معمارية إنتل / أيه إم دي، وبالتالي فإن ملف البيانات حفظ الشكل هو Endian طفيف، إذا كان استخدام السلطة الكمبيوتر IBM، ثم حفظ تنسيق ملف البيانات هو الكبير Endian.

كبيرة Endian وEndian طفيف تحديدا ما الفرق أنها لا تجعل عند حفظ البيانات؟ نحن لتوضيح.

إذا صحيحا 19204 بايت (عرافة 0X00000780) المخزنة، ثم طريقة التخزين هو مبين في الجدول التالي الكبير Endian.

ونحن ننظر في طريقة Endian طفيف المحافظة.

وفقا لما سبق، يمكننا أن نرى في Endian طفيف، حفظ العدد الصحيح هو عكس 1920

هنا شكل ENDIAN كل منصة الخادم.

2، مجموعة الأحرف

الأكثر استخداما للكمبيوتر الرقمي الأصلي لمعالجة عند اختراع، ثم تستخدم ببطء إلى نص العملية. والسؤال هو، أجهزة الكمبيوتر لا يعرف العالم ذلك العديد من الكلمات، وحتى 26 الحروف الأبجدية لا أعرف. حتى أمريكا معايير المعهد الوطني ANSI تبدأ معايير الإنتاج، مثل ممثلة الأحرف من A 65، ويمثل 66 عن طريق الرسائل B، بما في ذلك 26 الأحرف الكبيرة والأحرف الصغيرة والأرقام وبعض الرموز (أكثر من 100)، وهذا هو رمز ASCII الأول. كان رمز ASCII لا يزيد عن 128، بت فقط سبعة لتمثيل ترك بت الأكثر أهمية لاستخدامها التكافؤ. أوروبا وبعد ذلك تم تمديدها إلى 8، ويمكن استخدامها لتمثيل 256 حرفا.

كود ASCII لم تتضمن الصينية، والسماح للكمبيوتر يعرف الصينية، بدأت هيئات التقييس الصين لجعل بعض المعايير (GBK). الحروف الصينية كثيرا، بايت واحد لا يمكن ان تحمل الكثير (ثمانية بت تمثل ما يصل إلى 256 حرفا)، ثم يستخدم اثنين بايت (نظريا يمكن أن تمثل 65،536 حرفا)، ودول ومناطق أخرى لا الخمول، مثل ترميز اليابانية SHIFT_JIS وهونغ كونغ وتايوان BIG5 رمز، وذلك ينتج العالم مجموعة متنوعة من ترميز الأحرف المختلفة.

هذه المشكلة مرة أخرى، ولكن مشكلة كبيرة. الجميع كل صاحب الخاصة، والكثير من الرموز، نقل الداخلي الخاص به من معلومات، وبطبيعة الحال لا توجد مشكلة. ولكن عندما يكون الإنسان الصيني الشعر الصينية GBK ترميز رسالة لليابانيين، الكمبيوتر الياباني إذا لا يعرفون سوى SHIFT_JIS ترميز، ثم الكمبيوتر سوف يضع كل المشفرة في SHIFT_JIS ترميز GBK لشرح، وبالتالي فإن اليابانية نرى ما يسمى ب "القمامة ". ويطلق على السبب ما يسمى لأن الكمبيوتر يعتقد أنه لم يفعل شيئا خطأ، وطبيعة تلك "القمامة" هو أيضا المقابلة، ولكنها لا تستخدم، واليابانية لا يفهمون ذلك، فهم الكمبيوتر.

حتى قادة منظمة التقييس على هذا الكوكب قد اجتمع لمناقشة، وأيضا اقترح فكرة عظيمة، وهذا هو مجموعات الأحرف UNICODE. فكرة هذه مجموعة الأحرف هي مجموعة أحرف فقط يتم تضمين النص على الأرض. بالطبع، كل الحروف 2 بايت يمكن أن يصلح أنحاء العالم، وذلك باستخدام أربعة بايت (حرف يمكن أن تمثل نظريا 4294967296). هناك UTF32 / UTF16 / UTF8 مجموعات الأحرف ترميز Unicode لتحقيقه.

سحب أعلاه كثيرا، حتى عندما وإنشاء قاعدة بيانات جديدة، تحتاج إلى تحديد مجموعة الأحرف قاعدة بيانات من قاعدة البيانات (CHARACTER SET) وطابع وطني مجموعة (الوطني CHARACTER SET). على سبيل المثال، قمنا باختيار مجموعة الأحرف قاعدة بيانات هو ZHS16GBK، مجموعة الأحرف الوطني AL16UTF16. فإنه يشير إلى أن قاعدة البيانات شار، يستخدم VARCHAR2 ترميز GBK، وNCHAR، Nvarchar2، NCLOB باستخدام ترميز UTF16.

حسنا، دعونا نفعل اختبار، لنرى هذه الشخصيات في النهاية لإنقاذ ما المحتوى.

SQL >  * اختر من NLS_DATABASE_PARAMETERS WHERE المعلمة LIKE ' CHARACTERSET'؛ SQL >  CREATE TABLE TESTCHAR (COL1 VARCHAR2 (100)، COL2 NVARCHAR2 (100))؛ SQL >  القيم INSERT INTO TESTCHAR ( 'DBSEEKER + مقاطعة قوانغدونغ، ومدينة قوانغتشو'، 'DBSEEKER + مقاطعة قوانغدونغ، ومدينة قوانغتشو')؛ SQL >  DUMP SELECT (COL1،16)، DUMP (COL2،16) FROM TESTCHAR.

في ما سبق يمكننا إنشاء جدول، كان الجدول يحتوي على حقلين، COL1 نوع الحقل إلى VARCHAR2 باستخدام مجموعة الأحرف قاعدة بيانات (ZHS16GBK)، COL2 نوع الحقل NVARCHAR2 باستخدام مجموعة أحرف الوطني (AL16UTF16). حقلين لإدخال النص نفسه "مدينة DBSEEKER + قوانغتشو بمقاطعة قوانغدونغ.

المقبل، ونحن DUMP عشري حفظ محتويات الحقل، لاحظ طول الحقل COL1 هو 21 بايت، وطول الحقل COL2 هو 30 بايت، لماذا محتوى النص نفسه تخزينها في الداخل VARCHAR2 وNVARCHAR2، أسفل محتويات تخزين مختلفة تماما؟

COL1 وCOL2 السبب هو أن استخدام مجموعات أحرف مختلفة، مجموعات أحرف مختلفة المقابلة لرمز الحرف نفسه ليست هي نفس التعاريف.

استخدام COL1 GBK ترميز، كل بايت يتوافق مع شخصية.

COL2 الترميز استخدام UTF16، كل بايت يتوافق مع الحرف.

من الملاحظات الواردة أعلاه، يمكننا أن نعرف GBK ترميز وطول متغير، رسائل بايت واحد حفظ الأحرف 2 بايت لتخزين. ويتم حفظ UTF16 باستخدام وحدتي بايت. يتم حفظ حقول النص في ملف البيانات أوراكل في مجموعة متنوعة من الترميز تتوافق مع جدول ترميز الأحرف.

فهم هذه المحتويات لتحليل كتلة البيانات هو مساعدة كبيرة. سوف Devops وبعد تبادل جوانب DBA المزيد من المحتوى، يمكن للأصدقاء المهتمين ننظر -

10 أيام، ثلاثة أطباء الشباب الموت المفاجئ، والسبب هو محزن وراء .......

مفصلة الخلية قاعدة بيانات الجدول إدارة الفضاء - المشتركة الجدول الفضاء والفضاء جدول منفصل

هو رمي 2.9 مليار، وكشفت طموح المنتج فقط أخيرا

واستنادا إلى نفس المنصة مع الإصدار القادم من قاعدة البيانات لينكس RMAN مختلفة الهجرة آلة (الجزء الثاني)

شنتشن أسعار المساكن "اختفت" تخفي شيئا

من بلوق إلى الكتابة تداول أسهم A، بدعم من الإيرادات في Jingdong علي أصر على أن شركة ما؟

واستنادا إلى نفس المنصة مع الإصدار القادم من قاعدة البيانات لينكس RMAN الهجرة آلة مختلفة (الجزء الأول)

المكسرات تباع 7000000000 في الإيرادات السنوية والتي تبلغ قيمتها أكثر من 9.3 مليار وثلاثة السناجب هو كيف المقسى؟

الرعاية الأحد! الهندسة المعمارية وتصميم عالية التزامن نظام قاعدة البيانات أوراكل، يستحق جمع

ميزات mysql5.7 مفصل - تراجع عن الانترنت الانتعاش مساحة الجدول

نظام التحسين - سريع الاحماء تجمع Innodb_Buffer_Pool

تعليق على الآلاف من الموظفين، و 100 مليون دولار في الديون! هذه الزهرة منصة الأعمال باردة جدا