البرمجة

تكامل بين JSON و SQLite في بناء قاعدة بيانات الفريق

التحدي الذي تواجهه في تعديل البرنامج لتخزين عمود الدور في جدول الأعضاء (Member table) يشكل تحديًا معينًا يتطلب فهمًا دقيقًا لكيفية تنفيذ ذلك بشكل صحيح. لحل هذه المشكلة، يجب عليك إجراء تعديلات في الشيفرة البرمجية.

أولاً وقبل كل شيء، يجب عليك تعديل تعريف جدول الأعضاء (Member table) في الشيفرة البرمجية ليتم تخزين الدور (role) كعمود إضافي. في الوقت الحالي، يفتقد الجدول تعريف العمود الخاص بالدور. يمكنك إجراء هذا التعديل كما يلي:

python
CREATE TABLE Member ( user_id INTEGER, course_id INTEGER, role INTEGER, PRIMARY KEY (user_id, course_id) );

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

python
for entry in json_data: name = entry[0] title = entry[1] role = entry[2] # افترض أن الدور هو القيمة الثالثة في بيانات JSON # ... الشيفرة الحالية ... cur.execute('''INSERT OR REPLACE INTO Member (user_id, course_id, role) VALUES ( ?, ?, ? )''', ( user_id, course_id, role ) )

بهذا، يتم الآن تخزين قيمة الدور في جدول الأعضاء (Member table) بشكل صحيح. بعد تنفيذ هذه التغييرات، يمكنك تشغيل البرنامج مرة أخرى ليقوم بإنشاء قاعدة البيانات بشكل صحيح مع تخزين الدور في الأعضاء.

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

المزيد من المعلومات

في إطار التحدي البرمجي الذي تواجهه، يبدو أن الشيفرة البرمجية الحالية تهدف إلى قراءة بيانات الفريق (roster data) المقدمة في صيغة JSON، ومن ثم تحليل هذه البيانات لإنشاء قاعدة بيانات SQLite. القاعدة المطلوبة تحتوي على جداول للمستخدمين (User)، الدورات (Course)، والأعضاء (Member).

الخطوات الرئيسية التي يقوم بها البرنامج هي:

  1. إسقاط أي جداول قديمة إذا كانت موجودة.
  2. إنشاء جدول للمستخدمين (User) يحتوي على حقلين: معرف فريد واسم فريد لكل مستخدم.
  3. إنشاء جدول للدورات (Course) يحتوي على حقلين: معرف فريد وعنوان فريد لكل دورة.
  4. إنشاء جدول للأعضاء (Member) يحتوي على حقول: معرف المستخدم، معرف الدورة، والدور الذي يؤديه المستخدم في الدورة.

المشكلة التي تحتاج إلى حلا هي تخزين قيمة الدور (role) في جدول الأعضاء. قد قدمت لك في الرد السابق التعديلات اللازمة لتحقيق ذلك.

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

الخطوة النهائية تتطلب منك إيجاد السلسلة المشفرة (hex) للصف الأول في النتائج وإدخالها كإجابة للسؤال الأخير الذي يطلب سلسلة طويلة تشبه 53656C696E613333. يمكنك استخدام النتائج المطبوعة للتحقق من الصف الذي يحمل هذه القيمة وإدخالها بدقة.

زر الذهاب إلى الأعلى