تابع الأسس العلمية لقواعد البيانات
آمل ممن ليس معه:
§
مسطرة
§
محاية
§
براية
§
آلة حاسبة صغيرة
§
دفتر كبير
§
أقلام رصاص
§
أن لا يكمل معنا المشوار --- والله العظيم لن يفهم قواعد البيانات أبدا، وسيبقى يلف ويدور ويسأل ويحاول ويخطىء وهكذا دواليك.
§
أمل ممن يستخدمون الآكسس الآن أن يوقفوه فوراً --- من سيطبق على الآكسس او أي برنامج
غيره --- والله لن يستفيد شيئا.
أن لا يكمل معنا المشوار --- والله العظيم لن يفهم قواعد البيانات أبدا، وسيبقى يلف ويدور ويسأل ويحاول ويخطئ وهكذا دواليك.
أمل ممن يستخدمون الآكسس الآن أن يوقفوه فوراً --- من سيطبق على الآكسس او أي برنامج غيره --- والله لن يستفيد شيئا
الأسلوب العلمي لتصميم قواعد البيانات يبدأ بتحديد شكل المخرجات أو ما يعرف بإسم التقارير وعليه تكون التقارير هي أول خطوة يجتمع عليها فريق العمل مع صاحب المشروع للإتفاق على شكلها ويتم رسمها على أوراق خلال ما يسمى إجتماعات التقارير.
لاحظ عزيزي القارىء --- لا تصمم أبدا أبدا أبدا أبدا أي قاعدة بيانات قبل أن يكون لديك على أوراق عادية كل التقارير المطلوبة من المشروع. وحيث أن هذه الدروس لتعميق مفاهيم قواعد البيانات بشكلها العلمي الصحيح فسأضطر إلى مخالفة هذه القاعدة، ولكن سنعود أليها قريبا جدا عندما نطبق مشروعنا الثاني والذي ستقومون أنتم بعمله.
في الأسلوب العلمي الصحيح عند بناء قاعدة بيانات نبدأ بالتقارير ثم نصمم الجداول ثم الإستعلامات ثم .... لن أقول لكم الآن حتى لا أشتت أي تركيز.
لغرض هذا الدرس الأول ولأفضل طرق إيصال المعلومة سأقوم بتوجيهكم خطوة خطوة بدأ بالجداول ثم الإستعلامات ثم التقارير --- أعلم أنه خطأ ولكن لأنه المثال الأول وأعلم أنه سيكون مفيدا بإذن الحق تبارك وتعالى.
برنامج قاعدة بيانات لإدارة مستوصف
لبناء الجداول نبدا بتحديد أقصى بعد لمكونات المشروع "في حالتنا مستوصف" من ماذا يتكون المستوصف. سؤال سهل، الإجابة --- يتكون من :
أطباء
عيادات
مرضى
في قواعد البيانات هناك الوظيفة الأساسية والوظائف الفرعية -- ما هي الوظيفة الأساسية للمستوصف -- علاج المرضى "بإذن الله" وكذلك تحقيق أرباح
إذا تم تعريف الوظيفة الأساسية للمشروع --- علاج المرضى -- بدون مرضى المشروع فاشل ولا معنى له --- إذا الجدول الأساسي هو جدول المرضى
ماهي الوظائف الفرعية للمستوصف؟
هل يوجد مستوصف بدون صيانة؟
هل يوجد مستوصف بدون مقاول للنظافة؟
هل يوجد مستوصف بدون إدارة شؤون موظفين؟
هل يوجد مستوصف بدون صيدلية؟
هل يوجد مستوصف بدون جداول للنوبات؟
هل يوجد مستوصف بدون نظام حجز مواعيد؟
العملية بدأت تتشعععععععععععععععععععععععب
لحظة -- توقف -- إتصل بصاحب المشروع -- صاحب المستوصف -- حدد إجتماع
المشهد: فريق العمل معك أنت بصفتك قائد الفريق مع صاحب المستوصف مع مدرائه في غرفة الإجتماعات الساعة العاشرة صباحا -- أمامك قنجان من القهوة
ما هو المطلوب من هذا الإجتماع؟؟؟
هل قاعدة البيانات المطلوبة هي للوظيفة الأساسية؟ أم للأساسية والفرعية أيضاً؟ إذا تم دمج الفرعية؟ أي منها؟
لهذا السبب قواعد بيانات شؤون الموظفين ذائعة الصيت لماذا؟ لأنها تصلح لكل منشأة وشركة بغض النظر عن نشاطها. وهكذا للمحاسبة والصادر والوارد وغيرها.
ملاحظة: قد يسعفنا الوقت لاحقا وبتوفيق الله أن نشرح كيف نجعل مجموعة من قواعد البيانات المختلفة أن تتحادث وتتخاطب بين بعضها البعض للحصول على تقارير موحدة منها جميعا
توقف --- إستمر --- لا بد من تحديد نطاق عمل قاعدة البيانات منذ اليوم الأول، يجب أن ينص العقد مع صاحب المشروع على نطاق قاعدة البيانات --- لماذا؟؟
هينا لابد أن تجيب على السؤال!! فكر قبل أن تقرأ الإجابة
السبب بسيط لأنه عند إكتمال قاعدة البيانات ومن ثم يتغير نطاق العمل تتغير الجداول تتغير العلاقات تتغير الإستعلامات تتغير التقارير --- مصيبة كبيرة وخسائر في الوقت والجهد.... إلا إذا كنت وحشا من وحوش قواعد البيانات لأنك يمكنك تصميم قاعدة البيانات بدون حقول .... واووووو ويقوم مستخدم القاعدة بعمل أية حقول كيف يشاء متى يشاء --- واااااووو --- ويستطيع أن يغير النماذج والتقارير آليا عند عمل تعديل في الحقول ---- وااااااااوووو --- يكفي هذا --- إسألوني فيما بعد عن هذا --- موضوع متقدم جدا جدا جدا ليس مكانه هنا.
إنتهى الإجتماع وتم الإتفاق على أن تخدم قاعدة البيانات الوظيفة الأساسية للمستوصف ووبهذا تصبح العناصر الأساسية لدينا هي الأطباء، العيادات، المرضى.
استخدم البراية لشذب أول قلم رصاص وفي منتصف صفحة بيضاء فارغة في الأعلى اكتب"الجدول الرئيسي" للمستوصف وسجل الحقول التالية.
أريدك أن تنسى العبارات التالية: نص، رقم، عملة، كائن، إلخ
إبدا معي بالكتابة في الصفحة التي ستحمل كافة حقول المشروع ولأن التطبيق يدوي فلن أكثر عليكم بالحقول سنزيدها عند التطبيق الفعلي على الآكسس لاحقا بمشيئة الله
الحقول:
رقم المريض -- 10 خانات
|
إسم المريض -- 50 خانة
|
جنسية المريض -- 25 خانة
|
عمر المريض -- 2 خانة
|
جنس المريض -- 1 خانة
|
تشخيص المرض -- 350 خانة
|
العلاج -- 350 خانة
|
التكلفة المدفوعة من المريض --- 5 خانات
|
تاريخ دخول المريض --- 10 خانات
|
وقت دخول المريض --- 5 خانات
|
تاريخ خروج المريض --- 10 خانات
|
وقت خروج المريض --- 5 خانات
|
رقم الطبيب المعالج -- 10 خانات
|
إسم الطبيب -- 50 خانة
|
جنسية الطبيب -- 25 خانة
|
راتب الطبيب الشهري -- 5 خانات
|
بدل السكن للطبيب السنوي -- 5 خانات
|
بدل النقل للطبيب الشهري -- 5 خانات
|
جنس الطبيب -- 2 خانة
|
رقم العيادة -- 10 خانات
|
إسم العيادة -- 50- خانة
|
رقم الجناح الذي تقع فيه العيادة -- 2 خانة
|
رقم الطابق -- 2 خانة
|
ملاحظات -- 500 خانة
|
آمل ممن نفذوا ما سبق على الآكسس ألا يكملو فلن يستفيدوا شيئا !!!؟؟؟
من نفذ ما سبق على ورقة بيضاء بخط واضح أن يفتح صفحة جديدة في الدفتر ويتقمص شخصية مدخل البيانات وبإستخدام المسطرة والقلم أن يرسم جدولاً فيه كافة الحقول السابقة كعناوين للأعمدة وأن يسجل 45 سجلاً لزيارات مرضى مع مراعاة ما يلي
أن يسجل على الأقل 3 إلى 5 زيارات لكل مريض
أن يسجل على الأقل 3 إلى 5 علاجات لكل طبيب
أن يسجل على الأقل 3 إلى 5 إستخدامات لكل عيادة
أن ينوع في انواع الأمراض "كقانا الله وإياكم شرها«
أن ينوع في جنس المرضى والأطباء
أن ينوع في الجنسيات
وهكذا....
بعد أن تقوم بكتابة 45 سجلاً على الأقل نكون بحمد الله وفضله قد إنهينا تصميم قاعدة البيانات !!!!!!!!!!!!! طبعا لأ !!!
سنتحدث عن موضوع آخر سنحتاجه فيما بعد بشكل كبير جدا والموضوع هو "مدخلو البيانات
مدخل البيانات هو شخصية تتطلب من مصمم قاعدة البيانات أن يفهمها بشكل واضح، ولزيادة عنصر الشوق أقول لكم أنه يوجد دورات تدريبية مخصصة لفهم شخصية ما يسمى بالوظائف المملة Boring Jobs وطبعا هذه الدورات للأسف "كالعادة" لا تقدم في عالمنا العربي.
الوظائف المملة :هي وظائف "لا تستغرب عزيزي القارىء" ذات رواتب مرتفعة جدا جدا مع قلة الخبرة والتعليم المطلوب فيها !!! لماذا ؟
هذه الوظائف يترتب على الخطأ فيها خسائر جمة لصاحب العمل !!! بهذه البساطة.
من أمثلة الوظائف المملة:
الحراسات الليلية
قيادة الحافلات والناقلات على الخطوط البرية الطويلة بين الدول
وطبعا صديقنا --- مدخل البيانات
اذا تعمقت في هذه الوظائف تجد أنه يترتب على الخلل فيها خسائر جمة، فحارس ليلي قد يترتب على نومه سرقة للمستودع مثلا --- خسارة كبيرة.
أو سائق شاحنة ينطلق من الرياض متوجها إلى الإمارات مثلا ومعه 10 سيارات فارهة، يترتب على نومه حادث لا قدر الله ينتج عنه الكثير من الخسائر.
وصديقنا مدخل البيانات -- تخيل أن يقوم بإدخال ارقام خاطئة عن المبيعات -- يترتب عليها تقارير توضح خسائر بينما الشركة تربح فعلا، أو يدخل أنثى على أنها ذكر، كل الإستعلامات التي تبنى على جداول بيانات خاطئة تعطى نتائج لا معنى لها. ليست مشكلة الحاسب الآلي انه يعطيك نتيجة جمع 5 و 3 على انها 8 وانت تقصد جمع 4 و 3 !!!
من رأى منكم مدخل بيانات فعليا سيضحك لما أقول، لأن مدخل البيانات خلال أداء عمله لا ينفك من سب وشتم والإستهزاء بمصمم قاعدة البيانات !!!!
مدخل البيانات هو ذكر كان أو إمرأة يبدأ يومه وعلى يمنه أو يساره مجموعة ضخمة من المعاملات المطلوب إدخال بياناتها إلى قاعدة البيانات، لأن الوظائف المملة يغلب عليها طابع التكرار Loops لنفس العمل ----- يبدأ مدخل البيانات بعد بضعة ساعات بالسرحان والتفكير بحياته ومواضيعه الشخصية والذي يدخل البيانات فعليا هو العقل الباطن الناتج من الخبرة !!!
هل قمت بقيادة سيارتك يوما ما ووصلت إلى وجهتك وفجأة تذكرت أنك كنت تفكر بموضوع ما ولا تتذكر الإشارات والانعطافات والشوارع... من كان يقود السيارة؟!!!
لماذا هذا الموضع النفسي والفلسفي؟؟؟؟
لأنه مطلوب منك عند تصميم قاعدة البيانات ان تتقمص شخصية مدخل البيانات بين الحين والآخر، لماذا؟ لأنك تريد أن تحد بشكل كبير من حجم الأخطاء في قاعدة البيانات؟ لماذا نحد من أخطاء مدخل البيانات؟ لأن صاحب المشروع سيحصل على نتائج خاطئة وبالتالي لن يستخدم برنامجك؟ الخسارة تقع على كاهلك أنت !!!
الهدف الآن واضح --- آمل ذلك --- عند تصميم قواعد البيانات لا نريد أن يقوم مدخل البيانات بإدخال بيانات خاطئة "القاعدة العلمية تقول --- هذا مستحيييييييييييييييييييييل" !!
وااااااااااو --- إذا كان مستحيلا فما العمل؟ الهدف أصبح أن تساعد مدخل البيانات على الحد من الأخطاء لا أن تمنعها كلياً !!!
تتفق معي أن هذا غريب ؟؟؟ لماذا؟ لأنه من الناحية العلمية نستطيع أن نجبر مدخل البيانات على ألا يقوم بإدخال أي شيء خطا ومع ذلك القاعدة العلمية تنصح بعدم تنفيذ هذا بل فقط الحد من ذلك لا منعه !!! لماذا؟ لأن تكلفة المنع في تصميم قواعد البيانات عالية جدا وتفوق تكلفة عمل تدريب صغير لمدخل البيانات.
كيف ولماذا ننمع؟ موضوع آخر قد نتطرق إليه فيما بعد، بعد الإنتهاء من الأسس العلمية أولا
لماذا نحد من الأخطاء الناتجة عن إدخال البيانات أصبح واضحا "آمل هذا" أما كيف نحد من الأخطاء فهو موضوع شيق سيكون حوارنا الآن.
الحاسب الآلي "متخلف" عفوا --- الحاسب الآلي يعكس فكريا رياضيا لا منطقيا !!
المنطق هو إدراك عالي جدا لا يصله إلا البشر فقط !!
إقرأ معي الكلمات التالية فضلا منك:
أنثى
أنثى
أنثى
أنثى
أنثى
ماذا قرأت ؟؟؟
أنك "بشر" ولديك الإدراك الذي فضلك به الحق تبارك وتعالي فإنك ترى أن كل الكلمات السابقة تعني أحد الجنسين من البشر وهي الأم والأخت والزوجة والبنت وهكذا.
توقف - ركز – استمر
في مطلق برامج قواعد البيانات (كلها على الإطلاق) ومن ضمنها الآكسس ما سبق يعني 6 كلمات مختلفة ؟؟؟؟!!!!
فلو كان لديك استعلام تريد به أن تحصل على إجمالي أعداد الإناث في قاعدة البيانات فإنك قطعا لن تحصل على إجابة صحيحة ؟؟؟؟!!!
الآن نفكر ونخطط لقاعدة البيانات --- كيف نمنع مدخل البيانات من إدخال حقل الجنس للإناث بطرق مختلفة؟
بل ليس هذا فقط؟؟؟ المطلوب منك كمصمم قواعد بيانات هو أكبر من هذا، المطلوب يتجاوز الحد من أخطاء مدخل البيانات إلى مسافة أبعد وهي المساعدة على إدخال البيانات.
طبعا لا أقصد المساعدة اليدوية في إدخال البيانات !!! بل في طريقة تصميم القاعدة لتساعده على ذلك وعندها قد تسمع ان مدخلي البيانات يدعون لك "وان كنت أشك في هذا لكونهم دائمي التذمر بغض النظر عما تعمله !!".
التكامل والتماسك، قاعدة البيانات مثل ما شرحنا سابقا هي بيانات لا قيمة لها "بعد تحليلها تصبح معلومات" والبيانات بطبعها عدم التماسك والتكامل ومن هنا لا بد الا تترك أي ثغرات في قاعدة البيانات يتسلل منها مدخل البيانات إلى إدخال بيانات خاطئة تؤدي إلى فقد التكامل والتماسك لبنية قاعدة البيانات.
تعني أن كافة حقول وسجلات كافة الجداول تعمل مع بعضها البعض بشكل متناغم وبشكل يحد من أخطاء إدخال البيانات.
بعد كم درس راح أسأل عن وخلي واحد ما يجاوب صح، كل الأسس العلمية لقواعد البيانات تلف وتدور حول اي التكامل والتماسك.
الآن عزيزي القارىء، أعد قراءة هذه الصفحة وبإستخدام قلم الرصاص أكتب المصطلحات وإشرحها لنفسك مرة أخرى، ليتنا نكتب مثلما نقرأ. الكتابة هي المعلم الأول
أية أسئلة تقفز إلى أذهانكم --- إسألوها حتى يطمئن قلبي أننا نسير بالإتجاه الصحيح.
للحد من أخطاء إدخال البيانات نقوم بعمليات:
المنع
الإختيار
تحديد النطاق
الإكمال والإدخال والإختيار الآلي
التأكد من التكامل والتماسك لقاعدة البيانات
تعني أن كافة حقول وسجلات كافة الجداول تعمل مع بعضها البعض بشكل متناغم وبشكل يحد من أخطاء إدخال البيانات.
بعد كم درس راح أسأل عن وخلي واحد ما يجاوب صح، كل الأسس العلمية لقواعد البيانات تلف وتدور حول التكامل والتماسك.
والى هنا انتهى درس اليوم والى اللقاء فى درس جديد ان شاء الله
كان معكم فيها
م: عبدالجيد محمد
رابط ملف العرض التقديمى
رابط فيديو الشرح