Friday, 14 September 2018

03 - Database Design Conepts



لدينا أربعة موظفين مسؤولين عن أربعة دروج تحتوي على بطاقات . كل بطاقة في درج الزبائن تمثل زبون ، و كل بطاقة في درج الفواتير هي رأس فاتورة ، و كل بطاقة في درج تفاصيل الفواتير هي تفصيل واحد لفاتورة ، و كل بطاقة في درج المواد تمثل مادة.

لا يوجد حواسب . صاحب العمل حرك يده فوق درج تفاصيل الفواتير ، و سحب بطاقة بشكل عشوائي ، و سأل: "في أي محافظة بيعت هذه؟"

البطاقة لا تحوي هذه المعلومة ، المحافظة موجودة في بطاقة الزبون الذي اشترى الفاتورة . نظر الموظف المسؤول عن درج تفاصيل الفواتير في البطاقة ، فوجد أن رقم الفاتورة في البطاقة هو 159 ، فطلب من الموظف السؤول عن الفواتير أن يبحث عن الفاتورة ذات الرقم 159 . الموظف المسؤول عن الفواتير بحث في بطاقاته عن الفاتورة ذات الرقم 159 ، و أحضرها:

وجد أن رقم الزبون هو 2 ، فطلب من الموظف المسؤول عن درج الزبائن أن يبحث عن الزبون ذي الرقم 2 . الموظف المسؤول عن الزبائن بحث في بطاقاته عن الزبون ذي الرقم 2 ، و أحضره:

جواب السؤال هو "حلب" ، المادة بيعت في حلب.



الذي حصل هو التالي:

من تفصيل الفاتورة الرئيسي ، أخذنا "رقم الفاتورة" التي يتبع لها التفصيل ، 159 ، و بحثنا عن هذا الرقم في حقل "الرقم" في درج الفواتير ، عندما عثرنا على البطاقة (الفاتورة) أخذنا "رقم الزبون" المدون فيها ، 2 ، و بحثنا عن هذا الرقم في حقل "الرقم" في درج الزبائن.

من غير المقبول أن لا نجد فاورة رقمها 159 في درج الفواتير . و من غير المقبول أن نجد أكثر من فاتورة رقمها 159.
و كذلك من غير المقبول أن لا تجد زبون رقمه 2 في درج الزبائن ، و من غير المقبول أن نجد أكثر من زبون رقمه 2.

إذن ، عندما يقوم الموظف المسؤول عن درج تفاصيل الفواتير بإدراج بطاقة جديدة ، أي تفصيل جديد لفاتورة ، يجب أن يتأكد من أن رقم الفاتورة المذكور في هذه البطاقة موجود في درج الفواتير . كما أنه من غير المقبول أن يقوم بتعديل هذا الرقم دون الرجوع إلى الموظف المسؤول عن درج الفواتير.

و عندما يقوم الموظف المسؤول عن درج الفواتير بإضافة بطاقة جديدة ، أي فاتورة جديدة ، يجب أن يتأكد من أن رقم الزبون المذكور في هذه البطاقة موجود في درج الزبائن . كما أنه من غير المقبول أن يقوم بتعديل هذا الرقم دون الرجوع إلى الموظف المسؤول عن ردج الزبائن . هناك مسؤولية أخرى تقع على عاتق موظف الفواتير: إذا أراد أن يحذف فاتورة ، يجب أن ينسق مع موظف تفاصيل الفواتير ، إما أن لا يحذف الفاتورة إن كان لها تفاصيل ، و إما أن يحذف الفاتورة و تفاصيلها . كذلك الأمر إذا أراد موظف الفواتير تعديل رقم فاتورة ، يجب أن يتحقق من عدم وجود تفاصيل ، أو ينسق مع موظف تفاصيل الفواتير بأن يعدل معه تماماً.

الموظف المسؤول عن درج الزبائن عليه نفس المسؤولية الأخير . يجب أن لا يحذف بطاقة زبون قبل أن يتأكد أنه غير مستخدم بأي فاتورة في درج الفواتير ، أو يجب أن ينسق مع موظف الفواتير بأن يحذف فواتير الزبون في حال أراد حذف الزبون . و كذلك في حال أراد موظف الزبائن تعديل رقم زبون.

و كذلك الأمر لدى موظف المواد ، يجب أن ينسق مع الموظف المسؤول عن تفاصيل الفواتير في حال أراد حذف مادة أو تعديل رقمها.



لماذا كل هذه الشروط ؟

بغية تحقيق التكامل المرجعي.

No comments:

Post a Comment