طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 121 · مبادئ قواعد البيانات
تقييم الدرس 13

التطبيع: الصيغ 1NF و 2NF و 3NF

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

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

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

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

1) الجدول (order_id, product_id, product_name, qty) بمفتاح (order_id, product_id). product_name يخالف:
2) الجدول (emp_id, dept_id, dept_phone). dept_phone يعتمد على dept_id. الجدول يخالف:
3) عمود «الهوايات» فيه «قراءة، سباحة» يخالف:
4) عكس التطبيع Denormalization يُستخدم أحيانًا من أجل:
5) جدول مفتاحه عمود واحد وهو في 1NF، فهو أيضًا في:

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

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

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

1) الاعتماد على جزء من المفتاح المركّب يسمى اعتمادًا .
الإجابة: جزئيًّا
2) A → B → C اعتماد .
الإجابة: متعدٍّ
3) الهدف المعتاد في تصميم الأنظمة اليومية هو .
الإجابة: 3NF

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

1) بعد التطبيع، كم صفًّا في جدول التسجيل؟

query.sql
CREATE TABLE departments (  name     TEXT PRIMARY KEY,  building TEXT);CREATE TABLE students (  id   INTEGER PRIMARY KEY,  name TEXT NOT NULL,  dept TEXT REFERENCES departments(name));CREATE TABLE courses (  code  TEXT PRIMARY KEY,  title TEXT NOT NULL);CREATE TABLE enrollments (  student_id INTEGER REFERENCES students(id),  course     TEXT REFERENCES courses(code),  grade      INTEGER,  PRIMARY KEY (student_id, course));INSERT INTO departments VALUES ('البرمجيات', 'مبنى أ'), ('الشبكات', 'مبنى ب');INSERT INTO students VALUES (1001, 'أحمد السلمي', 'البرمجيات'), (1003, 'عمر الحربي', 'الشبكات');INSERT INTO courses VALUES ('111', 'أساسيات البرمجة'), ('121', 'قواعد البيانات'), ('131', 'الواجهات الأمامية'), ('211', 'الشبكات');INSERT INTO enrollments VALUES (1001, '111', 95), (1001, '121', 92), (1001, '131', 88), (1003, '211', 70), (1003, '111', 55);SELECT COUNT(*) FROM enrollments;
الناتج الصحيح:
النتيجة · صف واحد
COUNT(*)
5

2) انتقل قسم البرمجيات إلى «مبنى ج». كم صفًّا تأثر بالتعديل؟ (المحرر يحسبه)

query.sql
CREATE TABLE departments (  name     TEXT PRIMARY KEY,  building TEXT);CREATE TABLE students (  id   INTEGER PRIMARY KEY,  name TEXT NOT NULL,  dept TEXT REFERENCES departments(name));CREATE TABLE courses (  code  TEXT PRIMARY KEY,  title TEXT NOT NULL);CREATE TABLE enrollments (  student_id INTEGER REFERENCES students(id),  course     TEXT REFERENCES courses(code),  grade      INTEGER,  PRIMARY KEY (student_id, course));INSERT INTO departments VALUES ('البرمجيات', 'مبنى أ'), ('الشبكات', 'مبنى ب');INSERT INTO students VALUES (1001, 'أحمد السلمي', 'البرمجيات'), (1003, 'عمر الحربي', 'الشبكات');INSERT INTO courses VALUES ('111', 'أساسيات البرمجة'), ('121', 'قواعد البيانات'), ('131', 'الواجهات الأمامية'), ('211', 'الشبكات');INSERT INTO enrollments VALUES (1001, '111', 95), (1001, '121', 92), (1001, '131', 88), (1003, '211', 70), (1003, '111', 55);UPDATE departments SET building = 'مبنى ج' WHERE name = 'البرمجيات';SELECT changes();
الناتج الصحيح:
النتيجة · صف واحد
changes()
1
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

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