sql.moscowالاستعلامات · التقارير · الترحيل
sql.moscow / التطوير وتحسين الأداءPostgreSQL · Greenplum · Oracle

SQL معقد.
نتيجة واضحة.

مساعدة في استعلامات SQL والأخطاء والتقارير وتصدير البيانات وPostgreSQL وGreenplum وOracle PL/SQL وترحيل منطق SQL بين أنظمة إدارة قواعد البيانات.

query.sqlمثال على استعلام
SELECT department,
       COUNT(*) AS total
FROM requests
WHERE created_at >=
      CURRENT_DATE - INTERVAL '30 days'
GROUP BY department;
مثال توضيحي · دون بيانات حقيقية
قبل بدء العمل

نبدأ بالمهمة ومثال يمكن إعادة إنتاجه.

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

كيفية إرسال المهمة ↗
الخدمات

ما الخدمات التي يمكن طلبها

خدمة

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

أخطاء الصياغة والأنواع وJOIN وGROUP BY وCTE والدوال النافذية، والصفوف المكررة والمجاميع غير الصحيحة والنتيجة الفارغة.

ابتداءً من 5 000 ₽
خدمة

تحسين أداء الاستعلامات

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

ابتداءً من 15 000 ₽
خدمة

PostgreSQL / Greenplum

PL/pgSQL والدوال والجداول المؤقتة والاستعلامات التحليلية وخصائص Greenplum وأخطاء الأنواع وبنية النتيجة.

ابتداءً من 15 000 ₽
خدمة

Oracle PL/SQL → PostgreSQL

ترحيل منطق SQL والدوال والإجراءات: DECODE وNVL والتواريخ وMERGE والمؤشرات والحزم وPL/pgSQL.

ابتداءً من 25 000 ₽
خدمة

التقارير وتصدير البيانات

استعلامات SQL لـExcel وBI وCRM وERP والمبيعات وأرصدة المخزون والعملاء والمدفوعات والمستندات ومطابقة البيانات.

ابتداءً من 10 000 ₽
خدمة

مراجعة شيفرة SQL

تحليل SQL الذي كتبه آخرون، واكتشاف الأخطاء وتبسيط المنطق وإضافة التعليقات والتوثيق وإعادة كتابة الاستعلام.

ابتداءً من 20 000 ₽
أخطاء SQL

تصحيح الاستعلامات وتحليل الأخطاء

يمكن إرسال نص الاستعلام والخطأ ووصف الجداول والنتيجة المتوقعة. الوصول إلى قاعدة البيانات ليس ضروريًا دائمًا.

  • relation does not exist
    التحقق من المخططات وأسماء الجداول وحالة الأحرف وsearch_path وسياق التنفيذ.
  • column does not exist
    التحقق من الأسماء المستعارة وJOIN وCTE والاستعلامات المتداخلة ونطاق الرؤية.
  • structure of query does not match
    تصحيح أنواع القيم المُعادة وترتيب الأعمدة في دوال PostgreSQL.
  • syntax error at or near
    اكتشاف أخطاء الصياغة وعدم توافق أنظمة إدارة قواعد البيانات والتراكيب غير الصحيحة.
  • التكرارات والمجاميع غير الصحيحة
    التحقق من JOIN والتجميعات والدوال التجميعية ومستوى تفصيل البيانات.
  • استعلام بطيء
    تحليل المنطق والاستعلامات الفرعية الزائدة والمرشحات والفهارس وخطة التنفيذ.
الترحيل

Oracle PL/SQL → PostgreSQL / Greenplum

يتطلب ترحيل منطق SQL تكييف الدوال والأنواع والتواريخ والمنطق الإجرائي وسلوك نظام إدارة قاعدة البيانات، ولا يقتصر على الاستبدال الآلي للكلمات.

ما يُستخدم غالبًا في Oracle

  • DECODE
  • NVL
  • MERGE
  • CONNECT BY
  • حزم PL/SQL
  • منطق يعتمد على المؤشرات

التكييف

  • CASE
  • COALESCE
  • INSERT ON CONFLICT / منطق منفصل
  • WITH RECURSIVE
  • دوال PL/pgSQL
  • نهج قائم على المجموعات (set-based)
Greenplum: عند الترحيل، من المهم مراعاة توزيع البيانات والقيود على UPDATE/DELETE والجداول المؤقتة والدوال وخصائص بنية MPP.
التقارير

تصدير البيانات باستخدام SQL للتحليلات والأعمال

إعداد استعلامات لتصدير بيانات المبيعات والعملاء وأرصدة المخزون والمدفوعات والمستندات والمنتجات والمجموعات والفترات والحالات.

  • Excel / CSV
    استعلام يتوافق مع البنية المطلوبة لتصدير البيانات.
  • Power BI / BI
    إعداد مجموعات البيانات ومستودعات البيانات التحليلية المتخصصة.
  • CRM / ERP
    استرجاع البيانات بحسب العملاء والمستندات والصفقات والمدفوعات.
  • مطابقة البيانات
    اكتشاف التكرارات والاختلافات والبيانات الناقصة وأخطاء التجميع.
التكلفة

أسعار مهام SQL

التحليل الأولي للمهمةابتداءً من 3 000 ₽
تصحيح استعلام SQL بسيطابتداءً من 5 000 ₽
تطوير استعلام SQL لتصدير البياناتابتداءً من 10 000 ₽
تحسين أداء استعلام بطيءابتداءً من 15 000 ₽
دالة PL/pgSQLابتداءً من 20 000 ₽
ترحيل Oracle PL/SQL → PostgreSQLابتداءً من 25 000 ₽
مراجعة شيفرة SQLابتداءً من 20 000 ₽
مهمة عاجلةتُحدد لكل حالة

تعتمد التكلفة النهائية على نظام إدارة قاعدة البيانات وحجم الشيفرة وتوافر مخطط الجداول ومدى الاستعجال والحاجة إلى الاختبار وتعقيد منطق الأعمال.

كيف يجري العمل؟

خطوات التنفيذ

1. ترسلون المهمة

الاستعلام والخطأ ونظام إدارة قاعدة البيانات وبنية الجداول والنتيجة المتوقعة والقيود.

2. يُوضَّح المنطق

ما البيانات المطلوبة، وكيف تُحسب النتيجة، وأين يحدث الخطأ أو البطء.

3. يُعَد الحل

SQL مُصحَّح وشرح وتوصيات، وخيارات لتحسين الأداء عند الحاجة.

FAQ

الأسئلة الشائعة

هل يمكن المساعدة دون الوصول إلى قاعدة البيانات؟

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

هل يمكن إعادة كتابة Oracle SQL ليتوافق مع PostgreSQL؟

نعم. يجب مراعاة اختلافات الدوال وأنواع البيانات والتواريخ والمنطق الإجرائي والصياغة. وقد يتطلب الأمر أحيانًا تغيير النهج بدلًا من الاستبدال المباشر.

هل يمكن تسريع الاستعلام؟

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

هل يمكن تصدير البيانات إلى Excel أو BI؟

نعم. يمكن إعداد استعلام SQL يتوافق مع الحقول والمرشحات والتجميعات والفترات وتنسيق النتيجة المطلوبة.

كيفية التحقق من الاستعلام المصحح ومقارنة الأداء

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

يتكون التحقق من تحسين الأداء من جزأين. تُقارن أولًا نتائج الاستعلام الأصلي والمعدل: عدد الصفوف والمفاتيح والمجاميع الرقابية للمؤشرات والأمثلة محل الخلاف. ثم تُقارن القياسات على حجم بيانات متفق عليه. ولا تُعد الاستجابة السريعة التي تفقد صفوفًا نتيجة مفيدة لتحسين الأداء.

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

في PostgreSQL، ينفذ وضع EXPLAIN ANALYZE الاستعلام محل الدراسة فعلًا. لذلك يُتفق مسبقًا على استخدامه مع العمليات التي تغير البيانات وعمليات الاسترجاع الثقيلة؛ وتُفضَّل نسخة اختبار مُعدة لهذا الغرض. تفيد الخطة وحدها دون بيانات فعلية في التحليل الأولي، لكنها لا تحل محل التحقق من النتيجة المتحققة في سيناريو التشغيل.

ما الذي يجب مطابقته عند ترحيل منطق SQL بين أنظمة إدارة قواعد البيانات

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

المجموعة المرجعية للتحقق من الترحيل

  1. شيفرة SQL الأصلية أو شيفرة الإجراء، مع وصف المعلمات والنتيجة المتوقعة.
  2. بنية الجداول المستخدمة وأنواع الأعمدة والقيود والاعتماد على الدوال الأخرى.
  3. أمثلة على البيانات العادية والحالات الحدية: غياب سجل أو تكراره أو قيمة فارغة أو انتقال التاريخ أو مبلغ سالب أو صفري.
  4. نتيجة النظام الأصلي لهذه الأمثلة وشرح قواعد الأعمال المهمة.
  5. شروط التنفيذ: الدورية وحجم البيانات والوقت المسموح به وقيود الوصول.

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

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

طلب

أرسلوا مهمة SQL للتحليل

أرفقوا نص الاستعلام والخطأ وبنية الجداول ونظام إدارة قاعدة البيانات والنتيجة المتوقعة. يمكن البدء دون الوصول إلى قاعدة البيانات، بالاعتماد على الشيفرة والوصف.

  • تصحيح استعلام SQL؛
  • تحسين أداء تقرير بطيء؛
  • ترحيل Oracle PL/SQL؛
  • تصدير البيانات إلى Excel أو BI أو CRM أو ERP.
SQL وPostgreSQL وGreenplum وOracle PL/SQL والتقارير وتصدير البياناتrequest@sql.moscow
مراسلةمناقشة المهمة ↖