Relational model
The relational model (RM) is an approach to managing data using a structure and language consistent with first-order predicate logic, first described in 1969 by English computer scientist Edgar F. Codd,[1][2] where all data are represented in terms of tuples, grouped into relations. A database organized in terms of the relational model is a relational database.
The purpose of the relational model is to provide a declarative method for specifying data and queries: users directly state what information the database contains and what information they want from it, and let the database management system software take care of describing data structures for storing the data and retrieval procedures for answering queries.
Most relational databases use the SQL data definition and query language; these systems implement what can be regarded as an engineering approximation to the relational model. A table in a SQL database schema corresponds to a predicate variable; the contents of a table to a relation; key constraints, other constraints, and SQL queries correspond to predicates. However, SQL databases deviate from the relational model in many details, and Codd fiercely argued against deviations that compromise the original principles.[3]
History
The relational model was developed by Edgar F. Codd as a general model of data, and subsequently promoted by Chris Date and Hugh Darwen among others. In their 1995 The Third Manifesto, Date and Darwen try to demonstrate how the relational model can accommodate certain "desired" object-oriented features.[4]
Extensions
Some years after publication of his 1970 model, Codd proposed a three-valued logic (True, False, Missing/NULL) version of it to deal with missing information, and in his The Relational Model for Database Management Version 2 (1990) he went a step further with a four-valued logic (True, False, Missing but Applicable, Missing but Inapplicable) version.[5]
Conceptualization
Basic concepts

تتكون العلاقة من عنوان وجسم . يُعرّف العنوان مجموعة من السمات ، لكل منها اسم ونوع بيانات (يُسمى أحيانًا نطاقًا ). عدد السمات في هذه المجموعة هو درجة العلاقة أو عدد عناصرها . أما الجسم فهو مجموعة من الصفوف . الصف هو مجموعة من n قيمة ، حيث n هي درجة العلاقة، وكل قيمة في الصف تُقابل سمة فريدة. [ 6 ] عدد الصفوف في هذه المجموعة هو عدد عناصر العلاقة . [ 7 ] : 17-22
تُمثَّل العلاقات بمتغيرات علائقية ( relvars) ، والتي يمكن إعادة تعيينها. [ 7 ] : 22-24. قاعدة البيانات هي مجموعة من المتغيرات العلائقية. [ 7 ] : 112-113.
في هذا النموذج، تتبع قواعد البيانات مبدأ المعلومات : في أي وقت، تُمثَّل جميع المعلومات في قاعدة البيانات فقط بقيم ضمن صفوف، تُقابل سمات، في علاقات مُحدَّدة بواسطة متغيرات العلاقات. [ 7 ] : 111
قيود
يمكن لقاعدة البيانات تعريف تعابير منطقية عشوائية كقيود . إذا كانت جميع القيود صحيحة ، فإن قاعدة البيانات متسقة ؛ وإلا فهي غير متسقة . إذا كان تغيير متغيرات العلاقات في قاعدة البيانات سيؤدي إلى حالة عدم اتساق، فإن هذا التغيير غير قانوني ويجب عدم تنفيذه. [ 7 ] : 91
بشكل عام، يتم التعبير عن القيود باستخدام عوامل المقارنة العلائقية، والتي يكفي منها نظرياً عامل واحد فقط، وهو "مجموعة جزئية من" (⊆). [ 8 ]
يتم التعبير عن حالتين خاصتين من القيود على شكل مفاتيح ومفاتيح خارجية :
المفاتيح
المفتاح المرشح ، أو ببساطة المفتاح ، هو أصغر مجموعة فرعية من السمات التي تضمن التمييز الفريد بين كل صف في جدول. ولأن كل صف في الجدول يجب أن يكون فريدًا، فإن لكل جدول بالضرورة مفتاحًا، والذي قد يكون مجموع سماته الكاملة. قد يحتوي الجدول على عدة مفاتيح، حيث قد توجد طرق متعددة للتمييز الفريد بين كل صف. [ 7 ] : 31-33
قد تكون السمة فريدة بين الصفوف دون أن تكون مفتاحًا. على سبيل المثال، قد تحتوي علاقة تصف موظفي شركة ما على سمتين: المعرّف والاسم. حتى لو لم يكن هناك موظفان يحملان نفس الاسم حاليًا، فإذا كان من الممكن في المستقبل توظيف موظف جديد يحمل نفس اسم موظف حالي، فإن مجموعة السمات {الاسم} لا تُعدّ مفتاحًا. في المقابل، إذا كانت مجموعة السمات {المعرّف} مفتاحًا، فهذا يعني ليس فقط أنه لا يوجد موظفان يحملان نفس المعرّف حاليًا ، بل إنه لن يكون هناك أي موظفين يحملون نفس المعرّف أبدًا . [ 7 ] : 31-33
المفاتيح الخارجية
المفتاح الخارجي هو مجموعة فرعية من السمات A في علاقة R1 تُقابل مفتاحًا في علاقة أخرى R2، بحيث يكون إسقاط R1 على A مجموعة فرعية من إسقاط R2 على A. بعبارة أخرى ، إذا احتوى صف في R1 على قيم لمفتاح خارجي، فلا بد من وجود صف مقابل في R2 يحتوي على نفس القيم للمفتاح المقابل . [ 7 ] : 34
العمليات العلائقية
يطلب المستخدمون (أو البرامج) البيانات من قاعدة بيانات علائقية عن طريق إرسال استعلام إليها . واستجابةً لهذا الاستعلام، تُعيد قاعدة البيانات مجموعة من النتائج. [ 2 ]
في كثير من الأحيان، يتم دمج البيانات من جداول متعددة في جدول واحد، عن طريق إجراء عملية الربط . من الناحية النظرية، يتم ذلك عن طريق أخذ جميع التوليفات الممكنة للصفوف ( الضرب الديكارتي )، ثم تصفية كل شيء باستثناء النتيجة. [ 2 ]
بالإضافة إلى عملية الربط، توجد عدة عمليات علائقية. تشمل هذه العمليات: الإسقاط (عملية حذف بعض الأعمدة)، والتقييد (عملية حذف بعض الصفوف)، والاتحاد (طريقة لدمج جدولين متشابهين في البنية)، والفرق (الذي يسرد الصفوف الموجودة في أحد الجدولين وغير الموجودة في الآخر)، والتقاطع (الذي يسرد الصفوف الموجودة في كلا الجدولين)، والضرب (المذكور أعلاه، والذي يدمج كل صف من أحد الجدولين مع كل صف من الجدول الآخر). وبحسب المصادر الأخرى، توجد عدة عوامل تشغيل أخرى ، يمكن تعريف العديد منها باستخدام العوامل المذكورة أعلاه. تشمل هذه العوامل: الربط الجزئي، وعوامل التشغيل الخارجية مثل الربط الخارجي والاتحاد الخارجي، وأنواع مختلفة من القسمة. كما توجد عوامل تشغيل لإعادة تسمية الأعمدة، وعوامل التلخيص أو التجميع، وإذا سمحت بقيم العلاقات كسمات (سمة ذات قيمة علائقية)، فستتوفر عوامل تشغيل مثل التجميع وفك التجميع. [ 2 ]
تتيح مرونة قواعد البيانات العلائقية للمبرمجين كتابة استعلامات لم يتوقعها مصممو قواعد البيانات. ونتيجةً لذلك، يمكن استخدام قواعد البيانات العلائقية من قِبل تطبيقات متعددة بطرق لم يتوقعها المصممون الأصليون، وهو أمر بالغ الأهمية خاصةً لقواعد البيانات التي قد تُستخدم لفترة طويلة (ربما لعقود عديدة). [ 2 ] وقد جعل هذا فكرة قواعد البيانات العلائقية وتطبيقها شائعًا جدًا في أوساط الشركات. [ 9 ]
تطبيع قاعدة البيانات
تُصنَّف العلاقات بناءً على أنواع الشذوذات التي تكون عرضةً لها. فقاعدة البيانات التي تتبع النموذج الطبيعي الأول تكون عرضةً لجميع أنواع الشذوذات، بينما قاعدة البيانات التي تتبع نموذج المجال/المفتاح الطبيعي لا تعاني من أي شذوذات في التعديل. وتتسم النماذج الطبيعية بطبيعتها الهرمية، أي أن أدنى مستوى هو النموذج الطبيعي الأول، ولا يمكن لقاعدة البيانات أن تستوفي متطلبات النماذج الطبيعية ذات المستويات الأعلى إلا بعد استيفاء جميع متطلبات النماذج الطبيعية الأدنى. [ 10 ]
التفسير المنطقي
النموذج العلائقي هو نظام رسمي . تُعرّف سمات العلاقة مجموعة من القضايا المنطقية . يمكن التعبير عن كل قضية على شكل صف. جسم العلاقة هو مجموعة فرعية من هذه الصفوف، تُمثل القضايا الصحيحة. تُمثل القيود قضايا إضافية يجب أن تكون صحيحة أيضًا. الجبر العلائقي هو مجموعة من القواعد المنطقية التي يمكنها استنتاج نتائج صحيحة من هذه القضايا. [ 7 ] : 95-101
يُتيح تعريف الصف وجود صف فارغ فريد بدون أي قيم، يُقابل مجموعة السمات الفارغة . إذا كانت درجة العلاقة تساوي صفرًا (أي أن عنوانها لا يحتوي على أي سمات)، فقد يكون عدد عناصرها إما صفرًا (أي أن جسمها لا يحتوي على أي صفوف) أو واحدًا (أي أن جسمها يحتوي على الصف الفارغ الوحيد). تُمثل هذه العلاقات قيمًا منطقية . العلاقة ذات الدرجة صفر وعدد العناصر صفر تكون خاطئة ، بينما العلاقة ذات الدرجة صفر وعدد العناصر واحد تكون صحيحة . [ 7 ] : 221-223
مثال
إذا كانت علاقة الموظفين تحتوي على السمات ثم المجموعة المرتبةيمثل هذا الافتراض: "يوجد موظف اسمه أليس ورقم هويته 1 ". قد يكون هذا الافتراض صحيحًا أو خاطئًا. إذا كان هذا السجل موجودًا في متن الجدول، فإن الافتراض صحيح (يوجد موظف بهذا الاسم). إذا لم يكن هذا السجل موجودًا في متن الجدول، فإن الافتراض خاطئ (لا يوجد موظف بهذا الاسم). [ 7 ] : 96-97
علاوة على ذلك، إذاإذا كان مفتاحًا، فإن العلاقة تحتوي على الصفوف وسيمثل ذلك التناقض التالي :
- يوجد موظف اسمه أليس ورقم هويته 1 .
- يوجد موظف اسمه بوب ورقم هويته 1 .
- لا يوجد أكثر من موظف يحمل نفس رقم الهوية.
بموجب مبدأ الانفجار ، يسمح هذا التناقض للنظام بإثبات صحة أي قضية عشوائية. يجب على قاعدة البيانات تطبيق قيد المفتاح لمنع ذلك. [ 7 ] : 104
أمثلة
قاعدة البيانات
مثال مثالي وبسيط للغاية لوصف بعض متغيرات العلاقات ( relvars ) وخصائصها:
- العميل ( رقم تعريف العميل ، الاسم)
- رقم الطلب ( رقم الطلب ، رقم العميل ، رقم الفاتورة ، التاريخ)
- الفاتورة ( معرف الفاتورة ، معرف العميل ، معرف الطلب ، الحالة)
في هذا التصميم ، لدينا ثلاثة متغيرات نسبية: العميل، والطلب، والفاتورة. السمات المكتوبة بخط غامق وتحتها خط هي مفاتيح مرشحة . أما السمات غير المكتوبة بخط غامق وتحتها خط فهي مفاتيح خارجية .
عادة ما يتم اختيار مفتاح مرشح واحد ليسمى المفتاح الأساسي ويتم استخدامه بشكل مفضل على المفاتيح المرشحة الأخرى، والتي تسمى بعد ذلك بالمفاتيح البديلة .
المفتاح المرشح هو مُعرّف فريد يضمن عدم تكرار أي صف ؛ وإلا سيتحول الربط إلى ما يشبه " حقيبة" ، وذلك لمخالفة التعريف الأساسي للمجموعة . يمكن أن تكون المفاتيح الخارجية والمفاتيح الفائقة (بما فيها المفاتيح المرشحة) مركبة، أي يمكن أن تتكون من عدة سمات. يوضح الجدول أدناه تمثيلًا لعلاقة متغير العميل (Relvar) في مثالنا؛ ويمكن اعتبار العلاقة قيمةً تُنسب إلى متغير (Relvar).
علاقات العملاء
| معرف العميل | اسم |
|---|---|
| 123 | أليس |
| 456 | بوب |
| 789 | كارول |
إذا حاولنا إضافة عميل جديد بالرقم التعريفي 123 ، فسيؤدي ذلك إلى مخالفة تصميم متغير العلاقة، لأن رقم العميل هو مفتاح أساسي ، ولدينا بالفعل عميل بهذا الرقم . يجب على نظام إدارة قواعد البيانات رفض عملية كهذه لأنها ستؤدي إلى عدم اتساق قاعدة البيانات بسبب انتهاك أحد قيود التكامل . مع ذلك، من الممكن إضافة عميل آخر باسم أليس ، بشرط أن يكون لهذا العميل الجديد رقم تعريفي فريد، لأن حقل الاسم ليس جزءًا من المفتاح الأساسي.
المفاتيح الخارجية هي قيود سلامة تضمن أن قيمة مجموعة السمات مستمدة من مفتاح مرشح في علاقة أخرى . على سبيل المثال، في علاقة الطلبات، تُعد السمة " معرّف العميل" مفتاحًا خارجيًا. أما الربط فهو عملية تستخدم معلومات من عدة علاقات في آن واحد. من خلال ربط متغيرات العلاقات في المثال أعلاه، يمكننا الاستعلام من قاعدة البيانات عن جميع العملاء والطلبات والفواتير. إذا أردنا فقط سجلات عميل محدد، فسنحدد ذلك باستخدام شرط تقييد . على سبيل المثال، إذا أردنا استرداد جميع طلبات العميل رقم 123 ، فيمكننا الاستعلام من قاعدة البيانات لإرجاع كل صف في جدول الطلبات يحمل معرّف العميل 123 .
يوجد خلل في تصميم قاعدة البيانات المذكور أعلاه. يحتوي متغير العلاقة "Invoice" على سمة "Order ID". بالتالي، سيحتوي كل صف في متغير العلاقة "Invoice" على سمة "Order ID"، مما يعني وجود طلب واحد فقط لكل فاتورة. ولكن في الواقع، يمكن إنشاء فاتورة لعدة طلبات، أو حتى بدون طلب محدد. بالإضافة إلى ذلك، يحتوي متغير العلاقة "Order" على سمة "Invoice ID"، مما يعني أن لكل طلب فاتورة مقابلة. ولكن هذا ليس صحيحًا دائمًا في الواقع. أحيانًا يُدفع الطلب عبر عدة فواتير، وأحيانًا يُدفع بدون فاتورة. بعبارة أخرى، قد يكون هناك عدة فواتير لكل طلب، وعدة طلبات لكل فاتورة. هذه علاقة متعددة الأطراف بين الطلب والفاتورة (وتُسمى أيضًا علاقة غير محددة ). لتمثيل هذه العلاقة في قاعدة البيانات، يجب إضافة متغير علاقة جديد، دوره تحديد التطابق بين الطلبات والفواتير.
فاتورة الطلب ( معرف الطلب ، معرف الفاتورة )
الآن، يرتبط جدول Order بجدول OrderInvoice بعلاقة واحد إلى متعدد ، وكذلك جدول Invoice. إذا أردنا استرجاع جميع الفواتير لطلب معين، يمكننا الاستعلام عن جميع الطلبات التي يكون فيها معرّف الطلب في جدول Order مساويًا لمعرّف الطلب في جدول OrderInvoice، والتي يكون فيها معرّف الفاتورة في جدول OrderInvoice مساويًا لمعرّف الفاتورة في جدول Invoice.
تطبيق على قواعد البيانات العلائقية
قد يكون نوع البيانات في قاعدة البيانات العلائقية مجموعة من الأعداد الصحيحة، أو مجموعة من السلاسل النصية، أو مجموعة من التواريخ، وما إلى ذلك. لا يحدد النموذج العلائقي أنواع البيانات التي يجب دعمها.
تُمثَّل السمات عادةً كأعمدة ، والصفوف كصفوف ، والعلاقات كجداول . يُحدَّد الجدول كقائمة من تعريفات الأعمدة، حيث يُحدِّد كل تعريف اسم عمود فريد ونوع القيم المسموح بها لهذا العمود. قيمة السمة هي المدخل في عمود وصف مُحدَّدين.
يُعرف متغير العلاقة ( relvar ) في قاعدة البيانات عادةً باسم الجدول الأساسي . يكون عنوان القيمة المُسندة إليه في أي وقت كما هو مُحدد في تعريف الجدول، بينما يكون محتواه هو آخر قيمة أُسندت إليه بواسطة عامل التحديث (عادةً، INSERT أو UPDATE أو DELETE). يتم تحديد عنوان ومحتوى الجدول الناتج عن تنفيذ استعلام ما من خلال تعريفات عوامل التشغيل المُستخدمة في ذلك الاستعلام.
لغة SQL والنموذج العلائقي
لغة SQL، التي رُوِّج لها في البداية كلغة قياسية لقواعد البيانات العلائقية ، تختلف عن النموذج العلائقي في عدة جوانب. ولا يذكر معيار ISO SQL الحالي النموذج العلائقي، ولا يستخدم مصطلحاته أو مفاهيمه.
وفقًا للنموذج العلائقي، تُعتبر سمات العلاقة وصفوفها مجموعات رياضية ، أي أنها غير مرتبة وفريدة. أما في جدول SQL، فلا تُعتبر الصفوف ولا الأعمدة مجموعات بالمعنى الدقيق. قد يحتوي الجدول على صفوف وأعمدة مكررة، وتكون أعمدة الجدول مرتبة ترتيبًا واضحًا. يستخدم SQL القيمة الفارغة (Null) للإشارة إلى البيانات المفقودة، وهو ما لا يوجد له نظير في النموذج العلائقي. ولأن الصف قد يُمثل معلومات غير معروفة، فإن SQL لا يلتزم بمبدأ المعلومات في النموذج العلائقي . [ 7 ] : 153-155، 162
صياغة نظرية المجموعات
من المفاهيم الأساسية في النموذج العلائقي أسماء العلاقات وأسماء السمات . سنمثل هذه الأسماء كسلاسل نصية مثل "شخص" و"اسم"، وسنستخدم عادةً المتغيرات. and to range over them. Another basic notion is the set of atomic values that contains values such as numbers and strings.
Our first definition concerns the notion of tuple, which formalizes the notion of row or record in a table:
- Tuple
- A tuple is a partial function from attribute names to atomic values.
- Header
- A header is a finite set of attribute names.
- Projection
- The projection of a tuple on a finite set of attributes is .
The next definition defines relation that formalizes the contents of a table as it is defined in the relational model.
- Relation
- A relation is a tuple with , the header, and , the body, a set of tuples that all have the domain .
Such a relation closely corresponds to what is usually called the extension of a predicate in first-order logic except that here we identify the places in the predicate with attribute names. Usually in the relational model a database schema is said to consist of a set of relation names, the headers that are associated with these names and the constraints that should hold for every instance of the database schema.
- Relation universe
- A relation universe over a header is a non-empty set of relations with header .
- Relation schema
- A relation schema consists of a header and a predicate that is defined for all relations with header . A relation satisfies a relation schema if it has header and satisfies .
Key constraints and functional dependencies
One of the simplest and most important types of relation constraints is the key constraint. It tells us that in every instance of a certain relational schema the tuples can be identified by their values for certain attributes.
A superkey is a set of column headers for which the values of those columns concatenated are unique across all rows. Formally:
- A superkey is written as a finite set of attribute names.
- A superkey holds in a relation if:
- and
- there exist no two distinct tuples such that .
- A superkey holds in a relation universe if it holds in all relations in .
- Theorem: A superkey holds in a relation universe over if and only if and holds in .
- Candidate key
A candidate key is a superkey that cannot be further subdivided to form another superkey.
- A superkey holds as a candidate key for a relation universe if it holds as a superkey for and there is no proper subset of that also holds as a superkey for .
- Functional dependency
Functional dependency is the property that a value in a tuple may be derived from another value in that tuple.
- A functional dependency (FD for short) is written as for finite sets of attribute names.
- A functional dependency holds in a relation if:
- and
- tuples ,
- A functional dependency holds in a relation universe if it holds in all relations in .
- Trivial functional dependency
- A functional dependency is trivial under a header if it holds in all relation universes over .
- Theorem: An FD is trivial under a header if and only if .
- Closure
- Armstrong's axioms: The closure of a set of FDs under a header , written as , is the smallest superset of such that:
- (reflexivity)
- (transitivity) and
- (augmentation)
- Theorem: Armstrong's axioms are sound and complete; given a header and a set of FDs that only contain subsets of , if and only if holds in all relation universes over in which all FDs in hold.[11]
- Completion
- The completion of a finite set of attributes under a finite set of FDs , written as , is the smallest superset of such that:
- The completion of an attribute set can be used to compute if a certain dependency is in the closure of a set of FDs.
- Theorem: Given a set of FDs, if and only if .
- Irreducible cover
- An irreducible cover of a set of FDs is a set of FDs such that:
- there exists no such that
- is a singleton set and
- .
Algorithm to derive candidate keys from functional dependencies
algorithm derive candidate keys from functional dependencies isinput: a set S of FDs that contain only subsets of a header Houtput: the set C of superkeys that hold as candidate keys in all relation universes over H in which all FDs in S hold C := ∅ // found candidate keys Q := { H } // superkeys that contain candidate keys whileQ <> ∅ do let K be some element from QQ := Q – { K } minimal := truefor eachX->YinSdoK' := (K – Y) ∪ X // derive new superkey ifK' ⊂ Kthenminimal := falseQ := Q ∪ { K' } end ifend forifminimaland there is not a subset of K in Cthen remove all supersets of K from CC := C ∪ { K } end ifend whileAlternatives
تشمل النماذج الأخرى النموذج الهرمي ونموذج الشبكة . لا تزال بعض الأنظمة التي تستخدم هذه البنى القديمة مستخدمة حتى اليوم في مراكز البيانات ذات الاحتياجات العالية من حيث حجم البيانات، أو حيث تكون الأنظمة الحالية معقدة ومجردة لدرجة تجعل الانتقال إلى أنظمة تستخدم النموذج العلائقي مكلفًا للغاية. ومن الجدير بالذكر أيضًا قواعد البيانات الحديثة الموجهة للكائنات [ 12 ] و Datalog [ 13 ] .
Datalog هي لغة تعريف قواعد البيانات، تجمع بين عرض علائقي للبيانات، كما في النموذج العلائقي، وعرض منطقي، كما في البرمجة المنطقية . فبينما تستخدم قواعد البيانات العلائقية حسابًا علائقيًا أو جبرًا علائقيًا، مع عمليات علائقية مثل الاتحاد والتقاطع وفرق المجموعات والضرب الديكارتي لتحديد الاستعلامات، تستخدم Datalog روابط منطقية، مثل if و or و and و not، لتعريف العلاقات كجزء من قاعدة البيانات نفسها.
على النقيض من النموذج العلائقي، الذي لا يمكنه التعبير عن الاستعلامات المتكررة دون إدخال عامل نقطة ثابتة دنيا، [ 14 ] يمكن تعريف العلاقات المتكررة في Datalog، دون إدخال أي روابط منطقية أو عوامل تشغيل جديدة.
انظر أيضاً
مراجع
- ↑ كود، إي إف (1969)، قابلية الاشتقاق، والتكرار، واتساق العلاقات المخزنة في قواعد البيانات الكبيرة ، تقرير بحثي، آي بي إم.
- 1 2 3 4 5 كود، إي إف (1970). "نموذج علائقي للبيانات لبنوك البيانات المشتركة الكبيرة" . اتصالات رابطة مكائن الحوسبة . كلاسيكيات. 13 (6): 377-387 . doi : 10.1145/362384.362685 . S2CID 207549016 .
- ↑ كود، إي. إف. (1990)، النموذج العلائقي لإدارة قواعد البيانات ، أديسون-ويسلي، ص 371-388 ، رقم ISBN 978-0-201-14192-4.
- ↑ "هل كان لبيان ديت وداروين الثالث تأثير دائم؟" . موقع تبادل الأسئلة والأجوبة في علوم الحاسوب . تم الاطلاع عليه بتاريخ 3 أغسطس 2024 .
- ↑ ديت، كريستوفر ج. (2006). "18. لماذا لا ينجح المنطق الثلاثي والرباعي القيم". ديت على قاعدة البيانات: كتابات 2000-2006 . أبريس. ص 329-341 . ISBN 978-1-59059-746-0.
- ↑ "الصفوف في أنظمة إدارة قواعد البيانات" . GeeksforGeeks . 12 فبراير 2023. تم الاطلاع عليه بتاريخ 3 أغسطس 2024 .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 ديت، كريس ج. (2013). نظرية العلاقات لمحترفي الحاسوب: ما هي قواعد البيانات العلائقية حقًا ( الطبعة الأولى). سيباستوبول، كاليفورنيا: أورايلي ميديا. ISBN 978-1-449-36943-9.
- ↑ "النموذج العلائقي | PDF | النموذج العلائقي | قاعدة البيانات العلائقية" . Scribd . تم الاطلاع عليه بتاريخ 27-09-2025 .
- ↑ "تصنيف محركات قاعدة البيانات" . محركات قاعدة البيانات . تم الاسترجاع في 28-06-2026 .
- ↑ ديفيد م. كرونكي، معالجة قواعد البيانات: الأساسيات والتصميم والتنفيذ (1997)، برنتيس هول، الصفحات 130-144
- ↑ أرمسترونغ، ويليام وارد (1974). معالجة المعلومات 74: وقائع مؤتمر الاتحاد الدولي لمعالجة المعلومات 74. نورث هولاند. الصفحات 580-583 .
- ↑ أتكينسون، م.، ديويت، د.، ماير، د.، بانسيلون، ف.، ديتريش، ك.، وزدونيك، س.، 1990. بيان نظام قواعد البيانات الموجهة للكائنات. في قواعد البيانات الاستنتاجية والموجهة للكائنات (ص 223-240). نورث هولاند.
- ↑ ماير، د.، تيكلي، ك.ت.، كيفر، م. ووارن، د.س.، 2018. داتالوج: المفاهيم والتاريخ والتوقعات. في برمجة المنطق التصريحي: النظرية والأنظمة والتطبيقات (ص 3-100).
- ↑ أهو، أ.ف. وأولمان، ج.د.، يناير 1979. عالمية لغات استرجاع البيانات. في وقائع الندوة السادسة لجمعية آلات الحوسبة SIGACT-SIGPLAN حول مبادئ لغات البرمجة (ص 110-119).
للمزيد من القراءة
- ديت، كريستوفر جيه ؛ داروين، هيو (2000). أسس أنظمة قواعد البيانات المستقبلية: البيان الثالث؛ دراسة تفصيلية لتأثير نظرية الأنواع على النموذج العلائقي للبيانات، بما في ذلك نموذج شامل لتوريث الأنواع ( الطبعة الثانية). ريدينغ، ماساتشوستس : أديسون-ويسلي. ISBN 978-0-201-70928-5.
- — — — (2007). مقدمة في أنظمة قواعد البيانات ( الطبعة الثامنة). بوسطن: بيرسون للتعليم. ISBN 978-0-321-19784-9.
روابط خارجية
- تشايلدز (1968)، جدوى بنية بيانات نظرية المجموعات: بنية عامة تستند إلى تعريف مُعاد تشكيله للعلاقة (بحث)، المعرف، hdl : 2027.42/4164ورد ذكره في ورقة كود البحثية عام 1970.
- داروين، هيو، البيان الثالث (TTM).
- "النموذج العلائقي" ، C2.
- مقارنة العلاقات الثنائية والصفوف فيما يتعلق بالويب الدلالي ( مدونة شبكة الويب العالمية )، صن.
- النموذج العلائقي
- 1969 في مجال الحوسبة
- نماذج البرمجة
- أنظمة إدارة قواعد البيانات
- إدغار ف. كود
