الدرس الاول
عند تعلمك للأسس الصحيحة لقواعد البيانات تصبح البرامج التالية في منتهى السهولة والبساطة.
Access
FoxPro
Clipper
DBase
Microsoft SQL
Oracle
Sybase
كل ما سبق عبارة عن برامج لشركات مختلفة تستخدم أدوات قواعد البيانات، للتوضيح يوجد مصطلح "سيارة" فعند التحدث عن السيارة يكون عن كيفية عملها وصناعتها وصيانتها ولا يكون الحديث عن صنف معين من السيارات.
مرة أخرى كل ما سيتم وضعه هنا هو عن قواعد البيانات التي تساعد الجميع على الفهم وليس التطبيق والتقليد والمحاولة والخطأ.
إذا أردت إحتراف قواعد البيانات فعليك إتباع التالي:
أغلق الحاسب الآلي !!
احصل على مساحة ودفتر كبير بسلك وبراية ومجموعة من أقلام الرصاص وآله حاسبة !!
إقرأ الفاتحة وإبدأ بإسم الله الرحمن الرحيم.
إذا راودتك نفسك أن تفتح الأكسس وتقوم بالتطبيق فلن تفهم شيئا !!
إذا راودتك نفسك أن تسأل أي سؤال يبدأ بكيف؟ فلن تفهم شيئا !!
في نظرية التعلم هناك سؤالين الأول كيف والآخر لماذا؟
كيف؟ سهلة جدا إعمل كذا وكذا ثم كذا وكذا!! هذا لا يصنع منك إلا مقلدا !!
لماذا؟ تتطلب فكرا وعمقا وهدوءا، وهذا ما سنفعله في هذه السلسة من الشروحات، هو محاولة إيصال مفهوم لماذا؟
لماذا ننشأ هذا الجدول؟ لماذا بهذه الطريقة؟ لماذا الإستعلام وما هي أهميته؟ وهكذا
ليس كيف ننشأ جدول بل لماذا نصع هذا الجدول عوضا عن ذاك !!!
مرة أخرى،، لا حاسب، لا آكسس لا إس كيو إل، لا شيء، في هذه الدروس ستكون أنت الأكسس، أي انت من سيقوم بعمل الأكسس او SQL او أوراكل.
إذا نجحت بتوفيق الله ان أجعل من تفكيرك وعقلك أن يقوم بعمل أي برنامج لقواعد البيانات بعدها سيكون كل ما هو مطلوب منك الإجابة على كيف أعمل هذا في الأكسس أو كيف أعمله في أوراكل وتصبح العملية في منهى البساطة والسهولة والسلاسة، لماذا؟
قواعد البيانات !!! لاحظ كلمة البيانات، والبيانات هي مجموعة لا معنى لنا من الأرقام والكلمات... البيانات أي شىء مثل كلمة "ربح" كلمة "خسارة" رقم "2000" وهكذا...
البيانات لا تعني شيئا هذه أول خاصية من كلمة بيانات أنها لا تعني أي شىء، والبيانات لا يستفاد منها إطلاقا !!
الخاصية الثانية لكلمة بيانات هي الحجم، حيث أن البيانات دائما تعني الكثرة والضخامة من حيث العدد !!
وهذا يضع كلمة بيانات في موقع سىء حيث أنها ضخمة وكثيرة ومتشعبة وفي نفس الوقت لا معنى لها.
كلمة قاعدة تعني تنظيم الشىء على أسس، وهذا ما يتم في قواعد البيانات، هو تنظيمها ومن ثم تحليلها... لماذ؟
لماذا نقوم بتحليل وتنظيم البيانات؟ الإجابة هي... لتحويل البيانات إلى معلومات !!!
مممممم
من خلال معالجة البيانات تتحول إلى معلومات --- قاعدة أساسية في غاية الأهمية، الهدف إذا هو تحويل البيانات إلى معلومات. السؤال البيديهي لماذ نقوم بهذه العملية؟
لماذا نحول البيانات إلى معلومات؟
لسببين أساسيين:
الأول: هو إتخاذ القرارات.
الثاني: التخطيط
قاعدة بيانات تشمل تعداد سكان المملكة العربية السعودية. كبيانات لا قيمة لها، ولكن عند معالجة البيانات وتحويلها إلى معلومات يصبح لدينا التالي مثلا:
عدد الأطفال في تحت العشرة سنين 30% هي معلومة تتطلب التخطيط لبناء مدارس
مثال آخر أرباح السنة المالية الحالية 35% هنا لدينا معلومة نستطيع أن نتخذ عليها قرارا "إتخاذ القرارات" مثل توزيع راتب إضافي لمنسوبي الشركة.
وهكذا... لا ننسى أنه يتوجب تحويل البيانات إلى سلسلة من المعلومات المتدفقة للمساعدة على إتخاذ القرارات والتخطيط.
====
سيكون مشروعنا هو بناء قاعدة بيانات لإدارة مستوصف -- مرة أخرى لا تنس عزيزي القارىء --- لن نستخدم أي برنامج ولن نستخدم أي حاسب آلي على الإطلاق.
من سيقوم بالتطبيق على الحاسب الآلي لن يفهم شيئا --- صدقوني.
الآن أطلب منك عزيزي القارىء مزيدا من التركيز...
قواعد البيانات تندرج تحت مصطلح علمي للبرمجة أسمه Tier 3 أي الطبقات الثلاث.
حتى وإن كان ما سبق خطأ وهو تصميم قديم، لكني أطلب منك عزيزي القارىء أن تحفظها حتى لو كانت خطأ "الطبقات الثلاثة"
الطبقة الأولى First Tier
وهي ما يسمى بالمقدمة أو واجهة المستخدم User Interface
الطبقة الثانية Second Tier
وهي ما يسمى بطبقة المنطق والقوانيين Logic Interface
الطبقة الثالثة Third Tier
وهي ما يسمى بالخلفية Back End وهي طبقة ؟؟؟ قواعد البيانات !!
لماذا ازعجتك عزيزي القارىء بهذه المصطلحات؟
لأسباب بسيطة وصغيرة جدا:
قم بنسيان النماذج في الأكسس
قم بنسيان التقارير في الأكسك
النماذج والتقارير الموجودة في الآكسس ليست للإحتراف وليست للبرامج القوية أو قواعد البيانات الحقيقية.
لماذا هذه الزحمة؟؟؟
لأنه لا يوجد شيء في قواعد البيانات أسمه نماذج أو تقارير، النماذج والتقارير تصنع في الطبقة الأولى وليس الثالثة. الطبقة الثالثة لقواعد البيانات بينما الطبقة الأولى هي للنماذج والتقارير.
للمعلومية وقد يسعفنا الوقت لشرح المزيد لاحقا:
الطبقة الأولى --- نستخدم Visual Basic .NET
الطبقة الثانية --- نستخدم Visual C++ .Net
الطبقة الثالثة --- نستخدم Microsoft SQL أو Oracle أو Sybase
لماذا الآكسس و FoxPro و Dbase و Clipper و MySQL يستخدمون الطبقات الثلاثة مع بعضها البعض في محتوى واحد؟
الإجابة هي لأن هذه التطبيقات للإستخدام الشخصي فقط !!! وليس لصناعة قواعد بيانات للسوق. إلا في حالات شاذة جدا مثل أن يكون عدد المستخدمين صغير أقل من 10 أشخاص فقط.
لا تخف من فقدان النماذج التقارير في الآكسس وغيرها -- صدقني لا قيمة لها إذا أردت أو تطمح للإحتراف.
آخر هذه المشاركة:
هناك كلمتان في غاية الأهمية وقطعا تعرفهما Client و Server
قواعد البيانات دائما وأبداً على Server -- الطبقة الثالثة
الواجهات والنماذج والتقارير دائما وأبدا على Client -- الطبقة الأولى "يشذ عن هذا تطبيقات الإنترنت" وهذا موضوع آخر فيما بعد بمشيئة الله.
المسافة بين Client وال Server دائما غير معروفة، قد تكون 5 سم او 10 آلاف كيلو متر، إنتبه لهذه النقطة جيدا --- أعيد مرة أخرى المسافة بينهما غير معروفة -- سنتكلم عن هذا.
تحياتي،،،