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

أبرز استعلامات SQL في تحليل البيانات

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

وظيفة استعلامات “SELECT” و”FROM”

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

SELECT variable_name1, variable_name2

FROM table_name;

وظيفة استعلامات “WHERE” و”AND” و”OR”

يُستخدم شرط  WHEREفي المواقف التي تتطلب معايير محددة للبيانات، حيث يقوم بتصفية السجلات واستخراج البيانات التي تفي بالشروط المحددة فقط. على سبيل المثال:

SELECT variable_name1, variable_name2

FROM table_name

WHERE column1 = ‘value’;

يسترد شرط WHERE بيانات تلبي معايير معينة، جيث يعرض في النتائج قيم توافق الإدخالات المحددة. كما يمكنك تلبية معايير متعددة في نفس الوقت، باستخدام شرط AND. على سبيل المثال:

SELECT variable_name1, variable_name2

FROM table_name

WHERE column1 = ‘value’

AND column1 = ‘value’;

يستخدم استعلام OR إذا كان أي من معايير استعلام WHERE صحيحًا، على سبيل المثال:

SELECT variable_name1, variable_name2

FROM table_name

WHERE column1 = ‘value’

OR column1 = ‘value’;

عبارة ORDER BY

تستخدم لفرز مجموعة نتائج الاستعلام بترتيب معين، بشكل افتراضي تقوم بترتيب القيم بترتيب تصاعدي ولكن يمكن توجيهها لترتيب التنازلي باستخدام DESC. على سبيل المثال:

SELECT *

FROM table_name

ORDER BY Total_Value DESC;

تستخدم * لإرجاع جميع الأعمدة للجدول.

استعلام CASE

يستخدم استعلام CASE لتقييم عبارة شرطية فإذا كانت صحيحة يعرض نتائج وفقها، أما إذا لم تكن صحيحة يعرض نتائج وفقها، كما تستطيع إضافة أمر ELSE اختياري إلى الكود لعرض نتيجة مختلفة. على سبيل المثال:

SELECT variable_name1, variable_name2

CASE WHEN variable_name2> value THEN ‘condtion1’

WHEN variable_name2< value THEN ‘condtion2’

ELSE ‘condtion3’

END 

FROM table_name;

وظيفة استعلام “GROUP BY”

تُستخدم عبارة GROUP BY لتجميع صفوف البيانات التي تحتوي على نفس القيم في عمود واحد أو أكثر في صفوف ملخصة. تُستخدم بالتزامن مع وظائف التجميع بما في ذلك: SUM أو COUNT أو AVG أو MAX أو MIN. على سبيل المثال:

SELECT variable_name1, SUM(variable_name2)

FROM table_name

GROUP BY variable_name1

ORDER BY 2 DESC;

استعلام JOIN

تسمح بدمج البيانات من عدة جداول على سبيل المثال:

SELECT b.variable_name1, b. variable_name2, a. variable_name1, SUM(variable_name3)

FROM table_name1 a

JOIN table_name2 b

ON a variable_name1= b. variable_name1

GROUP BY b. variable_name1, b. variable_name2, a. variable_name1

ORDER BY 4 DESC;

استعلامات أخرى

يُوفر SQL مجموعة متنوعة من الوظائف المضمنة تساعد في إجراء العمليات على البيانات منها:

  • الوظائف الرياضية والإحصائية: SUM وAVG وMAX وMIN وSTDDEV وVARIANCE.
  • وظائف التاريخ والوقت: مما يسمح بتحليل السلاسل الزمنية، وحسابات التاريخ، والتنسيق.
  • الاستعلامات الفرعية: تمكنك الاستعلامات الفرعية أو الاستعلامات المتداخلة من استخدام نتيجة استعلام واحد كمدخل لاستعلام آخر. وهذا مفيد لمهام تحليل البيانات المعقدة.
  • عبارات تعديل البيانات: INSERT وUPDATE وDELETE مهم لإعداد البيانات وتنظيفها.
  • وظائف النافذة: RANK() وLEAD() وLAG() لإجراء العمليات الحسابية عبر الصفوف داخل نافذة أو قسم معين من البيانات.
  • الإجراءات المخزنة والوظائف المحددة من قبل المستخدم (UDFs): تستخدم لتغليف منطق التحليل المعقد لإعادة الاستخدام.
  • الفهرسة: لتحسين أداء الاستعلام، مما يجعل استرداد البيانات أسرع، تفيد مع مجموعات البيانات الكبيرة.
  • أدوات إعداد التقارير: توفر العديد من أنظمة إدارة قواعد البيانات المستندة إلى SQL أدوات إعداد التقارير والتصور التي تسمح لك بإنشاء المخططات والرسوم البيانية والتقارير استنادًا إلى نتائج استعلامات SQL.

مراحل تحليل البيانات باستخدام SQL

عند استخدامك SQL في تحليل البيانات يجب الاتصال بقاعدة البيانات أولاً:

SHOW TABLES;  

SELECT table_name FROM information_schema.tables;  

ثمَ تعتمد مراحل التحليل المعروفة وهي:

مرحلة مسح البيانات واستكشافها 

تتضمن مرحلة مسح البيانات باستخدام SQL عدة خطوات رئيسية لفهم وتحليل البيانات:

1. تحديد الجداول المتاحة: لفهم 

DESCRIBE table_name;  

SELECT column_name, data_type FROM information_schema.columns WHERE table_name = ‘your_table’;  

2. استكشاف هياكل الجدول: راجع هيكل كل جدول لفهم الأعمدة وأنواع البيانات:

DESCRIBE table_name;

SELECT column_name, data_type FROM information_schema.columns WHERE table_name = ‘your_table’;  

3. أخذ عينات من البيانات: استرداد عينة من السجلات للحصول على فكرة عن البيانات:

SELECT * FROM table_name LIMIT 10; 

4. التحقق من جودة البيانات: تحديد القيم الفارغة أو المكررة أو الشاذة:

القيم الفارغة:

SELECT COUNT(*) FROM table_name WHERE column_name IS NULL;

التكرارات:

SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 1;

الشاذة:

SELECT * FROM table_name WHERE column_name > some_threshold;  

5. فهم توزيع البيانات: استخدم الدوال التجميعية لتحليل التوزيعات:

SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;  

SELECT AVG(column_name), MIN(column_name), MAX(column_name) FROM table_name;

6. تحديد العلاقات: تحقق من علاقات المفتاح الخارجي من خلال فحص عمليات الانضمام إلى الجداول:

SELECT * FROM table_name

JOIN table2 ON table1.foreign_key = table2.primary_key

LIMIT 10; 

مرحلة تنظيف البيانات باستخدام SQL

تُعد مرحلة تنظيف البيانات ضرورية لضمان جودة ودقة مجموعة البيانات قبل تحليلها، وتشمل التعامل مع القيم المفقودة وإزالة التكرارات فيما يلي نهج منظم لتنظيفها:

التعامل مع القيم المفقودة: قرر ما إذا كنت تريد حذف هذه الصفوف أو ملئها:

لحذف الصفوف التي تحتوي على قيم مفقودة نكتب الاستعلام التالي:

DELETE FROM table_name WHERE column_name IS NULL;

1.أما إذا أردت ملء القيم المفقودة نكتب الاستعلام:

UPDATE table_name SET column_name = ‘default_value’ WHERE column_name IS NULL;

2. إزالة التكرارات: حذف التكرارات مع الاحتفاظ بنسخة واحدة:

DELETE FROM table_name

WHERE id NOT IN (

    SELECT MIN(id)

    FROM table_name

    GROUP BY column_name);

3. تصحيح البيانات غير المتسقة: أي تحديد إدخالات البيانات غير المتسقة، على سبيل المثال الاختلافات في التنسيق:

SELECT * FROM table_name WHERE column_name NOT IN (‘ValidValue1’, ‘ValidValue2’);

توحيد التنسيقات (على سبيل المثال، تحويل النص إلى أحرف صغيرة):

UPDATE table_name SET column_name = LOWER(column_name);

4. إصلاح القيم غير الصالحة

ابحث عن القيم غير الصالحة التي لا تفي بالمعايير المتوقعة:

SELECT * FROM table_name WHERE column_name < 0;  

تصحيح القيم غير الصالحة:

UPDATE table_name SET column_name = ‘correct_value’ WHERE column_name = ‘invalid_value’;

5. توحيد التنسيقات توحيد التنسيقات للتواريخ أو الحقول الأخرى:

UPDATE table_name SET date_column = STR_TO_DATE(date_column, ‘%d/%m/%Y’);

6. التعامل مع القيم المتطرفة: حدد استراتيجية للتعامل مع القيم المتطرفة كالإزالة أو التحويل:

DELETE FROM table_name WHERE column_name > threshold_value;

7. تحسين الأداء: إنشاء فهارس لتحسين أداء الاستعلام بعد التنظيف:

CREATE INDEX index_name ON table_name(column_name);

8. التحقق من التغييرات: بعد التنظيف، تحقق من التغييرات التي أجريتها:

SELECT * FROM table_name LIMIT 10;  

مرحلة التحليل الإحصائي الوصفي باستخدام SQL

يتضمن التحليل الإحصائي الوصفي باستخدام SQL تلخيص ووصف السمات الرئيسية لمجموعة البيانات من خلال مقاييس إحصائية مختلفة. إليك كيفية إجراء إحصاءات وصفية باستخدام SQL:

1. المتوسط ​​لحساب متوسط ​​عمود رقمي:

SELECT AVG(column_name) AS average_value FROM table_name;

2. الوسيط: لا يحتوي SQL على دالة وسيطة مدمجة، ولكن يمكنك حسابها باستخدام استعلام فرعي:

SELECT column_name

FROM table_name

ORDER BY column_name

LIMIT 1 OFFSET (SELECT COUNT(*) FROM table_name) / 2;

3. الوضع للعثور على القيمة الأكثر تكراراً:

SELECT column_name, COUNT(*) AS frequency FROM table_name GROUP BY column_name ORDER BY frequency DESC LIMIT 1;

4. الانحراف المعياري: لقياس تشتت مجموعة البيانات:

SELECT STDDEV(column_name) AS std_dev FROM table_name; 

5. التباين: لحساب التباين:

SELECT VARIANCE(column_name) AS variance FROM table_name; 

6. الحد الأدنى والحد الأقصى للقيم: لإيجاد أصغر وأكبر القيم في عمود:

SELECT MIN(column_name) AS min_value, MAX(column_name) AS max_value

FROM table_name;

7. عدد السجلات: لحساب العدد الإجمالي للسجلات:

SELECT COUNT(*) AS total_of_records

FROM table_name;

8. Frequency Distribution: لإنشاء توزيع ترددي لمتغير فئوي:

SELECT column_name, COUNT(*) AS frequency

FROM table_name

GROUP BY column_name

ORDER BY frequency DESC;

9. إحصائيات وصفية للمجموعات: يمكنك أيضاً حساب إحصائيات وصفية للمجموعات باستخدام GROUP BY:

SELECT category_column, AVG(value_column) AS average, MIN(value_column) AS min_value, MAX(value_column) AS max_value

FROM table_name

GROUP BY category_column;

10. دمج إحصائيات متعددة: يمكنك دمج العديد من الإحصائيات الوصفية في استعلام واحد:

SELECT 

    COUNT(*) AS total_count,

    AVG(column_name) AS average,

    MIN(column_name) AS min_value,

    MAX(column_name) AS max_value,

    STDDEV(column_name) AS std_dev

FROM table_name;

الخلاصة

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

Facebook
Twitter
YouTube
LinkedIn