الجمعة، 7 مارس 2014

محاضرات تعليمية في مادة الحاسوب

بأشراف 
الأستاذ حيدر
       و
الأستاذة نور علي
                                                                   "المحاضرة الأولى"                              

المحتوى:
·        التعريف بقواعد البيانات وأهميتها وخصائصها وميزاتها
·        أنظمة الملفات التقليدية القديمة(أنواعها , عيوبها, مشاكلها)
·        نظم قواعد البيانات(DB systems) والفرق بينها وبين الملفات القديمة
·        نظام إدارة قواعد البيانات (Database Management System DBMS)











مقدمة في أنظمة قواعد البيانات
  • أصبحت قواعد البيانات و تطبيقاتها عنصرا جوهرياً في تسيير أمور الحياة اليومية في المجتمع المعاصر ، حيث أن جميع الأنشطة التي يمارسها أفراد المجتمع من تسجيل مواليد ووفيات و نتائج دراسية و وثائق السفر و العمليات البنكية و غيرها الكثير يجب فيها التعامل مع احد قواعد البيانات
  • كافة الأنشطة السابقة تدخل في نطاق التطبيقات التقليدية لقاعدة البيانات .
  • توجد حالياً تطبيقات متقدمة لقواعد البيانات مثل استخدام الذكاء الاصطناعي و التجارة الالكترونية

تعريف قاعدة البيانات :
يعرف مصطلح قواعد البيانات بأنه عبارة : عن مجموعة من الأدوات(جداول , استعلامات, علاقات......) التي تكون البيئة المناسبة لتخزين البيانات بطريقة نموذجية  يتم فيها تحاشي التكرار عن طريق ترابط الجداول بعلاقات محددة حسب الحاجة  .
و تتميز  البيانات المخزنة داخل قواعد البيانات باستقلال نسبي عن البرامج المسئولة عن المعالجة الخاصة بها ، وتشكل الاستقلالية عن البرامج نقطة هامة يستفاد منها عند تطوير الأنظمة ، وإعادة الهيكلة عند الحاجة إلى متطلبات جديدة أو بناء نظام جديد .
أهمية قواعد البيانات:
تعتبر قواعد البيانات ذات أهمية كبيرة لتقدم أي مجتمع خصوصا ونحن نعيش عصر التقنية والمعلوماتية. وبالتالي فنحن بحاجة إلى آلية لتنظيم البيانات (والتي أصبحت في عصرنا كبيرة ومتنوعة) والمحافظة عليها من التلف وضمان أمنها.
سهولة إدارتها
سهولة في التخزين والإضافة والتعديل
وسرعة في البحث والاستعلام
التحليل الإحصائي
سهولة وسرعة استخراج التقارير
خواص قواعد البيانات
  • تمثل بعض مظاهر العالم الحقيقي. أي إنها تمثل حالة من حالات البيانات التي تصف موضوع حقيقي
  • تمثل مجموعة من البيانات المتلاصقة منطقيا وتحتوي على معنى ضمني
  • يتم تصميمها و تخزين البيانات فيها من أجل غرض معين
مميزات قواعد البيانات :
1- تحاشي تكرار البيانات : بحيث يتم الوصول الى صيغة يكون فيها التكرار مسيطراً علية ويقتصر التكرار على الجوانب الخاصة باتصال البيانات بعضها ببعض .
2- تجانس البيانات: ويقصد بها السيطرة على عمليات الاضافة والحذف والتعديل بشكل يحافظ على بنية متجانسة داخل قواعد البيانات .
3- قابلية التطور عند وجود متطلبات جديدة أو بناء نظام جديد .
4- استقلالية البيانات عن البرامج .
5- سهولة استرجاع البيانات بالشكل الذي تفرضه رؤية المستخدم ومتطلبات النظام.
6- إمكانية مشاركة أكثر من مستخدم في الوصول الى البيانات والتعامل معها .
7- إمكانية اتصال أكثر من نظام بقاعدة البيانات .
8- السرية والتحكم .
بعد التحدث عن مميزات قواعد البيانات نأتي الى موضوع أنظمة الملفات التقليدية الذي كان سائداً استخدامه قبل استخدام قواعد البيانات .
نظم ملفات البيانات (File Systems)

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

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



أمثلة نظم إدارة قواعد البيانات
يمكن إنتاج و معالجة قاعدة البيانات باستخدام الحاسب الآلي بواسطة مجموعة من البرامج التطبيقية المصممة خصيصاً لهذا الغرض أو بواسطة نظم إدارة قواعد البيانات (DBMS) مثل:
  • MS-Access
  • Oracle
  • MS-Sql
  • Sybase
  • Power Builder
  • Informix

الفرق بين نظم قواعد البيانات ونظم الملفات التقليدية
يوجد العديد من الخواص الموجودة في نظم قواعد البيانات والغير متوفرة في نظم الملفات التقليدية وهي:

الوصف الذاتي للبيانات (Self-Description Nature):
تحتوى قواعد البيانات علي البيانات ووصف البيانات وذلك عن طريق إنشاء فهرس البيانات والذي يحتوي على ما يسمى (Meta-data)

الفصل بين البرامج والبيانات(Program/Data Insulation):
لا تحتوى البرامج على وصف البيانات بل يوجد فصل بينهما مما يتيح إمكانية تعديل شكل البيانات بدون الحاجة لتعديل البرامج.

المشاركة في البيانات والتعامل مع العديد من المستخدمين (Data Sharing and Multi-user system):
تتيح قواعد البيانات المشاركة في استخدام البيانات وكذلك تعطي إمكانية تعامل العديد من المستخدمين مع نفس قواعد البيانات في نفس الوقت بدون مشاكل

إمكانية التقليل إلى حد كبير من تكرار البيانات والفهرسة
مما يتيح سهولة البحث والتوفير في المساحة التي تشغلها البيانات في الذاكرة



نظام إدارة قواعد البيانات (Database Management System DBMS)
نظام إدارة قواعد البيانات: هو مجموعة من البرامج التي يمكن استخدامها في إنشاء و معالجة قاعدة بيانات.
ويمكن لنا أن تصمم قاعدة بيانات واحدة تستخدم مع العديد من البرامج والتطبيقات.
تسمى قواعد البيانات + نظم إدارة قواعد البيانات بنظم قواعد البيانات
)قواعد البيانات + نظم إدارة قواعد البيانات ← نظم قواعد البيانات(
(Database (DB) + DBMS → Database System (DBS))

















مكونات نظام قاعدة البيانات:
         
يتكون نظام قاعدة البيانات من أربعة مكونات أساسية هي:
1.البيانات:
تتوافر قواعد البيانات على الحاسبات الصغيرة والشخصية كما تتوافر على الحاسبات الكبيرة وتعتمد كفاءة النظام على قدرة وإمكانيات الكيان الآلي للحاسب، فالحاسبات الشخصية توفر قاعدة بيانات لمستخدم واحد بينما الحاسبات الكبيرة توفر قاعدة بيانات لعدد من المستخدمين يشاركون على البيانات المتاحة ،يجب أن تتصف البيانات بالتكاملية و عدم التكرارية وإمكانية المشاركة عليها ،و عموماً دون بيانات دقيقة ومنطقية وصحيحة فلا معنى لقاعدة البيانات.

2.المعدات:
ترتكن قواعد البيانات على الأقراص المغناطيسية ارتكاناً كبيراً علاوةً على وحدات من الشرائط الكثيفة كوحداتBACK UP احتياطية لتخزين البيانات للظروف الطارئة.

3.البرامج(نظم إدارة قواعد البيانات):
وهي الطبقة الوسيطة بين البيانات المخزنة في الملفات أعلى الأقراص و بين مستخدمي قاعدة البيانات، وأبرز هذه البرامج برنامج مدير قاعدة البيانات DBMS وهو عبارة عن برنامج بالغ التعقيد باهظ الثمن ويحتاج من مختص قاعدة البيانات قدراً علياً و معرفياً كبيراً للتعامل إذ أنه يتولى السيطرة على العناصر الآلية والبرمجية للقاعدة بالتعاون مع نظام التشغيل فيما هو مبين بالشكل(10-1).
4.مستخدمو قواعد البيانات:
وينقسمون إلى ثلاث فئات:
• مخططو البرامج الذين يكتب برامجهم و يستخدمون إمكانيات قاعدة البيانات.
• مختصو قواعد البيانات ، و هم المسئولون عن صيانة و تشغيل قاعدة البيانات.
• المستخدمون لقواعد البيانات الذين يتعاملون مع قاعدة البيانات عبر النهايات الطرفية. 
مدير قواعد البيانات(DBA):
يقوم بإدارة قواعد البيانات والتحكم في صلاحيات العمل ومراقبة النظام وتحسين أداء قواعد البيانات.
مصمم قواعد البيانات (DB Designer):
يقوم بتصميم قواعد البيانات ليتم إنشائها وبنائها بطريقة ذات كفاءة عالية طبقا لمتطلبات المستخدم.

مستخدم قواعد البيانات (End User):
بعض المستخدمين يكون لديهم الخبرة الكافية لإعداد الاستفسارات المطلوبة بلغة الاستفسارات، وبعض المستخدمين ليس لديهم الخبرة فيتم إنشاء برامج خاصة لهم يقومون بتشغيلها للحصول على المطلوب.

محلل النظم ومبرمج النظم(Analyst & Programmer):
-يقوم بتحديد متطلبات المستخدم وتطوير هذه المواصفات المطلوبة لتحديد المطلوب من قواعد البيانات.
-بينما يقوم مبرمج النظم بتنفيذ المتطلبات لإنشاء التطبيقات المناسبة
-هندسة النظم هي عملية تحليل النظام بالإضافة لعملية إنشاء البرامج التطبيقية
( محلل النظم + مبرمج النظممهندس النظم)
( Analyst + Programmer → Software Engineer)

متى لا نستخدم قواعد البيانات؟
  • إذا كانت تكلفة الإعداد عالية بالنسبة لحجم المشروع
  • إذا كانت قاعدة البيانات و التطبيقات بسيطة و سهلة
  • إذا كان المشروع يحتاج لسرعة استجابة عالية جدا وبشكل ضروري
  • إذا كان العمل لا يحتاج إلى بيئة ذات عدة مستخدمين

أشخاص يتعاملون مع قواعد البيانات بطريقة غير مباشرة
هؤلاء لا يهتمون بقواعد البيانات ذاتها ولكنهم يقدمون لمستخدم قواعد البيانات البيئة اللازمة لهم وهم:

مصممو ومنفذو نظم إدارة قواعد البيانات:
يقومون بتصميم وتنفيذ نظم إدارة قواعد البيانات نفسها(ms-access).
مطورو البرامج المساعدة:
يقومون بتطوير البرامج المساعدة مثل برامج تحليل النظم، تصميم النظم، إنشاء وتطوير التطبيقات، إنشاء التقارير وواجهات التطبيق.
المشغلون وأفراد الصيانة:
يقومون بتشغيل النظم وإدارتها وصيانتها وكذلك صيانة البرامج والأجهزة المستخدمة في إنشاء وتطوير قواعد البيانات.
-بهاء الدين احمد-

0 التعليقات:

إرسال تعليق

تابعنا على

اختر لون الخلفية المناسب لك.

تستطيع تغيير خلفية الموقع حسب ما تريد بالضغط على اللون المراد تغييره.