مشروع: نموذج بيانات متكامل
مشروع: نموذج بيانات متكامل
على مدار هذه الوحدة التعليمية درست كل مكوّن من مكوّنات نمذجة البيانات بصورة منفردة: الكيانات والسمات، وتدوين العلاقات والكميات، وقواعد التطبيع، وكيانات الربط، والمفاتيح، وقاموس البيانات. في هذا الدرس الختامي تجمع كل هذه المهارات في نظام واقعي واحد — نظام حجز مواعيد عيادة — وتُنتج التسليمات الثلاث التي يقدمها المحلل المحترف لفريق التطوير: مخطط ERD متكامل، وتدقيق تطبيع، وقاموس بيانات.
العمل على مثال كامل من البداية إلى النهاية هو المكان الحقيقي الذي يتعمق فيه التعلم. القواعد المنفصلة تبدو مجردة؛ أما تطبيقها على نظام متماسك واحد فيكشف كيف يؤثر كل قرار تصميمي على سائر القرارات.
الخطوة الأولى: فهم النطاق التجاري
قبل رسم أي مربع، اقرأ السيناريو بعناية. إليك الوصف:
من هذه الفقرة يستخلص المحلل الماهر الأسماء الرئيسية (الكيانات المحتملة) والأفعال الرئيسية (العلاقات المحتملة) والكلمات الوصفية (السمات المحتملة). القائمة المختصرة هي: Patient وDoctor وSpecialty وAppointment وDiagnosis وMedication وPrescription.
الخطوة الثانية: تحديد العلاقات والكميات
اعمل على كل زوج من الكيانات واسأل: "هل يمكن لنسخة واحدة من A أن ترتبط بنسخ كثيرة من B والعكس؟" النتائج:
- Patient — Appointment: مريض واحد لمواعيد كثيرة (1:M).
- Doctor — Appointment: طبيب واحد لمواعيد كثيرة (1:M).
- Appointment — Diagnosis: موعد واحد ينتج عنه تشخيص واحد على الأكثر (1:0..1).
- Diagnosis — Medication: علاقة كثير بكثير — تشخيص واحد قد يشمل أدوية متعددة، ودواء واحد يظهر في تشخيصات عديدة. تُحلّ عبر كيان الربط
Prescription. - Doctor — Specialty: قد يكون للطبيب عدة تخصصات، والتخصص الواحد مشترك بين أطباء كثيرين. تُحلّ عبر
DoctorSpecialty.
الخطوة الثالثة: مخطط ERD المتكامل
يستخدم المخطط أدناه تدوين أقدام الغراب. يُدرج كل مربع كياني مفتاحه الأساسي (PK) والمفاتيح الأجنبية (FK) والسمات الرئيسية. تحمل خطوط العلاقات علامات الاختيارية (دائرة = اختياري، شرطة = إلزامي) وأقدام الغراب للدلالة على "كثير".
الخطوة الرابعة: تدقيق التطبيع
قبل الموافقة النهائية على أي نموذج، تحقق دائماً من أن كل كيان يستوفي على الأقل الشكل الطبيعي الثالث (3NF). قائمة التحقق:
- 1NF: كل خلية تحمل قيمة واحدة ذرية. تأكد من أن
Appointment.statusقيمة مفردة (لا "confirmed, paid")، وأنه لا توجد مجموعات أدوية متكررة داخل صف الموعد — وهذا محقق لأننا وضعنا الأدوية في كيانPrescriptionمنفصل. ✓ - 2NF: كل سمة غير مفتاحية تعتمد على المفتاح الأساسي كاملاً. يمتلك
Prescriptionمفتاحاً مركباً محتملاً(diagnosisID, medicationID). السماتdosageوdaysتصف هذه الوصفة المحددة بالذات — لا الدواء وحده ولا التشخيص وحده — وبذلك يتحقق 2NF. ✓ - 3NF: لا توجد تبعيات انتقالية. في المسودة الأولى البسيطة، يضع بعض المحللين
doctorSpecialtyمباشرة في جدولDoctorكحقل نصي، ما يُوجد تبعية انتقالية عند تخزين تخصصات متعددة. نقله إلىDoctorSpecialtyوSpecialtyيُزيل هذا المسار الانتقالي. ✓
dateOfBirth فلا يتغير أبداً. خزّن دائماً الحقيقة الخام لا النتيجة المحسوبة.
الخطوة الخامسة: قاموس البيانات (مقتطف)
يُظهر مخطط ERD البنية؛ أما قاموس البيانات فيُعرّف المعنى. فيما يلي مقتطف تمثيلي يغطي كيان Appointment — أكثر الجداول أهمية تشغيلية في هذا النظام.
scheduledAt بالتوقيت المحلي على أحد الخوادم وبتوقيت UTC على الآخر. يمنع قاموس البيانات هذا الغموض بتحديد قواعد التخزين ومجموعات القيم الصحيحة إلى جانب المخطط البنيوي.
الخطوة السادسة: إمكانية التتبع حتى المتطلبات
يمكن تتبع كل كيان في هذا النموذج حتى متطلب تجاري واحد على الأقل من السيناريو. هذا هو فحص الجودة النهائي:
- Patient — "يُسجَّل المريض مرة واحدة ويمكنه حجز مواعيد عديدة."
- Doctor / DoctorSpecialty / Specialty — "لكل طبيب تخصص أو أكثر."
- Appointment — "كل موعد مع طبيب واحد بالضبط في تاريخ ووقت محددين."
- Diagnosis — "يُسجّل الطبيب التشخيص."
- Prescription / Medication — "يمكنه وصف دواء أو أكثر … مع الجرعة والمدة."
cancelReasonفي Appointment — "يُسجّل موظفو الاستقبال حالات الإلغاء … مع ذكر السبب."
إذا تعذّر تتبع أي كيان أو سمة حتى متطلب ما، فإما أن ثمة متطلباً مفقوداً أو أنها إضافة افتراضية تتجاوز النطاق. أزلها أو ضعها للمراجعة مع أصحاب المصلحة.
تسليم النموذج
تتكون حزمة نمذجة البيانات المتكاملة لفريق التطوير من ثلاثة وثائق: مخطط ERD المفاهيمي (على مستوى الأعمال بدون مفاتيح)، ومخطط ERD المنطقي (مُطبَّع مع مفاتيح وكميات — مخطط هذا الدرس)، وقاموس البيانات (المواصفات على مستوى الأعمدة). تمنح هذه الوثائق مجتمعةً المهندسين المعماريين ما يكفي لتصميم مخطط مادي، وعمقاً دلالياً كافياً لكتابة قواعد التحقق والتقارير وعقود التكامل الهادفة.
تهانينا — لقد طبّقت الآن كل مفهوم من مفاهيم هذه الوحدة على نموذج بيانات واحد متماسك بمستوى إنتاجي. يتوسع هذا الأسلوب نفسه — استخلاص النص، وتحديد الكيانات، وتحليل العلاقات، ورسم مخطط ERD، وتدقيق التطبيع، وقاموس البيانات — من نظام مؤلف من خمسة جداول حتى مخطط مؤسسي بخمسمائة جدول.