المفتاح الأساسي
في النموذج العلائقي لقواعد البيانات ، يُعرَّف المفتاح الأساسي بأنه مجموعة مُحدَّدة من السمات ( عمود أو أعمدة ) التي تُتيح تحديد كل سجل في الجدول والتمييز بينه وبين غيره بدقة . يُمكن لمُنشئ قاعدة البيانات اختيار سمة فريدة موجودة أو مجموعة من السمات من الجدول ( مفتاح طبيعي ) لتكون بمثابة المفتاح الأساسي، أو إنشاء سمة جديدة تحتوي على مُعرِّف فريد مُخصَّص لهذا الغرض فقط ( مفتاح بديل ).
تتضمن أمثلة المفاتيح الطبيعية التي يمكن أن تكون مفاتيح أساسية مناسبة البيانات التي تكون فريدة بالفعل بحكم تعريفها لجميع العناصر في الجدول، مثل سمة رقم الهوية الوطنية لسجلات الأشخاص، أو الجمع بين سمة الطابع الزمني وسمة الموقع لسجلات الأحداث.
بصورة أدق، المفتاح الأساسي هو اختيار محدد لمجموعة دنيا من السمات التي تحدد بشكل فريد صفًا ( صفًا ) في علاقة (جدول). [ أ ] [ 1 ] المفتاح الأساسي هو اختيار لمفتاح مرشح ( مفتاح فائق أدنى )؛ أي مفتاح مرشح آخر هو مفتاح بديل .
تصميم
في قواعد البيانات العلائقية، لا يختلف المفتاح الأساسي في الشكل أو الوظيفة عن المفتاح غير الأساسي. عمليًا، قد تحدد دوافع مختلفة اختيار مفتاح معين كمفتاح أساسي دون غيره. قد يشير تعيين المفتاح الأساسي إلى المعرّف "المفضل" للبيانات في الجدول، أو إلى استخدامه كمرجع للمفاتيح الخارجية من جداول أخرى، أو قد يشير إلى ميزة تقنية أخرى غير دلالية للجدول. تحتوي بعض اللغات والبرامج على ميزات نحوية خاصة تُستخدم لتحديد المفتاح الأساسي (مثل قيد PRIMARY KEY في لغة SQL).
لا يُميّز النموذج العلائقي، كما يُعبّر عنه من خلال حساب العلاقات والجبر العلائقي، بين المفاتيح الأساسية وأنواع المفاتيح الأخرى. أُضيفت المفاتيح الأساسية إلى معيار SQL بشكل أساسي لتسهيل عمل مبرمجي التطبيقات.
يمكن أن تكون المفاتيح الأساسية عددًا صحيحًا يتم زيادته، أو معرفًا فريدًا عالميًا (UUID)، أو يمكن إنشاؤها باستخدام خوارزمية Hi/Lo .
تعريف المفاتيح الأساسية في لغة SQL
تُعرَّف المفاتيح الأساسية في معيار ISO SQL ، من خلال قيد PRIMARY KEY. ويُعرَّف بناء جملة إضافة هذا القيد إلى جدول موجود في SQL:2003 على النحو التالي:
ALTER TABLE < معرف الجدول > ADD [ CONSTRAINT < معرف القيد > ] PRIMARY KEY ( < اسم العمود > [ { , < اسم العمود > } ... ] )يمكن تحديد المفتاح الأساسي مباشرةً أثناء إنشاء الجدول. في معيار SQL، قد يتكون المفتاح الأساسي من عمود واحد أو عدة أعمدة. يُعرَّف كل عمود مشارك في المفتاح الأساسي ضمنيًا على أنه غير قابل للقيمة الفارغة (NOT NULL). تجدر الإشارة إلى أن بعض أنظمة إدارة قواعد البيانات العلائقية (RDBMS) تتطلب تحديد أعمدة المفتاح الأساسي صراحةً على أنها غير قابلة للقيمة الفارغة ( NOT NULL) NOT NULL.
إنشاء جدول باسم_الجدول ( ... )إذا كان المفتاح الأساسي يتكون من عمود واحد فقط، فيمكن تمييز العمود على هذا النحو باستخدام الصيغة التالية:
إنشاء جدول table_name ( id_col INT PRIMARY KEY , col2 CHARACTER VARYING ( 20 ), ... )مفاتيح بديلة
في بعض الحالات، قد يكون استخدام المفتاح الطبيعي الذي يُعرّف صفًا في علاقة ما بشكل فريد أمرًا مُرهقًا في تطوير البرمجيات. على سبيل المثال، قد يتضمن أعمدة متعددة أو حقول نصية كبيرة. في مثل هذه الحالات، يُمكن استخدام مفتاح بديل كمفتاح أساسي. في حالات أخرى، قد يكون هناك أكثر من مفتاح مرشح لعلاقة ما، ولا يُفضّل أي منها بشكل واضح. يُمكن استخدام مفتاح بديل كمفتاح أساسي لتجنب منح أحد المفاتيح المرشحة أولوية مصطنعة على غيرها.
بما أن المفاتيح الأساسية موجودة في المقام الأول كوسيلة مساعدة للمبرمج، فإن المفاتيح الأساسية البديلة تُستخدم غالبًا، وفي كثير من الحالات بشكل حصري، في تصميم تطبيقات قواعد البيانات.
نظراً لشعبية المفاتيح الأساسية البديلة، بات العديد من المطورين، بل وحتى بعض المنظرين، يعتبرونها جزءاً لا يتجزأ من نموذج البيانات العلائقية. ويعود ذلك في معظمه إلى انتقال المبادئ من نموذج البرمجة الكائنية التوجه إلى النموذج العلائقي، مما أدى إلى ظهور النموذج الهجين الكائني-العلائقي. وفي نمط السجل النشط (Active Record ) المشابه لتقنية ORM ، تُفرض هذه القيود الإضافية على المفاتيح الأساسية:
- ينبغي أن تكون المفاتيح الأساسية غير قابلة للتغيير، أي لا يتم تغييرها أو إعادة استخدامها مطلقًا؛ وينبغي حذفها مع السجل المرتبط بها.
- ينبغي أن تكون المفاتيح الأساسية عبارة عن معرفات عددية أو رقمية مجهولة المصدر.
مع ذلك، لا يُعد أيٌّ من هذين القيدين جزءًا من النموذج العلائقي أو أي معيار من معايير لغة SQL. لذا، ينبغي توخي الحذر عند تحديد مدى ثبات قيم المفتاح الأساسي أثناء تصميم قواعد البيانات والتطبيقات. بل إن بعض أنظمة قواعد البيانات تفترض ضمنيًا عدم إمكانية تغيير القيم في أعمدة المفتاح الأساسي باستخدام UPDATEعبارة SQL.
مفتاح بديل
عادةً، يتم اختيار مفتاح مرشح واحد ليكون المفتاح الأساسي. أما المفاتيح المرشحة الأخرى فتصبح مفاتيح بديلة، ويمكن UNIQUEتعيين قيد لكل منها لمنع التكرارات (إذ لا يُعتبر الإدخال المكرر صالحًا في عمود فريد). [ 2 ]
يمكن استخدام المفاتيح البديلة مثل المفتاح الأساسي عند إجراء تحديد جدول واحد أو عند التصفية في جملة شرطية ، ولكنها لا تستخدم عادة لربط جداول متعددة.
انظر أيضاً
ملحوظات
- ↑ المصطلحات المقابلة هي على التوالي نظرية (الخاصية، الصف، العلاقة) وملموسة (العمود، الصف، الجدول).
مراجع
- ↑ "إضافة أو تغيير المفتاح الأساسي لجدول في أكسس" . مايكروسوفت . تم الاطلاع عليه بتاريخ 20 يناير 2020.
المفتاح الأساسي هو حقل أو مجموعة حقول ذات قيم فريدة في جميع أنحاء الجدول.
- ↑ مفتاح بديل – الأسئلة الشائعة حول أوراكل
- أنظمة إدارة قواعد البيانات
- نمذجة البيانات
