نموذج البيانات العلائقي
يمثل نموذج البيانات العلائقي جميع البيانات كعلاقات — مجموعات من الصفوف (tuples) على سمات مُسماة — ويبني معالجة البيانات على عمليات من نظرية المجموعات والمنطق من الدرجة الأولى، محققًا الاستقلالية بين العرض المنطقي للبيانات وتخزينها المادي.
Definition
في النموذج العلائقي، العلاقة هي مجموعة من الصفوف (tuples)، كل صف هو تعيين من مجموعة ثابتة من السمات (attributes) إلى قيم مستمدة من مجالات تلك السمات؛ وقاعدة البيانات العلائقية هي مجموعة من هذه العلاقات التي تحكمها قيود التكامل.
Scope
يغطي هذا الموضوع الجزء الهيكلي من النموذج العلائقي: العلاقات، الصفوف (tuples)، السمات (attributes) والمجالات (domains)؛ المخططات (schemas) والنسخ (instances)؛ المفاتيح المرشحة (candidate keys)، الأساسية (primary keys)، والأجنبية (foreign keys)؛ وقيود تكامل الكيان (entity-integrity) والتكامل المرجعي (referential-integrity). يتعامل مع العلاقات على أنها ذات دلالات مجموعة (set semantics) ودرجة ثابتة (fixed arity)، ويوضح كيف يحرر استقلال البيانات التطبيقات من تفاصيل التخزين. يستثني لغات الاستعلام المبنية على النموذج (المغطاة تحت SQL والجبر العلائقي) وانضباط تصميم التطبيع (normalization).
Core questions
- ما هي المكونات الهيكلية للعلاقة: السمات، المجالات، الصفوف، والدرجة (arity)؟
- كيف تحدد المفاتيح المرشحة، الأساسية، والأجنبية الصفوف وتربطها؟
- ماذا يضمن تكامل الكيان والتكامل المرجعي؟
- كيف يحقق النموذج استقلالية البيانات المنطقية والمادية؟
- لماذا تُعرّف العلاقات كمجموعات بدلاً من قوائم مرتبة من الصفوف؟
Key concepts
- علاقة، صف (tuple)، سمة (attribute)، مجال (domain)
- مخطط العلاقة ونسختها
- المفاتيح المرشحة والأساسية
- المفاتيح الأجنبية
- تكامل الكيان
- التكامل المرجعي
- استقلالية البيانات المنطقية والمادية
- القيم الفارغة (null values)
Key theories
- العلاقات كمجموعات من الصفوف
- العلاقة هي مجموعة فرعية من حاصل الضرب الديكارتي لمجالات سماتها؛ ولأنها مجموعة، فإن الصفوف غير مرتبة وخالية من التكرار، ويرث النموذج جبر عمليات المجموعات.
- استقلالية البيانات
- من خلال وصف البيانات بشكل بحت من حيث العلاقات والقيود، يفصل النموذج المخطط المنطقي عن التخزين المادي ومسارات الوصول، بحيث يمكن تغيير التمثيل المادي دون إعادة كتابة التطبيقات.
- قيود التكامل
- يمنع تكامل الكيان قيم المفتاح الأساسي الفارغة (null primary-key values) ويتطلب التكامل المرجعي أن تتطابق كل قيمة مفتاح أجنبي مع مفتاح أساسي موجود، مما يضمن بقاء العلاقات بين العلاقات متسقة.
Clinical relevance
يُعد النموذج العلائقي أساس الفئة المهيمنة من أنظمة قواعد البيانات المستخدمة في الأعمال، والتمويل، والحكومة، والويب؛ إن فصله الواضح بين البنية المنطقية والتخزين المادي هو السبب في أن قواعد البيانات العلائقية ظلت الخيار الافتراضي للبيانات المنظمة والمعاملاتية (transactional data) لمدة نصف قرن.
History
اقترح إي. إف. كود النموذج العلائقي في عام 1970 في شركة IBM، مجادلًا ضد النماذج الهرمية والشبكية السائدة التي كانت استعلاماتها مرتبطة بالتنقل المادي. أظهرت الأنظمة النموذجية System R (IBM) و Ingres (Berkeley) قابليته للتطبيق في منتصف السبعينيات، وحصل كود لاحقًا على جائزة تورينج عن هذا العمل.
Key figures
- Edgar F. Codd
- Jeffrey D. Ullman
Related topics
Seminal works
- codd1970
- silberschatz2019
Frequently asked questions
- لماذا تُعرّف العلاقات كمجموعات، بدون صفوف مكررة؟
- يمنح تعريف العلاقة كمجموعة النموذج أساسًا رياضيًا واضحًا ويعني أن هوية الصف تتحدد بالكامل من خلال قيم سماته بالإضافة إلى قيود المفتاح. عمليًا، تخفف SQL هذا إلى دلالات المجموعة المتعددة (multiset أو bag)، مما يسمح بالصفوف المكررة ما لم يفرض مفتاح أو DISTINCT التفرد.
- ماذا يمنع التكامل المرجعي فعليًا؟
- إنه يمنع المراجع المعلقة (dangling references): يجب أن يكون المفتاح الأجنبي في علاقة ما إما فارغًا (null) أو مطابقًا لقيمة مفتاح أساسي موجود في العلاقة المرجعية، لذلك لا يمكنك، على سبيل المثال، تسجيل طلب لعميل غير موجود.