مازلنا نواصل عرض مذكرات مستر انترنت و دعوني انصح من اراد المتابعة ان لا يبدء من النهاية و يرجع لبدايات الحديث
عند بداية تصميم أي قاعدة بيانات نبدأ بمعرفة
أين يقع Client وأين يقع
Server
ثم...
نجيب على الأسئلة التالية:
ما أهمية التواجد المستمر !! Availability إحفظ هذا المصطلح جيدا ويعني أن الطبقة الثالثة وهي طبقة قواعد البيانات
-- كم يسمح لها أن تنهار؟؟؟ Server أو الخادم هو عبارة عن حاسب آلي والحاسبات
تتعطل صح؟ ماذا يحدث عن خروج الطبقة الثالثة من الخدمة؟
مشتخدم البرنامج يجب أن يجيب على هذا السؤال؟
لأنه لو قال لك أريد الطبقة الثالثة أن تعمل على مدار السنة دون خروجها من الخدمة فهذا
يتطلب أن يكون هناك
Backup خادم آخر يعمل عند سقوط الخادم الأساسي،
وهذا يؤثر على كيفية بناء قاعدة البيانات.
السؤال الثاني هو القياس !! Scalability إحفظ هذا المصطلح جيداً ويعني كم شخصا سيتخدم قاعدة البيانات؟ كم شخصا
سيتخدم قاعدة البيانات في نفس الوقت؟ كم عدد السجلات في قاعدة البيانات على مدى العشر
سنوات قادمة؟ ما هو المطلوب عمله في البيانات القديمة هل تحذف أم تخزن؟ هل تخزن على
نفس الخادم أم على خادم
Server آخر؟ كيف يتبادل الخادمين المعلومات؟ وهكذا؟
هذا العنصر "القياس" هو الأهم على الإطلاق.
عزيزي القارىء...
أن قاعدة البيانات فيها 5000 جدول
أن كل جدول في قاعدة البيانات تحتوي على
10 ملايين سجل
أنه يوجد 30 ألف مستخدم يتعاملون مع قاعدة
البيانات في نفس الوقت
أن المسافة بين Server و Client ألف كيلو متر
لماذا هذا التخيل؟
لأنه هذا هو الطريق الصحيح لصناعة قاعدة
بيانات قوية الأساسات وخالية من الأخطاء وستعلم لاحقا لماذا.
من قرأ معنا حتى الآن ويرى أن قواعد البيانات
شوية حقول على توليفة أستعلامات على نموذجين وكم تقرير أقترح عليه التوقف عن القراءة
حيث لن يستفيد شيئا.
المشكلة أن ثمن الدورات التدريبية مرتفع
نسبيا وأن معظمنا يلهث لإنهاء قاعدة بيانات يحصل بها على ترقية أو يتفاخر بها مع اخوته
وأصدقائه، وعليه تنتقل المفاهيم الخاطئة من شخص لآخر ببساطة ويصبح الآكسس "عفوا
البرنامج التافه" هو قمة الإبداع والبرمجة.
عفوا وعذرا لمحبي الآكسس -- كل ما أحاول
عمله في البداية هو توضيح للمفاهيم ثم المصطلحات قبل أن نبدأ السباحة.
أين الطبقة الثانية Logic Tier --- دعك منها الآن
كل تركيزنا حتى هذه اللحظة منصباً على الطبقة
الثالثة وهي قواعد البيانات.
آمل عزيزي القارىء أن تكون في هذه اللحظة
قد جهزت براية ومحاية ودفتر ومسطرة وآلة حاسبة ومجموعة أقلام رصاص.
إن لم تكن قد فعلت وتريد أن تكمل معنا من
منطلق "الفهلوة" و "الواد الجدع" على رأي الأخوة في مصر، أو منطلق
سأفهم فيما بعد أو منطلق حلولي المشكلة التي بين يدي، أو منطلق سأجمع المشاركات ثم
أقوم بدراستها وقراءتها فيما بعد --- صدقني لن تصل بقواعد البيانات إلا إلى طرق مسدودة
وبعد عدة أشهر ستلغي الموضوع برمته. أو على أضعف الإحتمالات لن تبيع قاعدة بيانات واحدة
على الإطلاق.
شمر عن ساعديك وحضر الأدوات السابقة ولا
تفتح الآكسس ولا الحاسب الآلي إطلاقا وهيا بنا نصمم قاعدة بيانات لإدارة مستوصف بالطرق
العلمية الصحيحة.
مرة أخرة يا أخوتي وأخواتي -- سنصصم يدوياً
وليس بإستخدام الحاسب الآلي او الآكسس أو غيره.
تحياتي،،،
مرحبا،،،
آمل ممن ليس معه:
مسطرة
محاية
براية
آلة حاسبة صغيرة
دفتر كبير
أقلام رصاص
أن لا يكمل معنا المشوار --- والله العظيم
لن يفهم قواعد البيانات أبدا، وسيبقى يلف ويدور ويسأل ويحاول ويخطىء وهكذا دواليك.
أمل ممن يستخدمون الآكسس الآن أن يوقفوه
فوراً --- من سيطبق على الآكسس او أي برنامج غيره --- والله لن يستفيد شيئا.
بإسمك اللهم أبدأ:
الأسلوب العلمي لتصميم قواعد البيانات يبدأ
بتحديد شكل المخرجات أو ما يعرف بإسم التقارير وعليه تكون التقارير هي أول خطوة يجتمع
عليها فريق العمل مع صاحب المشروع للإتفاق على شكلها ويتم رسمها على أوراق خلال ما
يسمى إجتماعات التقارير.
لاحظ عزيزي القارىء --- لا تصمم أبدا أبدا
أبدا أبدا أي قاعدة بيانات قبل أن يكون لديك على أوراق عادية كل التقارير المطلوبة
من المشروع. وحيث أن هذه الدروس لتعميق مفاهيم قواعد البيانات بشكلها العلمي الصحيح
فسأضطر إلى مخالفة هذه القاعدة، ولكن سنعود أليها قريبا جدا عندما نطبق مشروعنا الثاني
والذي ستقومون أنتم بعمله تحت إشرافي بمشيئة الله عز وجل.
في الأسلوب العلمي الصحيح عند بناء قاعدة
بيانات نبدأ بالتقارير ثم نصمم الجداول ثم الإستعلامات ثم .... لن أقول لكم الآن حتى
لا أشتت أي تركيز.
لغرض هذا الدرس الأول ولخبرتي في أفضل طرق
إيصال المعلومة سأقوم بتوجيهكم خطوة خطوة بدأ بالجداول ثم الإستعلامات ثم التقارير
--- أعلم أنه خطأ ولكن لأنه المثال الأول وأعلم أنه سيكون مفيدا بإذن الحق تبارك وتعالى.
برنامج قاعدة بيانات لإدارة مستوصف
لبناء الجداول نبدا بتحديد أقصى بعد لمكونات
المشروع "في حالتنا مستوصف" من ماذا يتكون المستوصف. سؤال سهل، الإجابة
--- يتكون من:
أطباء
عيادات
مرضى
في قواعد البيانات هناك الوظيفة الأساسية
والوظائف الفرعية -- ما هي الوظيفة الأساسية للمستوصف -- علاج المرضى "بإذن الله"
وكذلك تحقيق أرباح
إذا تم تعريف الوظيفة الأساسية للمشروع
--- علاج المرضى -- بدون مرضى المشروع فاشل ولا معنى له --- إذا الجدول الأساسي هو
جدول المرضى.
فاصلة --- توقف --- ركز --- كمل
ماهي الوظائف الفرعية للمستوصف؟
هل يوجد مستوصف بدون صيانة؟
هل يوجد مستوصف بدون مقاول للنظافة؟
هل يوجد مستوصف بدون إدارة شؤون موظفين؟
هل يوجد مستوصف بدون صيدلية؟
هل يوجد مستوصف بدون جداول للنوبات؟
هل يوجد مستوصف بدون نظام حجز مواعيد؟
وااااااااااااااااو --- العملية بدأت
"في الليمونة" على رأي أحبائنا في مصر
العملية بدأت تتشعععععععععععععععععععععععب
لحظة -- توقف -- إتصل بصاحب المشروع --
صاحب المستوصف -- حدد إجتماع
المشهد: فريق العمل معك أنت بصفتك قائد
الفريق مع صاحب المستوصف مع مدرائه في غرفة الإجتماعات الساعة العاشرة صباحا -- أمامك
قنجان من القهوة "مو في رمضان طبعا"
ما هو المطلوب من هذا الإجتماع؟؟؟
هل قاعدة البيانات المطلوبة هي للوظيفة
الأساسية؟ أم للأساسية والفرعية أيضاً؟ إذا تم دمج الفرعية؟ أي منها؟
لهذا السبب قواعد بيانات شؤون الموظفين
ذائعة الصيت لماذا؟ لأنها تصلح لكل منشأة وشركة بغض النظر عن نشاطها. وهكذا للمحاسبة
والصادر والوارد وغيرها.
ملاحظة: قد يسعفنا الوقت لاحقا وبتوفيق
الله أن نشرح كيف نجعل مجموعة من قواعد البيانات المختلفة أن تتحادث وتتخاطب بين بعضها
البعض للحصول على تقارير موحدة منها جميعا وهو ما يسمى Distributed Database Applications
توقف --- إستمر --- لا بد من تحديد نطاق
عمل قاعدة البيانات منذ اليوم الأول، يجب أن ينص العقد مع صاحب المشروع على نطاق قاعدة
البيانات --- لماذا؟؟
هيا عاد لا بد أن تيجيب على السؤال!! فكر
قبل أن تقرأ الإجابة
السبب بسيط لأنه عند إكتمال قاعدة البيانات
ومن ثم يتغير نطاق العمل تتغير الجداول تتغير العلاقات تتغير الإستعلامات تتغير التقارير
--- مصيبة كبيرة وخسائر في الوقت والجهد.... إلا إذا كنت وحشا من وحوش قواعد البيانات
لأنك يمكنك تصميم قاعدة البيانات بدون حقول .... واووووو ويقوم مستخدم القاعدة بعمل
أية حقول كيف يشاء متى يشاء --- واااااووو --- ويستطيع أن يغير النماذج والتقارير آليا
عند عمل تعديل في الحقول ---- وااااااااوووو --- يكفي هذا --- إسألوني فيما بعد عن
هذا --- موضوع متقدم جدا جدا جدا ليس مكانه هنا.
إنتهى الإجتماع وتم الإتفاق على أن تخدم
قاعدة البيانات الوظيفة الأساسية للمستوصف ووبهذا تصبح العناصر الأساسية لدينا هي الأطباء،
العيادات، المرضى.
استخدم البراية لشذب أول قلم رصاص وفي منتصف
صفحة بيضاء فارغة في الأعلى اكتب"الجدول الرئيسي" للمستوصف وسجل الحقول التالية.
أريدك أن تنسى العبارات التالية: نص، رقم،
عملة، كائن، إلخ
إبدا معي بالكتابة في الصفحة التي ستحمل
كافة حقول المشروع ولأن التطبيق يدوي فلن أكثر عليكم بالحقول سنزيدها عند التطبيق الفعلي
على الآكسس لاحقا بمشيئة الله:
الحقول:
رقم المريض -- 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 سجلاً على الأقل
نكون بحمد الله وفضله قد إنهينا تصميم قاعدة البيانات !!!!!!!!!!!!! طبعا لأ !!!
سنقول لماذا في الدرس القادم بمشئية الله.
تحياتي،،،

ليست هناك تعليقات:
إرسال تعليق