إنتقل إلى المحتوى الرئيسي

تصميم استعلام

الهدف​

بناء استعلام دون كتابة JSON: اختيار الجدول، ووصل الجداول المرتبطة به، واختيار الأعمدة التي يعيدها، وتضييقه بالشروط، و — حين يكون الجواب رقمًا لا قائمة — تجميعه وقياسه.

أين هو​

افتح حلّك، واختر الاستعلامات المحفوظة، ثم جديد — أو حدّد استعلامًا واختر تعديل. يملأ المصمّم الصفحة بدل أن ينزلق من الجانب، لأن للاستعلام بنية خاصة به: جداول موصولة بجداول، وشجرة شروط، وقائمة أعمدة مرتّبة، ومقاييس. في لوحة ضيّقة ينكسر الشرط الواحد على أربعة أسطر فلا يعود يبدو شرطًا واحدًا.

اختر إغلاق للعودة إلى القائمة. لا يُحفظ شيء حتى تختار حفظ.

التبويبات الثلاثة​

هي ثلاثة عروض لاستعلام واحد، لا ثلاثة محرّرات. ما تغيّره في أحدها تعرضه البقية — فلا يمكن أبدًا أن تتعارض.

التبويبلماذا
بسيطالاستعلام اليومي: جدول، وأعمدته، وتصفية، وترتيب، وحدّ للصفوف.
متقدّمكل ذلك، إضافةً إلى الجداول المرتبطة، والتجميع بالمقاييس، والخيارات.
JSONالمستند نفسه، لكل ما لا يرسمه النموذج.
النتائجما يعيده الاستعلام، في هيئة جدول. هذا التبويب عرضٌ لِـالإجابة، لا للاستعلام.

الاستعلام الذي يستخدم أصلاً جداول مرتبطة أو تجميعًا أو خيارات يُفتح على «متقدّم»، فلا يُخفى عنك شيء مما يحويه. وإن نقلت مثل هذا الاستعلام إلى «بسيط»، قال النموذج ما الذي لا يعرضه — وأبقاه كما هو.

الخطوات​

١. اختر الجدول​

اضغط زر الجدول وابحث. كل ما تبقّى في الاستعلام يُبنى من هذا الجدول ومن الجداول الموصولة به.

تغيير الجدول يمسح البقية، وهذا مقصود: الأعمدة والشروط والمقاييس كلها تسمّي حقول الجدول القديم، والإبقاء عليها يُنتج استعلامًا يُحفَظ ثم يرفض العمل مسمّيًا حقلاً تراه أمامك على الشاشة.

٢. أضف الجداول المرتبطة (متقدّم)​

اختر إضافة جدول مرتبط. القائمة مستمدّة من العلاقات الموجودة فعلاً في بيئتك، فلا تكتب اسم حقل أبدًا. وإن لم يكن شيء مرتبطًا بجدولك بعد، تُفتح القائمة وتقول ذلك — فالجدول المرتبط يأتي من عمود بحث، فأضف واحدًا على أيٍّ من الجدولين ليظهر هنا:

  • سجل مرتبط واحد — تتبّع حقل بحث، كحساب الصفقة. هذا هو الوصل المعتاد وهو آمن.
  • سجلات مرتبطة عديدة — قد تتكرر الصفوف — الاتجاه المعاكس، كصفقات الحساب. يعيد صف الأصل مرّة لكل ابن، وهذا ما يضاعف المجاميع بصمت. استخدمه حين تقصده، وانظر أرقام تبدو أكبر مما ينبغي.

كل جدول موصول له:

  • اسم (اسمه المستعار). تُسمّى أعمدته alias.column في كل الاستعلام. يمكنك تغييره؛ وينبّهك المصمّم إن بقي شيء يسمّي الاسم القديم.
  • نوع الوصل — الإبقاء على الصفوف بلا مطابقة (الافتراضي) أو الصفوف المطابقة فقط. الافتراضي هو الآمن: مع الصفوف المطابقة فقط تختفي الصفقة التي بلا حساب من النتائج تمامًا، ولا شيء على الشاشة يربط الاختفاء بالوصل.
  • شروطه الخاصة، تُفتح بالسهم في أول الصف. تُضيّق هذه الجدول المرتبط داخل الوصل نفسه، فتبقى الصفوف بلا مطابقة إن كان الوصل مضبوطًا على إبقائها. وضع الشرط نفسه في التصفية الرئيسية يرمي تلك الصفوف.

يستطيع الاستعلام وصل ثمانية جداول على الأكثر، بتداخل حتى ثلاثة مستويات.

٣. اختر الأعمدة​

تسرد اللوحة الأولى كل عمود يستطيع الاستعلام تسميته — أعمدة الجدول نفسه وكل جدول موصول — مجمّعةً حسب الجدول ومُصفّاة أثناء الكتابة. ضع علامة على واحد فيظهر في اللوحة الأخرى، وهي ما يعيده الاستعلام بالترتيب؛ و× يحذف واحدًا.

والترتيب مهم — فهو ترتيب عودة الأعمدة، وترتيب طباعتها في التقرير. اسحب الصف من مقبضه لنقله، وهي الحركة نفسها المستخدمة مع قيم مجموعة اختيارات أو تنقّل تطبيق. ومن دون فأرة: ركّز على المقبض، واضغط مسافة لالتقاط الصف، ومفاتيح الأسهم لنقله، ثم مسافة لإفلاته.

اترك لوحة المختار فارغة لإعادة أعمدة الجدول نفسه.

لست مضطرًا لمعرفة الجدول الذي ينتمي إليه العمود. ضع علامة على «الحساب · القطاع» فيكتبه الاستعلام تحت وصل الحساب نيابةً عنك.

٤. ضيّقه​

قسم التصفية هو نفسه بانية شروط «و/أو» في البحث المتقدّم أو تصفية العرض، وهو الآن يعرض كل عمود في الاستعلام — أعمدة الجداول الموصولة كما أعمدة جدولك.

كل شرط صفّ واحد: حقل، وعامل، وقيمة، و× لإزالته.

واحد من يأخذ عدة قيم دفعة واحدة. على عمود خيارات يفتح قائمة قابلة للبحث تضع عليها علامات؛ وعلى عمود نصّي أو رقمي تكتب قيمة وتضغط Enter لإضافتها، فتصير كل قيمة بطاقة يمكن حذفها. هذا شرط واحد بعدة قيم، لا عدة شروط تصلها بـ«أو» يدويًا.

لا يقل عن ولا يزيد عن موجودان لأن كتابة «لا يقل عن ٥» بصيغة «أكبر من ٤» صحيحة فقط على الأعداد الصحيحة، وخاطئة بصمت على عدد عشري أو تاريخ.

٥. جمّع وقِس (متقدّم)​

ضع علامة على إعادة المجموعات بدل السجلات حين يكون الجواب رقمًا لا قائمة — وهو ما يُرسم منه المخطط وبطاقة المؤشر.

  • المقاييس — ما يُحسب. العدّ لا يحتاج حقلاً (يعدّ السجلات) لكنه يقبل واحدًا (فيعدّ الصفوف التي ضُبط فيها ذلك الحقل). المجموع والمتوسط لا يُعرض لهما إلا الأعمدة الرقمية. لكل مقياس اسم قصير؛ به تعود النتيجة، وإليه يرتبط المخطط.
  • التجميع حسب — مفتاحان على الأكثر. اتركه فارغًا لمجموع واحد على الجدول كله. ويعرض عمود التاريخ أيضًا فترة — يوميًا أو أسبوعيًا أو شهريًا أو فصليًا أو سنويًا.
  • الشروط على المقاييس — أدناه.

٦. الشروط على المقاييس (متقدّم)​

هذا هو السؤال الذي لا تستطيع التصفية طرحه.

التصفية تقرّر أي السجلات تدخل إلى المجموعة. والشرط على المقياس يقرّر أي المجموعات تخرج منها. «العملاء الذين طلبوا أكثر من عشر مرات» لا يمكن كتابته كتصفية أصلاً، لأن أي طلب مفرد لا يعرف كم طلبًا قدّم عميله.

إذًا: جمّع حسب العميل، وقِس العدّ باسم orders، ثم أضف شرطًا — orders لا يقل عن ١٠.

لا تستطيع الشروط تسمية غير المقاييس التي يحسبها هذا الاستعلام. وإن وجدت نفسك تريد مقارنة عمود عادي هنا، فمكانه التصفية.

٧. الترتيب والحدّ​

رتّب حسب أي عمود يعيده الاستعلام. أما الاستعلام المجمَّع فلا أعمدة له للترتيب — صفوفه مجموعات — فيعرض مفاتيح التجميع وأسماء المقاييس، وهي الأسماء الوحيدة التي لديه.

أعِد على الأكثر يحدّ الصفوف أو المجموعات. والترتيب التنازلي حسب مقياس مع حدّ خمسة هو استعلام «أفضل خمسة عملاء».

٨. الخيارات (متقدّم)​

  • إزالة الصفوف المكرّرة — لا يهمّ إلا مع وصل له سجلات عديدة لكل صف. وهو لا يصحّح مجموعًا: فالاستعلام المجمَّع يظل يعدّ الصفوف المكرّرة، لأن إزالة التكرار والعدّ سؤالان مختلفان.
  • تضمين نص أعمدة البحث — مفعّل افتراضيًا، لأن عمودًا من معرّفات السجلات ليس عرضًا لشيء. أوقفه لتصدير معتمد على المعرّف.
  • المنطقة الزمنية — تُستخدم لفترات التاريخ. بدونها تُحسب بتوقيت UTC، فيقع سجل التاسعة مساءً في اليوم التالي، ويصير المخطط اليومي خاطئًا بقدر ضئيل كل يوم بطريقة لا ينتبه لها أحد.

٩. احفظ ثم عايِن​

الحفظ يفحص الاستعلام بثلاث طرق: أنه مستند سليم البنية، وأنه استعلام صالح، وأنه يعمل هنا فعلاً — كل حقل ووصل وتجميع ومقياس مقابل جداول بيئتك الحقيقية.

المعاينة تُشغّل الاستعلام وتفتح تبويب النتائج، حيث يظهر ما عاد في هيئة جدول: عمودٌ لكل عمود يعيده الاستعلام، باسمه المعروض، وبالترتيب الذي وضعته. وأعمدة البحث تعرض اسم السجل، لا المعرّف المخزَّن خلفه.

  • الاستعلام السجلّي مُرقَّم الصفحات، ٢٥ صفًا في المرة، مع مرقّم الصفحات تحت الجدول والإجمالي فوقه. أما الاستعلام المجمَّع فلا يُرقَّم — يعيد كل مجموعة يجدها — فجدوله هو الإجابة كاملة.
  • يشغّل الاستعلام كما هو محفوظ، وبصلاحياتك أنت. احفظ أولاً: فالتعديلات غير المحفوظة ليست ضمنه، والتبويب يقول ذلك فوق الجدول. واستعلامٌ لم يُحفظ قط لا شيء لديه ليُشغَّل، وتبقى المعاينة غير متاحة حتى تحفظه مرة واحدة.

تبويب JSON​

يرسم المصمّم كل لغة الاستعلام تقريبًا، وتبويب JSON هو الباقي — ترقيم الصفحات، وكل ما يستخدمه استعلام مكتوب يدويًا أو مُولَّد ولا يملك النموذج عنصر تحكّم له. إنه مخطط parsware-query@1، وهو نفس المستند الذي تعطيه لمساعد ذكي يكتب لك استعلامًا.

وكل ما لا يرسمه النموذج يبقى كما هو تمامًا بينما تعدّل الباقي. فمصمّم يُسقط بصمت جزءًا من استعلامك هو أسوأ طريقة ممكنة لتكتشف وجود ذلك الجزء.

أرقام تبدو أكبر مما ينبغي​

الوصل في اتجاه «سجلات مرتبطة عديدة» يكرّر صف الأصل مرّة لكل مطابقة، فتعدّ المجاميع التكرارات: حساب له خمس صفقات يُعدّ خمس مرات.

أما تتبّع حقل بحث — الاتجاه المعتاد — فلا يفعل ذلك. إن بدا مجموع ما منتفخًا، فانظر هل يقول وصلٌ ما «سجلات مرتبطة عديدة»، ثم إما أن تقيس الجدول الابن بدلاً منه أو تطرح السؤال بالاتجاه المعاكس.

استكشاف الأخطاء​

  • «هذا ليس JSON صالحًا، فلا يستطيع المصمّم عرضه.» — فاصلة أو قوس ناقص في تبويب JSON. أصلحه هناك؛ فالنموذج لا يعرض مستندًا لا يقرأه، وعرض نموذج فارغ كان سيمحو ما كتبته لحظة لمسك أول عنصر.
  • «هذه مذكورة في الاستعلام لكنها لم تعد موجودة فيه.» — حذفت جدولاً مرتبطًا أو غيّرت اسمه ولا يزال شيء يسمّيه. احذفها أو أعِد الجدول بالاسم نفسه.
  • «حقل غير معروف …» عند الحفظ — الحقل يعود لجدول موصول ويحتاج اسم الوصل قبله، أو أن الوصل حُذف.
  • رُفض شرط على مقياس — يسمّي شيئًا ليس من مقاييس هذا الاستعلام. وحّد الاسم، أو انقل الشرط إلى التصفية إن كان عن عمود.
  • إضافة جدول مرتبط لا تعرض شيئًا — لا شيء مرتبط بهذا الجدول بعد، والقائمة تقول ذلك عند فتحها. الجدول المرتبط يأتي من عمود بحث: انظر إنشاء علاقة بين الكيانات.
  • «تعذّر تحميل علاقات هذه البيئة» — لم يستطع المصمّم قراءة علاقات البيئة، فلا وصلات لديه ليعرضها. والخلل ليس في استعلامك؛ أغلق المصمّم وافتحه من جديد.

سيناريوهات ذات صلة​