ماذا يعني المفتاح الأساسي؟
المفتاح الأساسي Primary Key هو عمود خاص في جدول قاعدة البيانات العلائقية (أو مجموعة من الأعمدة) مخصص لتعريف كل سجل بالجدول بشكل فريد.
يستخدم المفتاح الأساسي كمعرف فريد لتحليل البيانات بسرعة داخل الجدول. لا يمكن أن يحتوي الجدول على أكثر من مفتاح أساسي واحد.
الميزات الرئيسية للمفتاح الأساسي هي:
- يجب أن يحتوي على قيمة فريدة لكل صف من البيانات.
- لا يمكن أن يحتوي على قيم فارغة.
- يجب أن يكون لكل صف قيمة مفتاح أساسي.
قد يستخدم المفتاح الأساسي حقلاً أو أكثر من الحقول الموجودة بالفعل في نموذج البيانات الأساسي، أو يمكن إنشاء حقل إضافي محدد ليكون المفتاح الأساسي.
شرح Techopedia للمفتاح الأساسي
يعد مفهوم المفتاح الأساسي أمرًا بالغ الأهمية لقاعدة بيانات علائقية فعالة. فبدون المفتاح الأساسي ومفاهيم المفاتيح الخارجية ذات الصلة الوثيقة، لن تعمل قواعد البيانات العلائقية.
في الواقع، نظرًا لأن الجدول يمكن أن يحتوي بسهولة على آلاف السجلات (بما في ذلك التكرارات)، فإن المفتاح الأساسي ضروري لضمان إمكانية تحديد سجل الجدول بشكل فريد دائمًا.
تُسمى جميع المفاتيح التي تأتي من الملاحظات والسمات في العالم الحقيقي بالمفاتيح الأساسية الطبيعية، على عكس المفاتيح الأساسية البديلة التي يتم تعيينها بشكل اعتباطي لكل سجل.
يتعامل جميع الأفراد تقريبًا مع المفاتيح الأساسية الطبيعية بشكل متكرر ولكن دون علمهم في الحياة اليومية.
على سبيل المثال، يتم تعيين أرقام تعريفية فريدة للطلاب بشكل روتيني، وجميع مواطني الولايات المتحدة لديهم أرقام ضمان اجتماعي مخصصة من قبل الحكومة ويمكن التعرف عليها بشكل فريد. عناوين الشوارع أو أرقام رخص القيادة هي أمثلة على المفاتيح الأساسية المستخدمة لتحديد المواقع أو السيارات بشكل فريد (على التوالي).
كمثال آخر، يجب أن تحتوي قاعدة البيانات على جميع البيانات المخزنة في بنك تجاري. يتضمن جدولين من جداول قاعدة البيانات جدول CUSTOMER_MASTER، الذي يخزن بيانات العميل الأساسية والثابتة (الاسم وتاريخ الميلاد والعنوان ورقم الضمان الاجتماعي وما إلى ذلك) وجدول ACCOUNTS_MASTER، الذي يخزن بيانات الحسابات المصرفية المختلفة (تاريخ إنشاء الحساب ونوع الحساب وحدود السحب أو معلومات الحساب المقابلة، وما إلى ذلك).
لتحديد هوية العملاء بشكل فريد، يتم تحديد عمود أو مجموعة من الأعمدة لضمان عدم وجود نفس القيمة الفريدة لعميلين. وبالتالي، يتم استبعاد بعض الأعمدة على الفور، على سبيل المثال، اللقب وتاريخ الميلاد.
من المفاتيح الأساسية الجيدة المرشحة هي العمود المخصص للاحتفاظ بأرقام الضمان الاجتماعي. ومع ذلك، قد لا يكون لدى بعض أصحاب الحسابات أرقام ضمان اجتماعي، لذلك يتم استبعاد ترشيح هذا العمود.
الخيار المنطقي التالي هو استخدام مجموعة من الأعمدة، مثل إضافة اللقب إلى تاريخ الميلاد إلى عنوان البريد الإلكتروني، مما ينتج عنه مفتاح أساسي طويل ومرهق.
الخيار الأفضل هو إنشاء مفتاح أساسي منفصل في عمود جديد باسم CUSTOMER_ID. بعد ذلك، تنشئ قاعدة البيانات تلقائيًا رقمًا فريدًا في كل مرة يتم فيها إضافة عميل، مما يضمن تعريفًا فريدًا.
عند إنشاء هذا المفتاح، يتم تعيين العمود كمفتاح أساسي داخل البرنامج النصي SQL الذي ينشئ الجدول، ويتم رفض جميع القيم الفارغة تلقائيًا.
يسمح رقم الحساب المرتبط بكل CUSTOMER_ID بالتعامل الآمن مع استعلامات العملاء وأوقات البحث السريعة (كما هو الحال مع أي جدول مفهرس.)
على سبيل المثال، قد يُطلب من العميل تقديم لقبه عند إجراء استعلام بنكي. من المرجح أن يؤدي الاستعلام عن لقب شائع (مثل سميث) إلى إرجاع نتائج متعددة.
عند الاستعلام عن البيانات، فإن استخدام ميزة تفرد المفتاح الأساسي يضمن نتيجة واحدة.