عرض (SQL)
في قاعدة البيانات ، تُعرَّف " العرض" بأنها مجموعة نتائج استعلام مُخزَّن ، تُقدِّم للمستخدم منظورًا محدودًا لقاعدة البيانات. [ 1 ] يُحفظ أمر الاستعلام المُعدّ مسبقًا في قاموس البيانات . على عكس جداول البيانات الأساسية العادية في قاعدة البيانات العلائقية ، لا يُشكِّل العرض جزءًا من المخطط الفعلي ؛ فهو، كمجموعة نتائج، جدول افتراضي [ 1 ] يُحسب أو يُجمَّع ديناميكيًا من بيانات قاعدة البيانات عند طلب الوصول إليه. وتنعكس التغييرات المُطبَّقة على البيانات في الجدول الأساسي ذي الصلة في البيانات المعروضة في الاستدعاءات اللاحقة للعرض.
قد توفر طرق العرض مزايا على الجداول:
- يمكن أن تمثل طرق العرض مجموعة فرعية من البيانات الموجودة في جدول. وبالتالي، يمكن لطريقة العرض أن تحد من درجة انكشاف الجداول الأساسية للعالم الخارجي: فقد يكون لدى مستخدم معين إذن بالاستعلام عن طريقة العرض، بينما يُمنع من الوصول إلى بقية الجدول الأساسي. [ 2 ]
- يمكن للعروض دمج وتبسيط جداول متعددة في جدول افتراضي واحد. [ 2 ]
- يمكن أن تعمل طرق العرض كجداول مجمعة، حيث يقوم محرك قاعدة البيانات بتجميع البيانات ( المجموع ، المتوسط ، إلخ) وعرض النتائج المحسوبة كجزء من البيانات.
- يمكن أن تخفي طرق العرض تعقيد البيانات. على سبيل المثال، يمكن أن يظهر العرض باسم Sales2020 أو Sales2021، مما يؤدي إلى تقسيم الجدول الأساسي الفعلي بشكل شفاف.
- لا تتطلب طرق العرض مساحة تخزين كبيرة؛ إذ تحتوي قاعدة البيانات فقط على تعريف طريقة العرض، وليس نسخة من جميع البيانات التي تعرضها.
- يمكن أن تُنظّم طرق العرض البيانات بطريقة يجدها فئات المستخدمين طبيعية وبديهية. [ 2 ]
كما تُوفّر الدوال (في البرمجة) تجريدًا للبيانات ، كذلك تُوفّر طرق عرض قواعد البيانات تجريدًا. وبالمثل، يُمكن لمستخدمي قواعد البيانات التعامل مع طرق العرض المتداخلة، بحيث يُمكن لطريقة عرض واحدة تجميع البيانات من طرق عرض أخرى. وبدون استخدام طرق العرض، ستُصبح عملية تطبيع قواعد البيانات فوق المستوى الطبيعي الثاني أكثر صعوبة. تُسهّل طرق العرض إنشاء تفكيك ربط غير فاقد للبيانات.
كما هو الحال مع الصفوف في الجدول الأساسي التي تفتقر إلى أي ترتيب مُحدد، فإن الصفوف المُتاحة من خلال العرض لا تظهر بأي ترتيب افتراضي. العرض هو جدول علائقي، ويُعرّف النموذج العلائقي الجدول على أنه مجموعة من الصفوف. وبما أن المجموعات غير مُرتبة - بحكم التعريف - فإن صفوف العرض كذلك غير مُرتبة. لذلك، فإن عبارة ORDER BY في تعريف العرض لا معنى لها؛ إذ لا يسمح معيار SQL ( SQL:2003 ) باستخدام عبارة ORDER BY في الاستعلام الفرعي لأمر CREATE VIEW، تمامًا كما هو الحال في عبارة CREATE TABLE. مع ذلك، يُمكن الحصول على البيانات المُرتّبة من العرض، بنفس طريقة الحصول على أي جدول آخر - كجزء من عبارة استعلام على ذلك العرض. ومع ذلك، فإن بعض أنظمة إدارة قواعد البيانات (مثل قاعدة بيانات أوراكل ) لا تلتزم بهذا القيد في معيار SQL.
عرض للقراءة فقط مقابل عرض قابل للتحديث
يمكن تعريف طرق العرض بأنها للقراءة فقط أو قابلة للتحديث. إذا كان نظام قاعدة البيانات قادرًا على تحديد العلاقة العكسية بين مخطط طريقة العرض ومخطط الجداول الأساسية، فإن طريقة العرض تكون قابلة للتحديث. يمكن إجراء عمليات الإضافة والتحديث والحذف على طرق العرض القابلة للتحديث . أما طرق العرض للقراءة فقط فلا تدعم هذه العمليات لأن نظام إدارة قواعد البيانات لا يستطيع ربط التغييرات بالجداول الأساسية. يتم تحديث طريقة العرض عن طريق الحفاظ على المفتاح.
تدعم بعض الأنظمة تعريف مُشغّلات "بدلاً من " على العروض. تسمح هذه التقنية بتعريف منطق آخر للتنفيذ بدلاً من عملية إدراج أو تحديث أو حذف على العروض. وبالتالي، يمكن لأنظمة قواعد البيانات إجراء تعديلات على البيانات بناءً على عروض للقراءة فقط. مع ذلك، لا يُغيّر مُشغّل "بدلاً من" خاصية القراءة فقط أو قابلية التحديث للعرض نفسه.
مناظر مادية
قامت العديد من أنظمة إدارة قواعد البيانات بتوسيع نطاق عرض البيانات من مجموعات فرعية للقراءة فقط ، ولا سيما العروض المادية : وهي عروض غير افتراضية يتم تنفيذها مسبقًا، وتُستخدم عادةً في مستودعات البيانات . تُقدم هذه العروض لقطة ثابتة للبيانات، وقد تتضمن بيانات من مصادر بعيدة. وتعتمد دقة العرض المادي على وتيرة آليات التحديث التي تُفعّله.
قدمت قاعدة بيانات أوراكل ميزة "العروض المادية "، بينما توفر قاعدة بيانات IBM Db2 ما يُسمى "جداول الاستعلام المادية" (MQTs) لنفس الغرض. أما خادم Microsoft SQL Server، فقد قدم في إصداره 2000 ميزة "العروض المفهرسة" التي تخزن فهرسًا منفصلاً عن الجدول فقط، وليس البيانات كاملة. وقد طبقت PostgreSQL ميزة "العروض المادية" في إصدارها 9.3.
التكافؤ
تُعادل طريقة العرض استعلام المصدر الخاص بها. عند تنفيذ الاستعلامات على طرق العرض، يتم تعديل الاستعلام. على سبيل المثال، إذا كانت هناك طريقة عرض باسم accounts_view تحتوي على المحتوى التالي:
-- عرض_الحسابات : ------------- SELECT name , money_received , money_sent , ( money_received - money_sent ) AS balance , address , ... FROM customers_table c JOIN accounts_table a ON a.customer_id = c.customer_idعندها يمكن للتطبيق تشغيل استعلام بسيط مثل:
-- استعلام بسيط ------------ SELECT name , balance FROM accounts_viewثم يقوم نظام إدارة قواعد البيانات العلائقية بأخذ الاستعلام البسيط، واستبدال العرض المكافئ، ثم يرسل ما يلي إلى مُحسِّن الاستعلام :
-- استعلام مُعالَج مُسبقًا : ------------------ SELECT name , balance FROM ( SELECT name , money_received , money_sent , ( money_received - money_sent ) AS balance , address , ... FROM customers_table c JOIN accounts_table a ON a.customer_id = c.customer_id )ثم يقوم المحسن بإزالة الحقول غير الضرورية والتعقيد (على سبيل المثال، ليس من الضروري قراءة العنوان، لأن الاستدعاء الأصل لا يستخدمه) ثم يرسل الاستعلام إلى محرك SQL للمعالجة.
انظر أيضاً
مراجع
- 1 2 "25.5 استخدام طرق العرض" . MySQL . Oracle. 12-12-2023. مؤرشف من الأصل في 23-11-2023 . تم الاسترجاع في 12-12-2023 .
طرق العرض هي استعلامات مخزنة، وعند استدعائها تُنتج مجموعة نتائج. تعمل طريقة العرض كجدول افتراضي.
- 1 2 3 غروف، جيمس ر.؛ واينبرغ، بول ن. (1999). SQL: المرجع الكامل (PDF) . أوزبورن/ماكجرو هيل. الصفحات 291-292 . ISBN 0072118458.
- أنظمة إدارة قواعد البيانات
- SQL
- نظرية قواعد البيانات
