Database Normalization
الـDatabase Normalization بشكل عملي من خلال كود لما بتصمم Database، أهم مشكلة بتقابلك هي: Data Redundancy (تكرار البيانات) Update / Delete Anomalies ضعف في Data Integrity علشان كده بنستخدم مفهوم اسمه: Database Normalization مثال قبل الـ Normalization (Bad Design) CREATE TABLE students_courses ( student_id INT, student_name VARCHAR(100), course_name VARCHAR(100), department_name VARCHAR(100) ); المشكلة هنا: اسم الطالب بيتكرر اسم القسم بيتكرر كل تعديل = تعديل في أكتر من صف 1NF (First Normal Form) كل field لازم يكون قيمة واحدة (Atomic) CREATE TABLE student_phones ( id INT PRIMARY KEY, student_id INT, phone VARCHAR(20) ); 2NF (Second Normal Form) لازم كل column يعتمد على الـ Primary Key بالكامل تصميم غلط: CREATE TABLE enrollments ( student_id INT, course_id INT, student_name VARCHAR(100), course_name VARCHAR(100) ); المشكلة: student_name بيعتمد على student_id فقط course_name بيعتمد على course_id فقط الحل الصحيح: CREATE TABLE students ( student_id INT PRIMARY KEY, student_name VARCHAR(100) ); CREATE TABLE courses ( course_id INT PRIMARY KEY, course_name VARCHAR(100) ); CREATE TABLE enrollments ( student_id INT, course_id INT ); 3NF (Third Normal Form) مفيش column يعتمد على column غير الـ PK تصميم غلط: CREATE TABLE employees ( employee_id INT, employee_name VARCHAR(100), department_id INT, department_name VARCHAR(100) ); المشكلة: department_name بيعتمد على department_id مش employee_id الحل: CREATE TABLE departments ( department_id INT PRIMARY KEY, department_name VARCHAR(100) ); CREATE TABLE employees ( employee_id INT PRIMARY KEY, employee_name VARCHAR(100), department_id INT ); النتيجة بعد Normalization Data أقل تكرار Updates أسهل Errors أقل Database منظمة وقابلة للتوسع الخلاصة الـ Normalization مش مجرد نظرية… ده أسلوب تصميم بيخليك تبني Database: Clean Scalable Reliable
Download
0 formatsNo download links available.