تقييم الدرس 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) بعد التطبيع، كم صفًّا في جدول التسجيل؟
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) انتقل قسم البرمجيات إلى «مبنى ج». كم صفًّا تأثر بالتعديل؟ (المحرر يحسبه)
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 |
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».