طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 242 · أطر الويب
تقييم الدرس 14

العلاقات والاستعلامات في ORM

أجب عن الأسئلة ثم اضغط «صحّح ورقتي» في آخر الصفحة. ← العودة إلى الدرس

أسئلة التقييم

تقييم الدرس 14: العلاقات والاستعلامات في ORM. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: اختر الإجابة الصحيحة

1) أي تعريف يضيف العمود UserId إلى جدول Orders؟
2) ما الذي يعيده Author.findAll({ include: Book }) لكل مؤلف؟
3) 100 كتاب، وجلب مؤلف كل كتاب بحلقة: كم استعلامًا؟
4) علاقة الطلاب بالمقررات من نوع:

2السؤال الثاني: صح أم خطأ

1) include ينفّذ JOIN في استعلام واحد.
الصواب: صح
2) المعاملة تُبقي الخطوات الناجحة حتى لو فشلت خطوة لاحقة.
الصواب: خطأ
3) belongsToMany يحتاج خيار through.
الصواب: صح

3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة

1) لاختيار أعمدة معيّنة من النموذج المرتبط نستخدم .
الإجابة: attributes
2) إلغاء كل خطوات المعاملة عند الخطأ يسمى .
الإجابة: rollback

4السؤال الرابع: أسئلة عملية

1) ما جسم الاستجابة؟ GET /x

const express = require('express');const { Sequelize, DataTypes } = require('sequelize');const db = new Sequelize({ dialect: 'sqlite', storage: ':memory:', logging: false });const A = db.define('A', { n: DataTypes.STRING }, { timestamps: false });const B = db.define('B', { t: DataTypes.STRING }, { timestamps: false });A.hasMany(B); B.belongsTo(A);const app = express();app.get('/x', async (req, res) => {  const a = await A.findByPk(1, { include: B });  res.json({ name: a.n, count: a.Bs.length });});db.sync().then(async () => {  const a = await A.create({ n: 'ع' });  await B.bulkCreate([{ t: '1', AId: a.id }, { t: '2', AId: a.id }]);  app.listen(3000);});
الاستجابة الصحيحة:
{"name":"ع","count":2}
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

📝 معلم؟ أرسل ملاحظة للمؤلف عن هذا الدرس