Friday, December 7, 2012

Levels Data Modeling

نمذجة البيانات تخدم غرضين أساسين : الغرض الأول يركز على المستوى العالي (height level) والذي يكون سهل الفهم من قبل المستخدمين وذوي المصلحةبمعنى قريب لفهم الأنسان وبعيد عن تعقيدات البرمجة وهيكلية البيانات مما يساعد على خلق اتصال مع المستخدمين وذوي المصلحة, الغرض الثاني يركز على المستوى المفصل بحيث يكون مفصل بشكل كافي لخدمة المطورين من خلال عمل مرجع متكامل (نموذج بيانات) والذي سوف يعتمد عليه المطورين لأجل تصميم وخلق قاعد البيانات وقد تم شرح مفهوم نمذجة البيانات وتم أخذ مثال بسيط في المقالة السابقة Data Modeling

والأن سوف أتطرق حول المستويات الرئيسية لنمذجة البيانات : 

1.المستوى الخارجي (External Level):

 عندما ننظر الى مستخدم معين في نظام معين نرى ان المستخدم الموجود ضمن مجموعة معينة يهتم بجانب محدد من النظام مثال: مستخدم يعمل محاسب (accounting) في مجموعة المحاسبين نرى أنه يهتم ببعض المعلومات التي يستفيد منها في عمله (معلومات المستخدم, معلومات الطلبية , معلومات حول الفواتير والدفع) ونشاهد مستخدم أخر يعمل جرد للمخزن (inventory)في مجموعة الجرد نرى أنه يهتم بمعلومات مختلفة ومنها(معلومات المنتجات , معلومات حول المخزن والواردات والصادرات ).أذن كل المستخدمين في مجموعة مستخدمين معينة(User group) يكونوا مهتمين بجانب معين من نموذج البيانات , ولذلك سمية بالمستوى الخارجي لأن جميع المستخدمين ينظرون الى النظام الذي سوف يخلق في المستقبل على أنه مكون من قطع وكل قطعة تضم معلومات معينة تهم مجموعة معينة محتوية على مستخدمين ينتمون اليها ويستفيدوا من البيانات الموجودة في القطعة المنتمية الى مجموعتهم.واقصد من هذا ان نموذج البيانات في هذا المستوى سوف يكون عبارة عن قطع وعند أكتمال هذه القطع التي سوف تملأ من قبل متطلبات المستخدمين سوف يتم لحم هذه القطع مع بعضهاالبعض لتكوين المستوى الثاني لنموذج البيانات وهو النوذج المفاهيمي.في هذا المستوى تجرى عدة لقاءات وأتصالات مع مستخدمين متواجدين في مجموعات معينة لمعرفة كافة أحتياجاتهم من البيانات ,أذن لنأتي الأن الى أخذ مثال يوضح المستوى الخارجي :يوجد لدي ثلاث مستخدمين وكل ستخدم ينتمي الى أحدى المجموعات الثلاث وهي المحاسبة , التسويق , جرد المخازن .



الرسم أعلاه يوضح المجموعات الثلات أضافة الى مجموعة البيانات التي حددها كل مستخدم منتمي الى مجموعة معينة , نشاهد المحاسبة المنتمية الى مجموعة المحاسبين مهتمة بمجموعة بيانات محددة تم تحديدها من قبلها ومن زملائها المنتمين الى مجموعة المحاسبين ,ونلاحظ المسوق المنتمي الى مجموعة التسويق أيضا يهتم بمجموعة بيانات مختلفة مع وجود بعض التشابه , واما جرد المخازن نرى أنه ايضا يهتم ببيانات أخرى تفيده في الجرد .لقد قمنا بخلق قاعدة ومرجع متكامل لمعرف أحتياجات المستخدمين وذوي المصلحة وشكلنا قطع بيانات وهي مجموعة البيانات التي حددها كل مستخدم منتمي الى مجموعة معينة هذه القطع تسمى نموذج البيانات الخارجي (External Data Model).الأن سوف نأتي الى دمج قطع البيانات في المستوى التالي .

2. المستوى المفاهيمي (Conceptual Level):

وهو مستوى يتألف من الأفكار والمتطلبات العامة التي ولدت في المستوى الخارجي , يركز على توليد مفهوم سهل وواضح المعالم للمستخدمين وذوي المصلحة.في هذا المستوى يتم تصوير الكائنات وانواعها وخصائصها أضافة الى توضيح القيود على هذه الكائنات وفي نفس الوقت نشاهد أختفاء تعقيدات هيكلية البيانات ويكون النموذج بعيد عن كل الأعتبارت الفيزيائية فهو يركز على توليد جسر مفهوم مع المستخدمين ولذلك يعتبر اداة أيصال سهلة الفهم.يعتمد المستوى المفاهيمي على نمذج البيانات الخارجي الذي تولد في المستوى السابق بحيث يقوم بترتيب مجاميع البيانات ضمن كائنات ذات تسمية محددة مثلا (الزبون) ومن ثم أخذ البيانات المتلائمة التي ولدت في المقاطع ووضعها داخل الكائن وهذ ما نشاهده في الرسم التالي:



نلاحظ من الرسم أنه تم توليد ثلاث كائنات وتم أخذ بعض البيانات من نمذج البيانات الخارجي ووضعها داخل الكائنات وذلك من خلال التركيز على سياق البيانات مثلا :معلومات الزبون في نمذج البيانات الخارجي ماهي؟ الجواب :(رقم الموظف,الاسم,العنوان,المدينة,رقم الهاتف )هذه البيانات تخص الزبون أذن يمكنني أن أولد كائن اسميه الزبون (Customer) يحوي معلومات الزبون ليكون أكثر فهم للمستخدم وذوي المصلحة ,وهكذا يتم تطبيق العملية على بقية البيانات.الأن وبعد أكتمال النموذج البيانات المفاهيمي يمكننا أن ننتقل الى المستوى التالي.

3. المستوى المنطقي (Logical Level):

يركز المستوى المنطقي على المفاهيم المفصلة والعلاقات التي تربط كائنات المستوى المفاهيمي لكنه يبتعد عن كل الأعتبارت التخزينية والفيزيائية.يعمل على تحديد نوعية قاعدة البيانات هل هي علائقية (relational) , هرمية(hierarchical) , شبكية (network).في عملنا سوف نركز على قاعدة البيانات العلائقية وهذا يؤدي بنا الى أن يكون نموذج البيانات يحتوي على خصائص الموديل العلائقي ومنها (الموديل العلائقي يمثل بعدين من الجدول مع وجود علاقة تربطهم ,واما البيانات تمثل كصفوف واعمدة مع وضع القيود العلأئقية).عند أكتمال نموذج البيانات المنطقي سوف يعطي لنا صورة نهائية لنظام قاعدة البيانات من حيث أكتمال الجداول والبيانات الداخلية للجدول أضافة الى جميع القيود ونوعية البيانات.نموذج البيانات المنطقي يخدم بالدرجة الأولة مطوري النظام بحيث يعطي لهم الشكل النهائي لقاعدةالبيانات التي سوف يتم تحويلها من قبلهم الى قاعدة بيانات كاملةومبرمجة ومنصبة فيزيائيا على القرص الصلب .لنرى الشكل التالي الذي يوضح النموذج البيانات المنطقي :



نلاحظ من الرسم تحول الكائنات المتولدة في النموذج المفاهيمي الى جداول علائقية محتوية على أعمدة وصفوف بحيث الأعمدة تمثل الخصائص مثلا رقم الزبون (Customer Number)أما الصف يحوي على بيانات الجدول مثلا  رقم الزبون يساوي 5 . ونلاحظ أضافة المفتاح ألاولي او مايسمى بالمفتاح الاساسي (Primary Key) لتجنب التكرار وتكوين رقم فريد لكل صف بيانات , أضافة الى مفتاح ثانوي او مايسمى بالمفتاح الأجنبي (Foreign Key)  وهو الجهة المقابلة للمفتاح الرئيسي لأجل ضمان أرتباط الجدول بالجدول الأخر وأضهار الأعتمادية بينهما.أذن بعد أكتمال المستوى المنطقي سوف يتولد نموذج بيانات منطقي يمكن تحويله الى قاعدة بيانات حقيقية.

4. المستوى الفيزيائي (Physical Level):

تتعامل معلومات المستوى الفيزيائي مع تنفيذ قاعدة البيانات على القرص  الثابت بحيث يتضمن على جميع الأعتبارات الفيزيائية ومنها أدارة خزن البيانات أدارة الصلاحية خزن وخلق وتعديل قاعدة البيانات (Database) وذلك بأستخدام بيئة أدارة أنظمة قواعد البيانات (Database management system) , النموذج الناتج من المستوى الفيزيائي يخدم مصممي ومنفذي قواعد البيانات ولا يمكن أن يستخدم للأتصال بالمستخدمين.يعتمد المستوى الفيزيائي على نموذج البيانات المنطقي بحيث يقوم بتحويل الجداول العلائقية الى قاعدة بيانات محتوية على فايلات وسجلات وبيانات وقيود ومفاتيح الى أخره.الرسم التالي يوضح  النموذج البيانات الفيزيائي :
  
وبعد أكتمال النموذج الفيزيائي سوف تتولد قاعدة بيانات حقيقية يمكن خزن البيانات والتلاعب بها .هذه المستويات الرئيسية التي من خلالها يتم أدراك بناء نموذج البيانات منذ أخذ المتطلبات من العالم الحقيقي الى أستخدام قاعدة البيانات الحقيقية.وفي الدروس اللاحقة سوف نتطرق حول العلاقات العلائقية و تفاصيل البناء الفيزيائي لقواعد البيانات.

1 comment: