حساب العلاقات في المجال

في علوم الحاسوب ، يعد حساب التفاضل والتكامل العلائقي للمجال ( DRC ) حسابًا قدمه ميشيل لاكروا وآلان بيروت كلغة استعلام تصريحية لقاعدة البيانات لنموذج البيانات العلائقية . [ 1 ]

في جمهورية الكونغو الديمقراطية، تأخذ الاستعلامات الشكل التالي:

{X1،X2،....،Xن|ص(X1،X2،....،Xن)}{\displaystyle \{\langle X_{1},X_{2},....,X_{n}\rangle \mid p(\langle X_{1},X_{2},....,X_{n}\rangle )\}}

حيث يمثل كل X i إما متغيرًا في المجال أو ثابتًا، وص(X1،X2،....،Xن){\displaystyle p(\langle X_{1},X_{2},....,X_{n}\rangle )}يشير إلى صيغة DRC . نتيجة الاستعلام هي مجموعة الصفوف من X1 إلى Xn التي تجعل صيغة DRC صحيحة.

تستخدم هذه اللغة نفس عوامل حساب المجموعات ، وهي الروابط المنطقية (و)، (أو)، و¬ (ليس). ويمكن استخدام المُكمِّم الوجودي (∃) والمُكمِّم الكلي (∀) لربط المتغيرات.

إن قدرتها التعبيرية الحسابية تعادل قدرة الجبر العلائقي . [ 2 ]

أمثلة

لنفترض أن (A, B, C) تعني (الرتبة، الاسم، المعرف) في علاقة المؤسسة

ولنفترض أن (D, E, F) تعني (الاسم، اسم القسم، المعرف) في علاقة القسم

جميع قادة سفينة الفضاء يو إس إس إنتربرايز : { أ،ب،ج|أ،ب،جهـنتهـرصرأناsهـ  أ=جأصتأأنان }{\displaystyle \left\{\ {\left\langle A,B,C\right\rangle }\mid {\left\langle A,B,C\right\rangle \in \mathrm {Enterprise} \ \land \ A=\mathrm {'Captain'} }\ \right\}}

في هذا المثال، تشير A وB وC إلى كل من مجموعة النتائج ومجموعة في جدول المؤسسة.

أسماء أفراد طاقم سفينة إنتربرايز العاملين في مجال رسم الخرائط النجمية: {ب|أ،ج أ،ب،جهـنتهـرصرأناsهـ د،هـ،F د،هـ،Fدهـصأرتمهـنتs F=ج هـ=Sتهـللأر جأرتoزرأصحy}{\displaystyle {\begin{aligned}\{{\left\langle B\right\rangle }&\mid {\exists A,C\ \left\langle A,B,C\right\rangle \in \mathrm {Enterprise} }\\&\land \ {\exists D,E,F\ \left\langle D,E,F\right\rangle \in \mathrm {Departments} }\\&\land \ F=C\\&\land \ E=\mathrm {'Stellar\ Cartography'} \}\\\end{aligned}}}

في هذا المثال، نحن نبحث فقط عن الاسم، وهو B. الشرط F = C هو شرط يصف تقاطع أعضاء طاقم Enterprise وأعضاء قسم رسم الخرائط النجمية.

ويمكن تمثيل المثال السابق بطريقة بديلة كما يلي: {ب|أ،ج أ،ب،جهـنتهـرصرأناsهـ د د،Sتهـللأر جأرتoزرأصحy،جدهـصأرتمهـنتs}{\displaystyle {\begin{aligned}\{{\left\langle B\right\rangle }&\mid {\exists A,C\ \left\langle A,B,C\right\rangle \in \mathrm {Enterprise} }\\&\land \ {\exists D\ \left\langle D,\mathrm {'Stellar\ Cartography'} ,C\right\rangle \in \mathrm {Departments} }\}\\\end{aligned}}}

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

كلاهما مكتوب بلغة SQL سيكونان على النحو التالي:

حدد B من Enterprise وانضم إلى Department على F = C و E = 'Stellar Cartography' ؛

انظر أيضاً

مراجع

  1. لاكروا، ميشيل؛ بيروت، آلان (6 أكتوبر 1977). "لغات العلاقات الموجهة نحو المجال" . وقائع المؤتمر الدولي الثالث حول قواعد البيانات الضخمة جدًا - المجلد 3. VLDB '77. طوكيو، اليابان: مؤسسة VLDB: 370-378 .
  2. E. F. Codd: Relational Completeness of Data Base Sub-languages. In R. Rustin, editor, Data Base Systems. Prentice Hall, 1972