فهرس أوراكل الفريد

Fhrs Awrakl Alfryd



يعد أداء قاعدة البيانات أحد الأدوار الأساسية لمطور قاعدة البيانات. إن ضمان تشغيل قاعدة البيانات الخاصة بك بأداء مثالي يمكن أن يؤثر بشكل كبير على قراءة أو كتابة التطبيقات لقاعدة البيانات هذه.

على الرغم من وجود العديد من الطرق لتحسين أداء قاعدة البيانات ، فإن ميزة واحدة تكاد تكون عالمية لأي قاعدة بيانات. فهارس قاعدة البيانات هي هياكل بيانات أو كائنات تُستخدم لتحسين سرعة استرداد البيانات من الجدول.

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







في هذا البرنامج التعليمي ، ستتعلم كيفية العمل مع فهارس فريدة في قواعد بيانات Oracle لمنع توفر القيم المكررة في عمود مفهرس.



فهرس أوراكل الفريد

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



في Oracle ، يمكننا إنشاء فهرس فريد باستخدام عبارة CREATE UNIQUE INDEX كما هو موضح في ما يلي:





إنشاء فهرس فريد من نوعه على اسم_الجدول ( الأعمدة ) ؛

لن تقبل الأعمدة المضمنة في الفهرس أي صفوف مكررة.

مثال على الرسم التوضيحي للجدول الفريد

لتوضيح كيفية إنشاء فهرس فريد واستخدامه ، خذ الجدول التالي:



تحديد * من sample_data ؛

انتاج | :

قم بإنشاء فهرس فريد في عمود الاسم_الأول

يوضح المثال التالي كيفية إنشاء فهرس فريد باستخدام عمود الاسم_الأول:

إنشاء فهرس فريد first_name_unique على sample_data ( الاسم الأول ) ؛

بتمكين هذا الفهرس ، لا يمكننا إدراج أكثر من صف بنفس الاسم الأول.

خذ على سبيل المثال عبارة insert التالية:

إدراجها في sample_data ( هوية شخصية ، first_name، ip_address، btc_address، credit_card، معرف )
القيم ( أحد عشر و 'والاس' و '169.158.70.77' و '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' و '4017955174552' و
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ؛

إذا قمنا بتشغيل عبارة insert المعينة ، يجب أن نحصل على خطأ كما هو موضح في ما يلي:

[ 23000 ] [ 1 ] ORA-00001: قيد فريد ( HR.FIRST_NAME_UNIQUE ) انتهكت

كما نرى ، فإن إدخال القيمة المحددة ينتهك القيد الفريد لعمود الاسم الأول.

قم بإنشاء فهرس فريد بعمودين

يمكننا أيضًا الحصول على فهرس فريد يتكون من أكثر من عمود واحد. في المثال التالي ، نقوم بإنشاء فهرس فريد باستخدام أعمدة الاسم الأول و io_address:

إنشاء فهرس فريد checkolumns على sample_data ( first_name، ip_address ) ؛

وبالمثل ، فإن إضافة قيم مكررة لعمود الاسم الأول أو عنوان ip_address سيؤدي إلى حدوث أخطاء فريدة في انتهاك الفهرس.

فهارس فريدة تلقائية

هل سبق لك أن تساءلت عما يحدث عندما تقوم بتعريف عمود جدول بمفتاح أساسي أو قيد فريد؟

بعبارات بسيطة ، إذا قمت بتعيين عمود كمفتاح أساسي للجدول أو قمت بتعيين قيد فريد لعمود معين ، يقوم محرك قاعدة البيانات تلقائيًا بإنشاء فهرس فريد لهذا العمود.

هذا يضمن عدم إدراج قيمة مكررة في هذا العمود.

خذ على سبيل المثال البيان التالي:

إنشاء جدول sample_data
(
هوية شخصية عدد،
الاسم الأول varchar2 ( خمسون ) و
ip_address varchar2 ( عشرين ) و
btc_address varchar2 ( خمسون ) و
بطاقة الائتمان varchar2 ( خمسون ) و
معرف varchar2 ( 40 ) و
مفتاح أساسي عينة القيد ( هوية شخصية )
) ؛

في المثال السابق ، نقوم بإنشاء جدول وتعيين عمود المعرف كمفتاح أساسي للجدول. بعد ذلك ، لعرض القيد الفريد المرتبط بهذا العمود (يتم إنشاؤه تلقائيًا) ، يمكننا تشغيل الأمر التالي:

تحديد index_name ، index_type ، الرؤية ، الحالة ، TABLE_NAME
من all_indexes حيث TABLE_NAME = 'SAMPLE_DATA' ؛

نتائج :
في هذه الحالة ، يمكننا رؤية الفهرس الفريد الذي تم إنشاؤه بواسطة محرك قاعدة البيانات لعمود المعرف.

استنتاج

في هذا الدليل ، تعلمت كيفية إنشاء واستخدام الفهارس الفريدة في قاعدة بيانات Oracle. لقد تعلمت أيضًا ما يحدث عند تعيين مفتاح أساسي أو قيد فريد لعمود جدول.