تقييم الدرس 10
المفتاح الأجنبي وربط الجداول
أجب عن الأسئلة ثم اضغط «صحّح ورقتي» في آخر الصفحة. ← العودة إلى الدرس
أسئلة التقييم
تقييم الدرس 10: المفتاح الأجنبي وربط الجداول. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
1) في علاقة الأقسام والموظفين، الجدول الأب:
2) حذف القسم يجعل قسم موظفيه فارغًا. الخيار:
3) ماذا يحدث عند تنفيذ الأمر الأخير؟
CREATE TABLE depts ( id INTEGER PRIMARY KEY, name TEXT NOT NULL);CREATE TABLE staff ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, dept_id INTEGER REFERENCES depts(id));INSERT INTO depts VALUES (1, 'المبيعات'), (2, 'المستودع');INSERT INTO staff VALUES (10, 'سالم', 1), (11, 'منيرة', 1), (12, 'بدر', 2);INSERT INTO staff VALUES (20, 'ريم', 5);
4) في
SQLite تُفعَّل المفاتيح الأجنبية بالأمر:5) متى يناسب
CASCADE؟2السؤال الثاني: صح أم خطأ
1) يمكن إدخال موظف قبل إنشاء قسمه إن كان هناك مفتاح أجنبي.
الصواب: خطأ
2) المفتاح الأجنبي يمكن أن يتكرر في جدول الابن.
الصواب: صح
3) بلا خيار
ON DELETE يرفض النظام حذف أب له أبناء.الصواب: صح
4) المفتاح الأجنبي يجب أن يكون فريدًا دائمًا.
الصواب: خطأ
3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة
1) الكلمة التي تحدد جدول الأب في المفتاح الأجنبي: .
الإجابة: REFERENCES
2) الصف الذي يشير إلى أب غير موجود يسمى سجلًّا .
الإجابة: يتيمًا
3) في
MySQL تعمل المفاتيح الأجنبية مع المحرك .الإجابة: InnoDB
4السؤال الرابع: أسئلة عملية
1) ما ناتج هذا الكود؟
CREATE TABLE depts ( id INTEGER PRIMARY KEY, name TEXT NOT NULL);CREATE TABLE staff ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, dept_id INTEGER REFERENCES depts(id) ON DELETE CASCADE);INSERT INTO depts VALUES (1, 'المبيعات'), (2, 'المستودع');INSERT INTO staff VALUES (10, 'سالم', 1), (11, 'منيرة', 1), (12, 'بدر', 2);DELETE FROM depts WHERE id = 1;SELECT name FROM staff;
الناتج الصحيح:النتيجة · صف واحد
| name |
|---|
| بدر |
2) ما ناتج هذا الكود؟
CREATE TABLE depts ( id INTEGER PRIMARY KEY, name TEXT NOT NULL);CREATE TABLE staff ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, dept_id INTEGER REFERENCES depts(id) ON DELETE SET NULL);INSERT INTO depts VALUES (1, 'المبيعات'), (2, 'المستودع');INSERT INTO staff VALUES (10, 'سالم', 1), (11, 'منيرة', 1), (12, 'بدر', 2);DELETE FROM depts WHERE id = 2;SELECT COUNT(*) FROM staff WHERE dept_id IS NULL;
الناتج الصحيح:النتيجة · صف واحد
| COUNT(*) |
|---|
| 1 |
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».