قواعد البيانات PDF

Document Details

AstonishingRomanArt

Uploaded by AstonishingRomanArt

المعهد العالي للتسويق والتجارة ونظم المعلومات

2024

د‪ /‬مريم سامى محمد

Tags

قواعد البيانات نظم إدارة قواعد البيانات لغة اإلستعلامات الهيكلية علوم الحاسب

Summary

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

Full Transcript

‫وزارة التعليم العالي‬ ‫المعهد العالي للتسويق والتجارة‬ ‫ونظم المعلومات‬ ‫قواعد البيانات‬ ‫‪Databases‬‬ ‫د‪ /‬مريم سامى محمد‬ ‫دكتوراه فى علوم الحاسب‬ ‫مدرس بالمعهد...

‫وزارة التعليم العالي‬ ‫المعهد العالي للتسويق والتجارة‬ ‫ونظم المعلومات‬ ‫قواعد البيانات‬ ‫‪Databases‬‬ ‫د‪ /‬مريم سامى محمد‬ ‫دكتوراه فى علوم الحاسب‬ ‫مدرس بالمعهد العالى للتسويق والتجارة ونظم المعلومات‬ ‫‪2024-2025‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫المحتويات‬ ‫‪4‬‬ ‫مقدمة‬ ‫‪6‬‬ ‫الفصل األول‪ :‬مقدمة فى قواعد البيانات‬ ‫‪8‬‬ ‫مفاهيم قواعد البيانات‬ ‫‪14‬‬ ‫تطور أنظمة قواعد البيانات‬ ‫‪20‬‬ ‫أنواع قواعد البيانات‬ ‫‪39‬‬ ‫دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة االلكترونية‬ ‫‪43‬‬ ‫الفصل الثانى‪ :‬بناء قواعد البيانات‬ ‫نظم إدارة قواعد البيانات ‪Database management systems‬‬ ‫‪45‬‬ ‫)‪(DBMS‬‬ ‫‪50‬‬ ‫مكونات نظم إدارة قواعد البيانات ‪DBMS components‬‬ ‫‪60‬‬ ‫بناء نظم إدارة قواعد البيانات ‪DBMS Architecture‬‬ ‫‪67‬‬ ‫الفصل الثالث‪ :‬نمذجة البيانات ‪Data Modeling‬‬ ‫نموذج عالقة الكيانات ‪Entity-Relationship Diagram‬‬ ‫‪69‬‬ ‫)‪(ERD‬‬ ‫‪76‬‬ ‫العالقات بين الكيانات ‪Relationships‬‬ ‫‪92‬‬ ‫مثال على إنشاء نموذج ‪ERD‬‬ ‫‪96‬‬ ‫الفصل الرابع‪ :‬قواعد البيانات العالقية ‪Relational DB‬‬ ‫‪98‬‬ ‫مفاهيم قواعد البيانات العالقية‬ ‫‪2‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪109‬‬ ‫تحويل نموذج )‪ (ERD‬إلى مخططات العالقات ‪DB schema‬‬ ‫‪121‬‬ ‫الفصل الخامس‪ :‬لغة االستعالمات الهيكلية ‪SQL‬‬ ‫‪123‬‬ ‫أساسيات لغة ‪SQL‬‬ ‫‪129‬‬ ‫أوامر ‪ SQL‬للتعامل مع قاعدة البيانات‬ ‫‪131‬‬ ‫أوامر ‪ SQL‬للتعامل مع الجداول‬ ‫‪182‬‬ ‫الفصل السادس‪ :‬تطبيع قواعد البيانات ‪Normalization‬‬ ‫‪184‬‬ ‫مفهوم تطبيع قواعد البيانات‬ ‫‪186‬‬ ‫أشكال تطبيع قواعد البيانات‬ ‫‪192‬‬ ‫المراجع‬ ‫‪3‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫مقدمة‪:‬‬ ‫قواعد البيانات هي مجموعات منظمة من البيانات التي تتيح تخزين‬ ‫واسترجاع وإدارة المعلومات بشكل فعال‪.‬في جوهرها‪ ،‬تقوم قواعد البيانات‬ ‫بتنظيم البيانات بطريقة تسمح بالوصول إليها وتحديثها وتحليلها بسهولة‪،‬‬ ‫وهو أمر بالغ األهمية لمختلف الصناعات والتطبيقات‪.‬مع صعود التحول‬ ‫الرقمي‪ ،‬تعتمد الشركات اليوم بشكل كبير على قواعد البيانات لتبسيط‬ ‫العمليات‪ ،‬وتعزيز اتخاذ الق اررات‪ ،‬والحفاظ على ميزة تنافسية‪.‬من إدارة‬ ‫العمالء إلى تتبع المعامالت المالية‪ ،‬تعد قواعد البيانات العمود الفقري‬ ‫للبنية التحتية لتكنولوجيا المعلومات في أي مؤسسة حديثة‪.‬‬ ‫في بيئة األعمال‪ ،‬ال غنى عن قواعد البيانات لتحسين الكفاءة التشغيلية‪.‬‬ ‫فهي تُمكن الشركات من أتمتة العمليات وتقليل التكرار وضمان سالمة‬ ‫البيانات‪.‬من خالل استخدام قواعد البيانات‪ ،‬يمكن للشركات مركزية‬ ‫بياناتها‪ ،‬مما ُيحسن التعاون ويتيح الوصول الفوري إلى المعلومات‬ ‫التجارية الحيوية‪.‬سواء كان األمر يتعلق بتتبع المخزون أو إدارة عالقات‬ ‫‪4‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫حيويا في‬ ‫ً‬ ‫دور‬ ‫العمالء أو معالجة المعامالت‪ ،‬تلعب قواعد البيانات ًا‬ ‫ضمان أداء هذه المهام بدقة وكفاءة‪.‬‬ ‫عالوة على ذلك‪ ،‬في االقتصاد القائم على البيانات اليوم‪ ،‬تستفيد الشركات‬ ‫من قواعد البيانات للحصول على رؤى قابلة للتنفيذ‪.‬من خالل تحليالت‬ ‫البيانات المتقدمة‪ ،‬يمكن للشركات تحليل مجموعات البيانات الكبيرة‬ ‫الكتشاف االتجاهات وتحسين استراتيجيات التسويق وتعزيز رضا‬ ‫أيضا‬ ‫العمالء‪.‬وهذا يجعل من قواعد البيانات ليس فقط حالً للتخزين‪ ،‬بل ً‬ ‫أداة استراتيجية تدفع الذكاء التجاري واالبتكار‪.‬ونتيجة لذلك‪ ،‬أصبح القدرة‬ ‫على إدارة وتحليل البيانات من خالل قواعد البيانات أحد العوامل‬ ‫األساسية التي تميز الشركات الناجحة في السوق التنافسية اليوم‪.‬‬ ‫‪5‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫الفصل األول‬ ‫مقدمة فى قواعد البيانات ‪Databases‬‬ ‫فى نهاية هذا الفصل تتحقق األهداف التعليمية اآلتية‪:‬‬ ‫‪.1‬يشرح مفاهيم قواعد البيانات‬ ‫‪.2‬يناقش أهمية قواعد البيانات في التطورات التكنولوجية الحديثة‪.‬‬ ‫‪.3‬يعرف تطور أنظمة قواعد البيانات‬ ‫‪.4‬يقارن بين أنواع قواعد البيانات‬ ‫‪.5‬يشرح دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة‬ ‫االلكترونية‬ ‫‪6‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫يتناول هذا الفصل الموضوعات التالية‪:‬‬ ‫ مفاهيم قواعد البيانات‬ ‫ تطور أنظمة قواعد البيانات‬ ‫ أنواع قواعد البيانات‬ ‫ دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة‬ ‫االلكترونية‬ ‫‪7‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ 1-1‬مفاهيم قواعد البيانات‪:‬‬ ‫▪ البيانات والمعلومات ‪Data vs Information‬‬ ‫البيانات ‪:Data‬‬ ‫البيانات هي الحقائق واألرقام الخام غير المعالجة التي تفتقر إلى‬ ‫قاما‪ ،‬كلمات‪ ،‬قياسات‪ ،‬ومالحظات‪.‬‬‫السياق‪.‬قد تشمل أر ً‬ ‫مثل‪ 10" ،"2024-09-19" :‬درجات مئوية"‪" ،‬نيويورك"‪.‬‬ ‫أنواع البيانات‪:‬‬ ‫خزن ً‬ ‫غالبا في قواعد البيانات‬ ‫ البيانات المنظمة‪ :‬منظمة وتُ ّ‬ ‫(مثل الجداول وجداول البيانات)‪.‬‬ ‫ البيانات غير المنظمة‪ :‬تفتقر إلى تنسيق محدد مسبًقا (مثل‬ ‫رسائل البريد اإللكتروني ومحتوى وسائل التواصل‬ ‫االجتماعي)‪.‬‬ ‫ البيانات شبه المنظمة‪ :‬ال تتناسب بدقة مع الجداول (مثل‬ ‫‪.)JSON ،XML‬‬ ‫‪8‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫المعلومات ‪:Information‬‬ ‫المعلومات هي البيانات التي تمت معالجتها أو تنظيمها أو عرضها‬ ‫لتكون ذات معنى وفائدة‪.‬توفر سياًقا وأهمية وهدًفا‪.‬‬ ‫مثل‪" :‬درجة الح اررة في نيويورك بتاريخ ‪ 2024-09-19‬كانت ‪10‬‬ ‫درجات مئوية‪".‬‬ ‫الفرق بين البيانات والمعلومات‪:‬‬ ‫‪ -‬البيانات الخام مقابل المعلومات المفيدة‪ :‬البيانات هي المدخالت‪،‬‬ ‫بينما المعلومات هي المخرجات بعد المعالجة‪.‬‬ ‫‪ -‬المعلومات تُساعد في اتخاذ الق اررات‪.‬‬ ‫قواعد البيانات ‪:Databases‬‬ ‫قاعدة البيانات هي أداة لتجميع المعلومات وتنظيمها وإدارتها‪.‬يمكن‬ ‫لقواعد البيانات تخزين المعلومات حول األشخاص أو المنتجات أو‬ ‫الطلبات أو أي شيء آخر‪.‬يتم تخزين البيانات في قاعدة البيانات بشكل‬ ‫فعال‪.‬‬ ‫منظم ومهيكل‪ ،‬مما يسمح بالبحث عنها وتعديلها بشكل ّ‬ ‫‪9‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫تظهر العديد من المشاكل كلما زاد حجم البيانات المخزنة فى شكل قائمة‪،‬‬ ‫تبدأ حاالت عدم التناسق والتكرار في الظهور بين البيانات‪.‬يصبح من‬ ‫الصعب فهم البيانات في نموذج القائمة‪ ،‬كما تكون طرق البحث عن‬ ‫المجموعات الفرعية للبيانات أو سحبها للمراجعة محدودة‪.‬وبمجرد ظهور‬ ‫تلك المشاكل‪ ،‬يكون من األفضل نقل البيانات إلى قاعدة بيانات تم‬ ‫إنشاؤها بواسطة نظام إدارة قاعدة البيانات (‪ ،)DBMS‬مثل ‪.Access‬‬ ‫تمتلك قاعدة البيانات الخصائص الضمنية التالية‪:‬‬ ‫أحيانا‬ ‫ تمثل قاعدة البيانات بعض جوانب العالم الحقيقي‪ ،‬وتسمى ً‬ ‫"العالم المصغر" (‪.)UoD – Universe of Domain‬يتم‬ ‫عكس التغييرات التي تحدث في العالم المصغر في قاعدة‬ ‫البيانات‪.‬‬ ‫منطقيا من البيانات التي‬ ‫ً‬ ‫ قاعدة البيانات هي مجموعة متماسكة‬ ‫لها معنى جوهري‪.‬ال يمكن اإلشارة إلى مجموعة عشوائية من‬ ‫البيانات بشكل صحيح على أنها قاعدة بيانات‪.‬‬ ‫ تم تصميم قاعدة البيانات وبناؤها وملؤها بالبيانات لهدف معين‪.‬‬ ‫لديها مجموعة محددة من المستخدمين وتطبيقات محددة مسبًقا‬ ‫يهتم‬ ‫‪10‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫ بمعنى آخر‪ ،‬قاعدة البيانات لديها مصدر يتم منه استخراج‬ ‫البيانات‪ ،‬وتفاعل معين مع األحداث في العالم الحقيقي‪،‬‬ ‫وجمهور يهتم بمحتوياتها بشكل فعال‪.‬قد يقوم المستخدمون‬ ‫النهائيون لقاعدة البيانات بإجراء معامالت تجارية (على سبيل‬ ‫المثال‪ ،‬يقوم عميل بشراء كاميرا) أو قد تحدث أحداث (على‬ ‫سبيل المثال‪ ،‬موظف يرزق بطفل) تؤدي إلى تغيير المعلومات‬ ‫في قاعدة البيانات‪.‬لكي تكون قاعدة البيانات دقيقة وموثوقة في‬ ‫حقيقيا للعالم المصغر‬ ‫ً‬ ‫انعكاسا‬ ‫ً‬ ‫جميع األوقات‪ ،‬يجب أن تكون‬ ‫الذي تمثله؛ لذلك يجب أن تنعكس التغييرات في قاعدة البيانات‬ ‫في أسرع وقت ممكن‪.‬‬ ‫يمكن أن تكون قاعدة البيانات بأي حجم أو تعقيد‪.‬على سبيل المثال‪،‬‬ ‫قد تتكون قائمة األسماء والعناوين المشار إليها سابًقا من بضع مئات‬ ‫من السجالت‪ ،‬كل منها ذات هيكل بسيط‪.‬من ناحية أخرى‪ ،‬قد يحتوي‬ ‫الفهرس المحوسب لمكتبة كبيرة على نصف مليون كتاب بمدخالت‬ ‫منظمة تحت فئات مختلفة حسب اسم المؤلف الرئيسي‪ ،‬أو الموضوع‪،‬‬ ‫أبجديا‪.‬‬ ‫ً‬ ‫أو عنوان الكتاب حيث يتم تنظيم كل فئة‬ ‫‪11‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫يمكن أن يتم إدارة قاعدة بيانات ذات حجم وتعقيد أكبر بواسطة شركة‬ ‫تواصل اجتماعي مثل فيسبوك‪ ،‬والتي لديها أكثر من مليار مستخدم‪.‬‬ ‫يجب على قاعدة البيانات االحتفاظ بمعلومات حول المستخدمين‬ ‫المرتبطين ببعضهم كأصدقاء‪ ،‬والمنشورات الخاصة بكل مستخدم‪،‬‬ ‫والمستخدمين المسموح لهم برؤية كل منشور‪ ،‬وكميات هائلة من األنواع‬ ‫األخرى من المعلومات الالزمة للتشغيل السليم لموقع الويب الخاص بهم‪.‬‬ ‫بالنسبة لمثل هذه المواقع‪ ،‬هناك حاجة إلى عدد كبير من قواعد البيانات‬ ‫لتتبع المعلومات المتغيرة باستمرار المطلوبة من قبل موقع التواصل‬ ‫االجتماعي‪.‬‬ ‫مثال على قاعدة بيانات تجارية كبيرة هو موقع ‪ Amazon.com‬تحتوي‬ ‫على بيانات ألكثر من ‪ 60‬مليون مستخدم نشط‪ ،‬وماليين من الكتب‬ ‫واألقراص المدمجة )‪ (CDs‬والفيديوهات وأقراص الـ ‪ DVDs‬واأللعاب‬ ‫واإللكترونيات والمالبس وغيرها من العناصر‪.‬تشغل قاعدة البيانات أكثر‬ ‫من ‪ 42‬تيرابايت (التيرابايت هو ‪ 12^10‬بايت من التخزين) ويتم تخزينها‬ ‫على مئات أجهزة الحاسوب (تُسمى الخوادم)‪.‬يقوم ماليين الزوار‬ ‫يوميا واستخدام قاعدة البيانات إلجراء‬ ‫بالوصول إلى ‪ً Amazon.com‬‬ ‫عمليات الشراء‪.‬يتم تحديث قاعدة البيانات باستمرار مع إضافة كتب‬ ‫‪12‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫جديدة وعناصر أخرى إلى المخزون‪ ،‬ويتم تحديث كميات المخزون مع‬ ‫إتمام عمليات الشراء‪.‬‬ ‫مفاهيم قواعد البيانات األساسية‪:‬‬ ‫ الكيان ‪ :Entity‬كائن أو مفهوم (على سبيل المثال‪ ،‬طالب‪ ،‬دورة‬ ‫تدريبية)‬ ‫ السمة ‪ :Attribute‬سمة الكيان (على سبيل المثال‪ ،‬االسم‬ ‫والمعرف)‬ ‫ العالقة ‪ :Relationship‬العالقة بين الكيانات‬ ‫ المخطط ‪ :Schema‬الهيكل المنطقي لقاعدة البيانات‬ ‫‪13‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ 1-2‬تطور أنظمة قواعد البيانات‬ ‫شهدت قواعد البيانات تطو اًر كبي اًر على مدار العقود الماضية‪ ،‬استجاب ًة‬ ‫الحتياجات متزايدة في تخزين البيانات ومعالجتها وإدارتها بشكل فعال‪.‬‬ ‫فيما يلي مراحل تطور قواعد البيانات‪:‬‬ ‫األنظمة القائمة على الملفات (‪:)1950s-1960s‬‬ ‫قبل ظهور قواعد البيانات‪ ،‬كانت البيانات تُخزن في ملفات مسطحة بشكل‬ ‫غير منظم‪.‬كانت هذه األنظمة تعتمد على الملفات العادية بدون بنية‬ ‫محددة أو تنظيم جيد‪.‬‬ ‫‪ -‬العيوب‪:‬‬ ‫‪ o‬تكرار البيانات‪.‬‬ ‫‪ o‬صعوبة في استرجاع البيانات‪.‬‬ ‫‪ o‬افتقار لألمان والتكامل‪.‬‬ ‫قواعد البيانات الهرمية (‪:)1960s-1670s‬‬ ‫ظهرت قواعد البيانات الهرمية كأحد أول األنواع المنظمة لقواعد البيانات‪.‬‬ ‫تمثل البيانات على شكل شجرة‪ ،‬حيث ترتبط كل عقدة (أو كيان) بكيان‬ ‫أعلى منها‪.‬‬ ‫‪14‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ -‬المزايا‪:‬‬ ‫‪ o‬دعم هيكل هرمي ثابت‪.‬‬ ‫‪ o‬أداء جيد في استرجاع البيانات المرتبطة‪.‬‬ ‫‪ -‬العيوب‪:‬‬ ‫‪ o‬بنية صارمة وغير مرنة‪.‬‬ ‫‪ o‬صعوبة في إدارة العالقات المعقدة (مثل العالقات‬ ‫المتعددة)‪.‬‬ ‫قواعد البيانات الشبكية (‪:)1970s‬‬ ‫ظهرت قواعد البيانات الشبكية كتحسين لقواعد البيانات الهرمية‪ ،‬حيث‬ ‫تسمح بوجود عالقات أكثر تعقيداً بين الكيانات‪.‬‬ ‫‪ -‬المزايا‪:‬‬ ‫‪ o‬إمكانية وجود عالقات متعددة بين الكيانات‪.‬‬ ‫‪ o‬تحسين في سرعة استرجاع البيانات‪.‬‬ ‫‪ -‬العيوب‪:‬‬ ‫‪ o‬بنية معقدة‪.‬‬ ‫‪ o‬صعوبة في التصميم والصيانة‪.‬‬ ‫‪15‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ -‬قواعد البيانات الشبكية (‪ :)Network Databases‬أكثر مرونة‬ ‫من النماذج الهرمية‪ ،‬وتدعم عالقات متعددة (‪many-to-‬‬ ‫‪.)many‬‬ ‫أنظمة قواعد البيانات العالئقية ‪Relational Database -‬‬ ‫‪:)1970s-1980s( Systems‬‬ ‫تم تطوير نموذج قواعد البيانات العالئقية بواسطة إدجار كود ‪(E.F.‬‬ ‫)‪Codd‬في عام ‪.1970‬في هذا النموذج‪ ،‬يتم تخزين البيانات في‬ ‫جداول تحتوي على صفوف وأعمدة‪ ،‬والعالقات بين البيانات تعتمد على‬ ‫المفاتيح األساسية واألجنبية‪.‬واستخدام لغة ‪ SQL‬كلغة استعالم‪.‬أمثلة‬ ‫مشهورة‪ :‬أوراكل ‪.PostgreSQL ،MySQL ،Oracle‬‬ ‫‪ -‬المزايا‪:‬‬ ‫‪ o‬سهولة الفهم والتصميم‪.‬‬ ‫‪ o‬مرونة في التعامل مع البيانات المتغيرة‪.‬‬ ‫‪ o‬دعم لغات مثل ‪ SQL‬السترجاع البيانات‪.‬‬ ‫‪ -‬العيوب‪:‬‬ ‫‪ o‬أداء أقل في التعامل مع البيانات غير المهيكلة أو‬ ‫المعقدة‪.‬‬ ‫‪16‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫قواعد البيانات الكائنية (‪:)1990s‬‬ ‫‪ -‬قواعد البيانات الكائنية تدمج بين مفاهيم قواعد البيانات‬ ‫العالئقية ومفاهيم البرمجة الكائنية (‪ ،)OOP‬حيث تمثل‬ ‫البيانات ككائنات لها خصائص وسلوكيات‪.‬ويتم تخزين‬ ‫البيانات في كائنات بدالً من الجداول‪.‬‬ ‫‪ -‬المزايا‪:‬‬ ‫‪ o‬دعم الكائنات والبيانات المعقدة‪.‬‬ ‫‪ o‬تكامل مع لغات البرمجة الكائنية‪.‬‬ ‫‪ -‬العيوب‪:‬‬ ‫‪ o‬صعوبة في التعلم والتنفيذ مقارنة بقواعد البيانات‬ ‫العالئقية‪.‬‬ ‫قواعد البيانات الموزعة (‪:)s2000‬‬ ‫مع زيادة حجم البيانات وتوزيعها عبر مواقع جغرافية متعددة‪ ،‬ظهرت‬ ‫قواعد البيانات الموزعة‪.‬في هذه األنظمة‪ ،‬يتم توزيع البيانات عبر عدة‬ ‫خوادم‪ ،‬مما يسمح بإمكانية التوسع واألداء العالي‪.‬‬ ‫‪17‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ -‬المزايا‪:‬‬ ‫‪ o‬قابلية التوسع‪.‬‬ ‫‪ o‬تحسين األداء وزيادة التوافر‪.‬‬ ‫‪ -‬العيوب‪:‬‬ ‫‪ o‬تعقيد في إدارة البيانات الموزعة وضمان التناسق‪.‬‬ ‫قواعد البيانات ‪(2010s) NoSQL‬‬ ‫ظهرت قواعد البيانات ‪ NoSQL‬لتلبية الحاجة إلى تخزين البيانات غير‬ ‫المنظمة (مثل النصوص‪ ،‬الصور‪ ،‬الفيديوهات) ومعالجة البيانات الكبيرة‬ ‫في تطبيقات الويب الضخمة مثل فيسبوك وأمازون‪.‬‬ ‫‪ -‬المزايا‪:‬‬ ‫دعم البيانات غير المهيكلة‪.‬‬ ‫‪o‬‬ ‫قابلية التوسع بشكل أفقي‪.‬‬ ‫‪o‬‬ ‫أداء عالي مع البيانات الكبيرة‪.‬‬ ‫‪o‬‬ ‫العيوب‪:‬‬ ‫ ‬ ‫عدم دعم العالقات المعقدة مثل قواعد البيانات‬ ‫‪o‬‬ ‫العالئقية‪.‬‬ ‫افتقار لبعض المعايير القياسية مثل‪SQL.‬‬ ‫‪o‬‬ ‫‪18‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫قواعد البيانات السحابية والبيانات الضخمة )‪(Big Data‬‬ ‫)‪:(2020s‬‬ ‫مع التحول إلى التخزين السحابي وزيادة البيانات الضخمة‪ ،‬تعتمد‬ ‫الشركات بشكل متزايد على قواعد البيانات السحابية التي تدير كميات‬ ‫هائلة من البيانات عبر اإلنترنت‪.‬تعتمد هذه األنظمة على تقنيات مثل‬ ‫‪ Hadoop‬و‪ Spark‬لتحليل ومعالجة البيانات الضخمة‪.‬‬ ‫‪-‬المزايا‪:‬‬ ‫‪ o‬مرونة كبيرة في التخزين والوصول‪.‬‬ ‫‪ o‬دعم البيانات الضخمة والتحليالت المتقدمة‪.‬‬ ‫‪ o‬تكاليف أقل مقارنة باألنظمة التقليدية‪.‬‬ ‫‪-‬العيوب‪:‬‬ ‫‪ o‬قد تكون هناك مشكالت تتعلق باألمان والخصوصية‪.‬‬ ‫‪19‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ 1-3‬أنواع قواعد البيانات ‪Database types‬‬ ‫▪ قواعد البيانات العالئقية ‪(Relational Databases -‬‬ ‫)‪RDBMS‬‬ ‫تخزن البيانات في جداول )‪ (tables‬حيث يتكون كل جدول من صفوف‬ ‫)‪ (rows‬وأعمدة (‪.)columns‬تُنظم البيانات عادةً في هياكل وعالقات‬ ‫جيدا‪.‬تُخزن البيانات بتنسيق منظم باستخدام المخططات‬ ‫محددة ً‬ ‫(‪.)schemas‬وتستخدم ‪( SQL‬لغة االستعالمات الهيكلية) لالستعالم‬ ‫وإدارة البيانات‪.‬وتستخدم مثالً فى األنظمة المالية‪ ،‬منصات التجارة‬ ‫اإللكترونية‪ ،‬إدارة عالقات العمالء)‪ ، (CRM‬وأنظمة تخطيط موارد‬ ‫المؤسسات )‪ (ERP‬والتطبيقات المؤسسية‪.‬‬ ‫أمثلة‪:‬‬ ‫‪ : MySQL‬قاعدة بيانات عالئقية مفتوحة المصدر تستخدم على‬ ‫ ‬ ‫نطاق واسع في تطوير الويب‪.‬‬ ‫‪ : Oracle‬قاعدة بيانات عالئقية تجارية معروفة بقوتها وقابليتها‬ ‫ ‬ ‫للتوسع‪.‬‬ ‫‪ : PostgreSQL‬قاعدة بيانات عالئقية مفتوحة المصدر معروفة‬ ‫ ‬ ‫بدعمها لالستعالمات المعقدة وتوسعها‪.‬‬ ‫‪20‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫معامالت قاعدة البيانات ‪: Transactions‬‬ ‫هي العملية أو العمليات التي تتم على جدول أو عدة عدة جداول‬ ‫وتعتمد على بعضها و يتم إجراؤها في قاعدة بيانات ‪ ،‬مثل إنشاء‬ ‫سجل أو عدة سجالت أو تحديث بيانات سجل أو مجموعة سجالت‪.‬‬ ‫فثالً لو أن نظام مدرسي عند تسجيل طالب جديد في جدول الطالب‬ ‫يتم ايضاً انشاء مستخدم لهذا الطالب (انشاء سجل في جدول‬ ‫المستخدمين) باإلضافة إلى إدخال البيانات المالية للطالب (رسوم‬ ‫دراسية ‪ ،‬مواعيد استحقاقها وما إلى ذلك) فمن األولى هنا أن تتم‬ ‫العمليتان في ‪ transaction‬واحد وذلك لنضمن أن كافة العمليات‬ ‫قد نجحت جميعها وفي حال تمت العملية األولى مثالً (اضافة‬ ‫الطالب الى جدول الطالب) ولكن فشلت عملية انشاء المستخدم‬ ‫لسبب ما أو عملية تقييد المبالغ ‪ ،‬فهنا سيتم الغاء عملية تسجيل‬ ‫الطالب ايضاً‪ ،‬فنحن ال نريد هنا فقط عملية تخزين بيانات الطالب‬ ‫بل نريد كل العمليات أن تتم مرة واحدة وككتلة واحدة‪.‬‬ ‫التغييرات في قاعدة البيانات يجب أن يتم إجراؤها بعناية لضمان‬ ‫سالمة البيانات‪ ،‬فيعد تطبيق خصائص ‪ ACID‬على كل تعديل هو‬ ‫أفضل نهج يمكن اتباعة لتحقيق أفضل النتائج‪.‬‬ ‫‪21‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫تلتزم قواعد البيانات بخصائص ال ‪( ACID‬شكل ‪ )1-1‬وهي‬ ‫مجموعة من المعايير والمبادئ األساسية التي تضمن معالجة‬ ‫العمليات في المعامالت (‪ )Transactions‬التي تجري في قاعدة‬ ‫البيانات بشكل موثوق‪.‬وبذلك فإننا سنحصل على قواعد بيانات آمنة‬ ‫ومستقرة و ذات قدر كبير من التكاملية لتخدم األغراض التي‬ ‫استخدمت ألجلها بأفضل طريقة ممكنة‪.‬فمن المؤكد أن قاعدة‬ ‫البيانات التي تحتوي على بيانات تالفة تمثل مشكالت كبيرة قد تكون‬ ‫كلفتها باهضة ‪.‬إذ تعتبر المخزن والسجل الذي تستند عليه‬ ‫المؤسسات والمشاريع في تعامالتها اليومية وفي قياس النتائج‬ ‫واستخالص التقارير بجميع أنواعها‪.‬هذه الخصائص تضمن أن‬ ‫العمليات على البيانات تتم بشكل موثوق وتحتفظ بسالمتها حتى في‬ ‫حاالت األخطاء أو األعطال‪.‬ويشير المصطلح ) ‪ (ACID‬للحروف‬ ‫األولى من‪:‬‬ ‫‪- Atomicity‬‬ ‫‪- Consistency‬‬ ‫‪- Isolation‬‬ ‫‪- Durability‬‬ ‫‪22‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫شكل (‪ - )1-1‬خصائص ‪ ACID‬في نظم إدارة قواعد البيانات‬ ‫الذرية (‪:)Atomicity‬‬ ‫ويقصد بها مكون غير قابل للتجزئة ‪ ،‬وفي قواعد البيانات تعني أن كل‬ ‫عملية قاعدة بيانات تتم بشكل كامل أو ال تتم على اإلطالق‪.‬إذا كان‬ ‫هناك عملية تتضمن عدة خطوات‪ ،‬فإن جميع هذه الخطوات يجب أن‬ ‫معا أو يتم التراجع عن كل خطوة إذا فشلت أي منها‪.‬ويحدث ذلك‬ ‫تنجح ً‬ ‫‪23‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫كثي اًر في العمليات المترابطة مع بعضها فمثالً في التعامالت المالية لو‬ ‫اننا نتحدث عن عملية شراء في متجر إلكتروني وتم انشاء الطلب بنجاح‬ ‫ولكن عند عملية الدفع حدث خطأ ما أدى إلى فشل تحويل أو تقييد‬ ‫المبلغ فهنا سيتم إلغاء الطلب‪.‬وهو إجراء بالغ األهمية يهدف لمنع‬ ‫األخطاء والمشاكل التي قد تنتج من إنشاء حاالت غير المكتملة أو تم‬ ‫فيها إنهاء المعاملة جز ًئيا‪.‬هذا يضمن أن قاعدة البيانات ال تبقى في‬ ‫حالة غير متسقة بسبب عملية غير مكتملة‪.‬‬ ‫ال تساق (‪:)Consistency‬‬ ‫تعني أن كل عملية على قاعدة البيانات يجب أن تحول قاعدة البيانات‬ ‫من حالة متسقة إلى حالة متسقة أخرى‪.‬يتأكد هذا المعيار من أن البيانات‬ ‫المدخلة أو المعدلة صحيحة وسليمة ومطابقة للشروط وصالحة‬ ‫لالستخدام‪ ،‬ما لم سيتم إلغاء العملية أو مجموعة العمليات‪.‬ويتضمن‬ ‫االتساق الحفاظ على القواعد والعالقات المضمنة في قاعدة البيانات‪.‬أي‬ ‫أن البيانات يجب أن تكون مطابقة للشروط والضوابط المحددة في قاعدة‬ ‫البيانات فمثالً لو أن هناك عملية تحدث في نظام بنكي وتتضمن هذه‬ ‫العملية سحب مبلغ من حساب عميل ما وإضافته إلى حساب عميل أخر‬ ‫(تحويل من حساب إلى حساب) فلو أن المبلغ المتوفر في حساب العميل‬ ‫‪24‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫األول أقل من المبلغ المراد تحويله فمن األولى أن ال تتم العمليتان‬ ‫بسبب عدم توفر الرصيد الكافي وفي مثال آخر لو أن المدخالت مثالً‬ ‫ال تطابق نوع الحقل أو إدخال قيم فارغة لحقل مطلوب أو ادخال قيم‬ ‫نصية في حقل رقمي‪.‬‬ ‫مثال‪ :‬لنعتبر أن لدينا متغيرين ‪ x‬و ‪ y‬ويوجد تنفيذ عمليتين متزامنتين‬ ‫‪T1‬و‪ T2‬كما هو موضح بالجدول (‪)1-1‬‬ ‫جدول رقم (‪ – )1-1‬اإلتساق بين عمليتين ‪ T1‬و‪T2‬‬ ‫المعاملة‪.‬‬ ‫وبعد‬ ‫قبل‬ ‫الكلي‬ ‫المجموع‬ ‫على‬ ‫الحفاظ‬ ‫يجب‬ ‫المجموع الكلي قبل تنفيذ المعاملة‪T = 500 + 200 = 700.‬‬ ‫المجموع الكلي بعد تنفيذ المعاملة‪T = 400 + 300 = 700.‬‬ ‫لذلك‪ ،‬تكون قاعدة البيانات متسقة‪.‬يحدث عدم االتساق في حالة اكتمال‬ ‫‪T1‬وفشل ‪ T2.‬ونتيجة لذلك‪ ،‬تكون المعاملة ‪ T‬غير مكتملة‪.‬‬ ‫‪25‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫العزل (‪:)Isolation‬‬ ‫تعني أن العمليات المتزامنة يجب أن تكون منعزلة عن بعضها البعض‪.‬‬ ‫كل عملية يجب أن تكون غير متأثرة بالعمليات األخرى التي تحدث في‬ ‫الوقت نفسه‪ ،‬كما لو كانت تعمل في قاعدة بيانات مستقلة‪.‬هذا يضمن‬ ‫أن العمليات المتزامنة ال تؤدي إلى مشاكل مثل قراءة بيانات غير متسقة‪.‬‬ ‫)‪ (transaction‬تحدث بترتيب مميز دون‬ ‫مما يعني أن كل معاملة‬ ‫حدوث أي معامالت بنفس اللحظة على بيانات معينة قبل انتهاء العملية‬ ‫األولى‪.‬وبعبارات أخرى يهدف العزل من التأكد من أنه لن تتأثر أي‬ ‫عمليات قراءة أو كتابة يتم إجراؤها على قاعدة البيانات بعمليات القراءة‬ ‫والكتابة األخرى للمعامالت (‪ )transactions‬المنفصلة‪ ،‬التي تحدث‬ ‫في نفس قاعدة البيانات‪.‬يتم إنشاء ترتيب عام مع كل معاملة حيث‬ ‫تصطف في طابور لضمان اكتمال المعامالت بالكامل قبل أن تبدأ‬ ‫معاملة أخرى‪.‬‬ ‫‪26‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫مثال‪:‬‬ ‫لنعتبر أن لدينا متغيرين ‪ x‬و ‪ y‬ويوجد تنفيذ عمليتين متزامنتين ‪T‬و ’’‪T‬‬ ‫كما هو موضح بالجدول (‪)2-1‬‬ ‫‪Let X = 500, Y = 500.‬‬ ‫‪Consider two transactions T and T”.‬‬ ‫جدول رقم (‪ – )2-1‬العزل بين عمليتين ‪ T‬و’’‪T‬‬ ‫افترض أن المعاملة ‪ T‬قد تم تنفيذها حتى قراءة )‪ (Y‬ثم بدأت المعاملة‬ ‫''‪ T‬ونتيجة لذلك‪ ،‬يحدث تداخل في العمليات مما يؤدي إلى أن المعاملة‬ ‫''‪ T‬تق أر القيمة الصحيحة لـ ‪ X‬ولكن القيمة غير الصحيحة لـ‪ ، Y‬ويكون‬ ‫المجموع المحسوب بواسطة‪:‬‬ ‫)‪T'': (X + Y = 50,000 + 500 = 50,500‬‬ ‫‪27‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫غير متوافق مع المجموع في نهاية المعاملة‪:‬‬ ‫‪T: X + Y = 50,000 + 450 = 50,450‬‬ ‫يؤدي هذا إلى عدم اتساق قاعدة البيانات بسبب فقدان ‪ 50‬وحدة‪.‬لذلك‪،‬‬ ‫يجب أن تتم المعامالت في عزلة ويجب أن تكون التغييرات مرئية فقط‬ ‫بعد إجرائها في الذاكرة الرئيسية‪.‬‬ ‫الديمومة (‪:)Durability‬‬ ‫تعني أن التغييرات التي تمت على قاعدة البيانات يجب أن تكون دائمة‬ ‫بعد تأكيد العملية )‪ (commit‬حتى في حالة حدوث أعطال أو مشاكل‬ ‫في النظام‪ ،‬يجب أن تبقى التغييرات التي تمت على قاعدة البيانات‬ ‫محفوظة‪.‬‬ ‫معا لضمان أن عمليات قاعدة البيانات تظل‬ ‫تعمل هذه الخصائص ً‬ ‫موثوقة ومتسقة‪ ،‬مما يساعد على الحفاظ على سالمة البيانات وتجنب‬ ‫الفساد أو فقدان المعلومات‪.‬‬ ‫‪28‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫▪ قواعد بيانات‪NoSQL‬‬ ‫تعني”‪ ، “Not Only SQL‬مصممة للتعامل مع البيانات غير‬ ‫المنظمة وشبه المنظمة‪ ،‬قواعد بيانات ‪ NoSQL‬مرنة وقابلة للتوسع‬ ‫محددا مسبًقا مثل قواعد البيانات‬ ‫ً‬ ‫طا‬‫بشكل كبير‪.‬ال تستخدم مخط ً‬ ‫العالئقية‪.‬تم تصميم هذه القواعد للتعامل مع كميات هائلة من البيانات‬ ‫وأنواع البيانات المتنوعة بمرونة عالية وبأداء أسرع في بيئات البيانات‬ ‫الكبيرة )‪ (Big Data‬والتطبيقات الحديثة‪.‬يمكن االستعالم عن قواعد‬ ‫بيانات ‪ NoSQL‬باستخدام واجهات برمجة تطبيقات لغة تعبيرية ولغات‬ ‫استعالم هيكلية إعالنية ولغات نموذجية لالستعالم‪.‬‬ ‫الميزات الرئيسية‪:‬‬ ‫الهيكل غير الثابت )‪ :(Schema-less‬نموذج بيانات مرن‪.‬‬ ‫ ‬ ‫قابلية التوسع )‪ :(Scalability‬مصممة للتوسع األفقي‪.‬‬ ‫ ‬ ‫حسنة ألنواع معينة‬ ‫األداء العالي )‪ُ (High Performance‬م ّ‬ ‫ ‬ ‫من االستعالمات‪.‬‬ ‫‪29‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫أمثلة‪:‬‬ ‫‪ MongoDB‬قاعدة بيانات موجهة للمستندات تستخدم لمرونتها‬ ‫ ‬ ‫وسهولة التوسع‪.‬‬ ‫‪ Redis‬مخزن قيم مفتاحية في الذاكرة معروف بسرعته‪.‬‬ ‫ ‬ ‫‪ Cassandra‬مخزن أعمدة عريضة مناسب للتعامل مع كميات‬ ‫ ‬ ‫كبيرة من البيانات عبر العديد من الخوادم‪.‬‬ ‫حاالت االستخدام‪ :‬منصات وسائل التواصل االجتماعي‪ ،‬تحليالت الوقت‬ ‫الفعلي‪ ،‬نظم إدارة المحتوى‪.‬‬ ‫▪ قواعد البيانات الكائنية ‪(Object-Oriented‬‬ ‫)‪:Databases‬‬ ‫تعتمد قواعد البيانات كائنية التوجه على مفهوم الكائنات‬ ‫المستخدمة في البرمجة الكائنية التوجه )‪. (OOP‬تخزن قواعد البيانات‬ ‫على شكل كائنات تضم كل منها البيانات والوظائف التي تعمل عليها‪.‬‬ ‫تتميز قواعد البيانات كائنية التوجه بتوافق عالي مع لغات البرمجة‬ ‫الكائنية‪ ،‬مما يسهل على المطورين استخدام نفس المفاهيم واألدوات التي‬ ‫يستخدمونها في تطوير البرامج‪.‬كما توفر سهولة في التعامل مع البيانات‬ ‫‪30‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫المعقدة والمتداخلة‪ ،‬مما يجعلها مناسبة لتطبيقات الذكاء االصطناعي‬ ‫ونظم الرسوميات والمحاكاة وتطبيقات الهندسة المعقدة‪.‬باإلضافة إلى‬ ‫ذلك‪ ،‬تتيح هذه القواعد إعادة استخدام الكود والبيانات بشكل فعال‪ ،‬مما‬ ‫يقلل من تكرار الجهود ويعزز من كفاءة التطوير‪.‬تتكامل هذه القواعد‬ ‫بشكل جيد مع لغات تستخدم الكائنات مثل ‪ Java‬و ‪ C++‬و ‪.Python‬‬ ‫تدعم التوريث )‪ ، (inheritance‬التعددية الشكل )‪،(polymorphism‬‬ ‫والتغليف )‪.(encapsulation‬‬ ‫أمثلة‪:‬‬ ‫ ‪ ObjectDB‬قاعدة بيانات كائنية نقية لتطبيقات ‪ Java‬و‬ ‫‪C++‬‬ ‫حاالت االستخدام ‪ :‬التطبيقات الهندسية‪ ،‬أنظمة الوسائط المتعددة‪ ،‬وقواعد‬ ‫بيانات التصميم‪.‬‬ ‫▪ قواعد البيانات السحابية )‪(Cloud Databases‬‬ ‫قواعد البيانات السحابية هي تلك التي يتم استضافتها وإدارتها عبر‬ ‫منصات الحوسبة السحابية‪.‬توفر هذه القواعد مرونة كبيرة في التوسع‬ ‫والتكامل‪ ،‬وتتيح الوصول إلى البيانات من أي مكان وفي أي وقت‪ ،‬مما‬ ‫‪31‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫مثاليا للتطبيقات التي تحتاج إلى توافر عالي للبيانات وسهولة‬ ‫يجعلها حالً ً‬ ‫الوصول‪.‬‬ ‫من أهم مميزات قواعد البيانات السحابية هو خفض التكاليف المرتبطة‬ ‫بالبنية التحتية‪ ،‬حيث ال يتعين على الشركات االستثمار في شراء وصيانة‬ ‫الخوادم والمعدات‪.‬كما تتميز بقابلية التوسع الفوري‪ ،‬مما يتيح للشركات‬ ‫زيادة سعة التخزين والمعالجة حسب الحاجة بدون تعقيدات‪.‬باإلضافة‬ ‫احتياطيا واستعادة بيانات‬ ‫ً‬ ‫نسخا‬ ‫إلى ذلك‪ ،‬توفر قواعد البيانات السحابية ً‬ ‫محسنة‪ ،‬مما يعزز من أمان البيانات وسالمتها‪.‬‬ ‫تستخدم قواعد البيانات السحابية في تطبيقات الويب والتجارة اإللكترونية‬ ‫التي تتطلب توافر عالي للبيانات وسهولة الوصول من أي مكان‪،‬‬ ‫ومنصات التحليالت الضخمة التي تحتاج إلى تخزين ومعالجة كميات‬ ‫كبيرة من البيانات بسرعة‪ ،‬وخدمات التطبيقات السحابية التي تتطلب بنية‬ ‫تحتية مرنة وقابلة للتوسع‪.‬تُقدم هذه القواعد كخدمة ‪(Database as‬‬ ‫)‪a Service - DBaaS‬من قبل مزودي الخدمات السحابية‬ ‫مثل )‪،Microsoft Azure ،Amazon Web Services (AWS‬‬ ‫و ‪Platform (GCP) Google Cloud‬‬ ‫‪32‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫يمكن للمستخدمين الوصول إلى قواعد البيانات هذه عبر اإلنترنت‬ ‫باستخدام واجهات برمجة التطبيقات )‪ (APIs‬أو أدوات إدارة قواعد‬ ‫البيانات‪.‬‬ ‫األنواع الرئيسية لقواعد البيانات السحابية‪:‬‬ ‫توجد عدة أنواع من قواعد البيانات السحابية‪ ،‬والتي يمكن تقسيمها إلى‬ ‫فئات رئيسية تشمل‪:‬‬ ‫‪ -‬قواعد البيانات العالئقية (‪:)Relational Databases‬‬ ‫تعتمد على النموذج العالئقي لتنظيم البيانات في جداول مترابطة‪.‬‬ ‫تُستخدم لغة )‪ SQL (Structured Query Language‬إلدارة‬ ‫واستعالم البيانات‪.‬‬ ‫أمثلة‪Azure SQL ،Google Cloud SQL ،Amazon RDS :‬‬ ‫‪.Database‬‬ ‫‪ -‬قواعد البيانات غير العالئقية (‪:)NoSQL Databases‬‬ ‫تُصمم للتعامل مع كميات ضخمة من البيانات غير المنظمة أو شبه‬ ‫المنظمة‪.‬تدعم نماذج بيانات مختلفة مثل الوثائق‪ ،‬الرسومات‪ ،‬األطر‬ ‫الزمنية‪.‬‬ ‫‪33‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫أمثلة‪Google ،MongoDB Atlas ،Amazon DynamoDB :‬‬ ‫‪.Cloud Firestore‬‬ ‫المدارة بالكامل ( ‪Fully Managed‬‬ ‫‪ -‬قواعد البيانات ُ‬ ‫‪:)Databases‬‬ ‫تُدار بشكل كامل من قبل مزودي الخدمات السحابية‪ ،‬مما يعني أن‬ ‫المستخدمين ال يحتاجون إلدارة الخوادم أو التحديثات‪.‬تقدم ميزات مثل‬ ‫التوسع التلقائي والنسخ االحتياطي التلقائي‪.‬‬ ‫أمثلة‪Azure ،Google Cloud Spanner ،Amazon Aurora :‬‬ ‫‪.Cosmos DB‬‬ ‫يوجد نوعان من نماذج نشر قاعدة البيانات المبنية على أساس السحابة‪،‬‬ ‫تتم مراجعتها فيما يلي‪:‬‬ ‫قاعدة البيانات التقليدية‬ ‫داخليا في الموقع باستثناء توفير‬ ‫ً‬ ‫المدارة‬ ‫تشبه إلى حد بعيد قاعدة البيانات ُ‬ ‫البنية التحتية‪.‬في هذه الحالة‪ ،‬تقوم مؤسسة بشراء مساحة الجهاز‬ ‫مزود خدمات السحابة‪ ،‬ويتم نشر قاعدة البيانات إلى‬ ‫االفتراضي من ّ‬ ‫السحابة‪.‬يستخدم مطورو برامج المؤسسة نموذج ‪ DevOps‬أو موظفي‬ ‫‪34‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫تكنولوجيا المعلومات التقليديين للتحكم في قاعدة البيانات‪.‬وتكون‬ ‫المؤسسة مسؤولة عن اإلشراف وإدارة قواعد البيانات‪.‬‬ ‫قاعدة البيانات كخدمة (‪)DBaaS‬‬ ‫مزود خدمات السحابة من خالل خدمة اشتراك‬ ‫تتعاقد فيها المنظمة مع ّ‬ ‫مزود الخدمة مجموعة متنوعة من المهام‬ ‫مستندة إلى رسوم‪.‬يوّفر ّ‬ ‫التشغيلية ومهام الصيانة والمهام اإلدارية وكذلك مهام إدارة قواعد البيانات‬ ‫في الوقت الفعلي إلى المستخدم‪.‬ويتم تشغيل قاعدة البيانات على البنية‬ ‫لمزود الخدمة‪.‬يشتمل نموذج االستخدام هذا عادةً على األتمتة‬ ‫التحتية ّ‬ ‫التطور والتوافر العالي واألمان‬ ‫في مجاالت التوفير والنسخ االحتياطي و ّ‬ ‫والتصحيح ومراقبة الحالة‪.‬‬ ‫يوّفر نموذج ‪ DBaaS‬للمؤسسات أعلى قيمة‪ ،‬مما يسمح لها باستخدام‬ ‫إدارة قاعدة البيانات الخارجية التي تم تحسينها من خالل أتمتة البرمجيات‬ ‫بدالً من توظيف وإدارة خبراء قاعدة البيانات الداخلية‪.‬‬ ‫‪35‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫▪ قواعد البيانات الموزعة (‪)Distributed Databases‬‬ ‫تتوزع البيانات في قواعد البيانات الموزعة عبر مواقع جغرافية مختلفة‪،‬‬ ‫مما يتيح الوصول السريع والفعال إليها من مواقع متعددة‪.‬تعتمد هذه‬ ‫القواعد على توزيع البيانات بين عدة خوادم‪ ،‬مما يحسن من األداء ويزيد‬ ‫من التوفر والموثوقية‪.‬‬ ‫من مميزات قواعد البيانات الموزعة هو تحسين األداء من خالل التوزيع‬ ‫الجغرافي‪ ،‬حيث يمكن الوصول إلى البيانات بسرعة من المواقع القريبة‬ ‫من المستخدمين‪.‬كما تتميز بزيادة التوفر والموثوقية‪ ،‬حيث يمكن توزيع‬ ‫البيانات بين عدة خوادم لضمان استمرار الخدمة حتى في حالة فشل أحد‬ ‫الخوادم‪.‬باإلضافة إلى ذلك‪ ،‬توفر قواعد البيانات الموزعة قابلية التوسع‬ ‫العالية‪ ،‬مما يتيح زيادة السعة حسب الحاجة بدون تعقيدات‪.‬‬ ‫تستخدم قواعد البيانات الموزعة في تطبيقات التجارة العالمية التي تحتاج‬ ‫إلى توافر عالي للبيانات وسرعة الوصول من مواقع متعددة‪ ،‬ونظم إدارة‬ ‫المعلومات الجغرافية (‪ )GIS‬التي تتطلب تخزين ومعالجة بيانات جغرافية‬ ‫ضخمة‪ ،‬وخدمات البنية التحتية السحابية التي تحتاج إلى توزيع البيانات‬ ‫بين عدة مواقع لضمان األداء والتوافر‪.‬‬ ‫‪36‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫مع التطور السريع في التكنولوجيا وازدياد حجم البيانات‪ ،‬أصبحت‬ ‫أمر بالغ األهمية‪.‬يتيح‬ ‫الحاجة إلى اختيار نوع قاعدة البيانات المناسب ًا‬ ‫فهم أنواع قواعد البيانات المختلفة ومميزاتها واستخداماتها للمطورين‬ ‫اختيار الحل األمثل لتطبيقاتهم‪ ،‬مما يضمن أداء عالي وكفاءة في إدارة‬ ‫البيانات‪.‬سواء كنت تعمل على تطوير تطبيقات تجارية‪ ،‬تعليمية‪ ،‬أو‬ ‫ترفيهية‪ ،‬فإن اختيار قاعدة البيانات المناسبة سيساهم بشكل كبير في‬ ‫نجاح مشروعك وضمان استم ارريته‪.‬‬ ‫‪37‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫مراحل بناء قواعد البيانات‪:‬‬ ‫ مرحلة التحليل ‪:Analysis‬‬ ‫ويتم في هذه المرحلة دراسة النظام الحالي وفهم مكوناته وعملياته‬ ‫والمشاكل التي تواجهه والقصور الموجودة فيه ‪ ،‬وتنتهي عملية التحليل‬ ‫بتحديد احتياجات المستخدم‪.‬‬ ‫ مرحلة التصميم ‪Design‬‬ ‫ويتم خالل هذه المرحلة إيجاد التصميم األمثل لنظام المعلومات‬ ‫الحاسوبي الذي يلبي احتياجات المستخدمين والتي تم توصيفها في مرحلة‬ ‫التحليل‪.‬‬ ‫ مرحلة التنفيذ ‪:Implementation‬‬ ‫ويتم خاللها تنفيذ التصميم الذي يتم التوصل إليه في المرحلة السابقة‬ ‫وتحويله إلى نظام جاهز للعمل أو تعديل النظام الموجود‪.‬‬ ‫وبالطبع فان قواعد البيانات في مرحلة التنفيذ بحاجة إلى برامج وأدوات‬ ‫خاصة إلدارتها والتعامل معها‪ ,‬هذه البرامج تعرف باسم أنظمة إدارة‬ ‫قواعد البيانات‪.‬‬ ‫‪38‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ 1-4‬دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة‬ ‫ال لكترونية‬ ‫دور محورًيا في دعم تطبيقات اإلنترنت والتجارة‬ ‫تلعب قواعد البيانات ًا‬ ‫اإللكترونية من خالل توفير البنية التحتية الالزمة لتخزين وإدارة البيانات‬ ‫بشكل فعال وآمن‪.‬إليك أهم األدوار التي تؤديها قواعد البيانات في هذا‬ ‫السياق‪:‬‬ ‫‪.1‬إدارة البيانات الضخمة‪(Big Data Management):‬‬ ‫تطبيقات اإلنترنت والتجارة اإللكترونية تتعامل مع كميات هائلة من‬ ‫يوميا‪ ،‬مثل معلومات المستخدمين‪ ،‬الطلبات‪ ،‬المنتجات‪،‬‬ ‫ً‬ ‫البيانات‬ ‫والمدفوعات‪.‬قواعد البيانات‪ ،‬مثل ‪ NoSQL‬والعالئقية)‪، (RDBMS‬‬ ‫تتيح إدارة وتخزين هذه البيانات بطريقة منظمة‪ ،‬مما يسهل استرجاعها‬ ‫وتحليلها في الوقت المناسب‪.‬‬ ‫‪.2‬أداء واستجابة عالية ‪(High Performance and‬‬ ‫‪Scalability):‬‬ ‫أمر بالغ‬ ‫في تطبيقات اإلنترنت والتجارة اإللكترونية‪ُ ،‬يعد األداء السريع ًا‬ ‫األهمية لتوفير تجربة مستخدم جيدة‪.‬قواعد البيانات المتقدمة تتيح توزيع‬ ‫‪39‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫البيانات عبر خوادم متعددة لتقليل زمن االستجابة وزيادة قدرة النظام على‬ ‫معالجة آالف الطلبات في وقت واحد‪.‬‬ ‫‪.3‬إدارة المستخدمين وتسجيل الدخول ‪(User Management‬‬ ‫‪and Authentication):‬‬ ‫تستخدم منصات التجارة اإللكترونية قواعد البيانات لتخزين معلومات‬ ‫المستخدمين مثل بيانات التسجيل‪ ،‬تسجيل الدخول‪ ،‬وكلمات المرور‪.‬كما‬ ‫تعتمد على قواعد البيانات في إدارة الصالحيات والوصول إلى المحتوى‬ ‫المخصص لكل مستخدم‪.‬‬ ‫‪.4‬إدارة الطلبات والمخزون ‪(Order and Inventory‬‬ ‫‪Management):‬‬ ‫تعتمد التجارة اإللكترونية على قواعد البيانات لتتبع المخزون‪ ،‬تحديث‬ ‫حالة الطلبات في الوقت الفعلي‪ ،‬ومراقبة العمليات اللوجستية‪.‬توفر هذه‬ ‫األنظمة دقة عالية في تتبع المخزون وتحديثه ً‬ ‫بناء على المبيعات الفعلية‪.‬‬ ‫‪.5‬معالجة المدفوعات )‪(Payment Processing‬‬ ‫دور في تخزين ومعالجة بيانات الدفع بطرق آمنة‪.‬‬ ‫قواعد البيانات تلعب ًا‬ ‫من خالل االعتماد على معايير أمنية مشددة مثل التشفير‬ ‫‪40‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫المعامالت ‪(Transaction‬‬ ‫وإدارة‬ ‫)‪(Encryption‬‬ ‫)‪ ،Management‬يمكن التأكد من سالمة عمليات الدفع عبر‬ ‫اإلنترنت‪.‬‬ ‫‪.6‬تحليل البيانات والتخصيص ‪(Data Analysis and‬‬ ‫‪Personalization):‬‬ ‫قواعد البيانات تسمح بتخزين وتحليل بيانات المستخدمين وسلوكهم‬ ‫الشرائي‪ ،‬مما يساعد مواقع التجارة اإللكترونية على تقديم توصيات‬ ‫بناء على تاريخ التصفح‬ ‫مخصصة (مثل المنتجات التي قد تهم العميل ً‬ ‫أو الشراء)‪ ،‬وتحسين الحمالت التسويقية‪.‬‬ ‫‪.7‬أمن البيانات‪(Data Security):‬‬ ‫حماية بيانات المستخدمين هي أحد أكبر التحديات في تطبيقات‬ ‫ ‬ ‫اإلنترنت والتجارة اإللكترونية‪.‬قواعد البيانات توفر آليات أمان‬ ‫متقدمة مثل التشفير وإدارة الصالحيات لضمان حماية البيانات‬ ‫من االختراقات أو االستخدام غير المصرح به‪.‬‬ ‫‪41‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪.8‬إدارة المحتوى )‪(Content Management‬‬ ‫تستخدم قواعد البيانات في إدارة المحتوى المعروض على مواقع اإلنترنت‬ ‫والتجارة اإللكترونية‪ ،‬مثل المعلومات المتعلقة بالمنتجات‪ ،‬أو الصور‪ ،‬أو‬ ‫مقاطع الفيديو‪ ،‬مما يسهل عمليات التحديث الدورية للموقع‪.‬‬ ‫‪.9‬التكامل مع أنظمة الدفع والشحن ‪(Integration with‬‬ ‫‪Payment and Shipping Systems):‬‬ ‫قواعد البيانات تساعد في التكامل مع بوابات الدفع وأنظمة الشحن‪ ،‬حيث‬ ‫يتم تخزين معلومات الدفع والتسليم في قاعدة البيانات لسهولة متابعتها‬ ‫من قبل المستخدمين ومزودي الخدمة‪.‬‬ ‫ضمان توافر البيانات ‪(Data Availability and‬‬ ‫‪.10‬‬ ‫‪Reliability):‬‬ ‫قواعد البيانات الحديثة توفر آليات لضمان توافر البيانات واستم اررية‬ ‫الخدمة‪ ،‬حتى في حالة تعطل بعض الخوادم أو حدوث مشكالت تقنية‪،‬‬ ‫وذلك من خالل تقنيات النسخ االحتياطي والتوزيع الجغرافي للبيانات‪.‬‬ ‫‪42‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫الفصل الثانى‬ ‫بناء قواعد البيانات ‪Database Architecture‬‬ ‫فى نهاية هذا الفصل تتحقق األهداف التعليمية اآلتية‪:‬‬ ‫‪ -1‬يشرح بناء قاعدة البيانات ونظم ادارة قواعد البيانات‬ ‫‪ -2‬يشرح نظم إدارة قواعد البيانات‬ ‫‪ -3‬يشرح مكونات نظم إدارة قواعد البيانات‬ ‫‪43‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫يتناول هذا الفصل الموضوعات اآلتية‪:‬‬ ‫ نظم إدارة قواعد البيانات ‪Database management‬‬ ‫)‪systems (DBMS‬‬ ‫ مكونات نظم إدارة قواعد البيانات ‪DBMS components‬‬ ‫ بناء نظم إدارة قواعد البيانات ‪DBMS Architecture‬‬ ‫‪44‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ 2-1‬نظم إدارة قواعد البيانات ‪Database‬‬ ‫)‪management systems (DBMS‬‬ ‫نظم إدارة قواعد البيانات هي برامج تُستخدم إلنشاء‪ ،‬إدارة‪ ،‬وتعديل قواعد‬ ‫البيانات‪.‬تسهل نظم إدارة قواعد البيانات التعامل مع البيانات بطريقة‬ ‫منظمة ومباشرة‪ ،‬كما توفر أدوات السترجاع البيانات بسرعة ودقة وفًقا‬ ‫حاسما في تخزين البيانات‬ ‫ً‬ ‫دور‬ ‫الحتياجات المستخدم‪.‬تلعب هذه األنظمة ًا‬ ‫ومعالجتها بطريقة تسهم في تحسين أداء التطبيقات وتوفير األمان الالزم‬ ‫للبيانات‪.‬‬ ‫‪45‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫▪ أهمية نظم إدارة قواعد البيانات‪:‬‬ ‫‪ -‬إدارة البيانات بكفاءة (‪:)Efficient Data Management‬‬ ‫نظم إدارة قواعد البيانات تساعد في تنظيم البيانات بشكل منظم‬ ‫في جداول أو هياكل أخرى‪ ،‬مما يسهل عملية الوصول إليها‬ ‫وإدارتها‪.‬‬ ‫‪ -‬التقليل من التكرار (‪:)Reduction of Data Redundancy‬‬ ‫تمنع ‪ DBMS‬تكرار البيانات عن طريق استخدام النماذج‬ ‫العالئقية أو غيرها من الهياكل التي تتيح تنظيم البيانات بطريقة‬ ‫تقلل من وجود نسخ متعددة لنفس المعلومات‪.‬‬ ‫‪ -‬أمان البيانات (‪ :)Data Security‬توفر نظم إدارة قواعد‬ ‫البيانات سياسات لحماية البيانات من الوصول غير المصرح‬ ‫به‪.‬تشمل هذه السياسات التشفير‪ ،‬صالحيات المستخدمين‪،‬‬ ‫والتسجيل (‪ )Logging‬لألنشطة‪.‬‬ ‫‪ -‬استرجاع البيانات بسهولة (‪:)Easy Data Retrieval‬‬ ‫‪SQL‬‬ ‫‪(Structured‬‬ ‫‪Query‬‬ ‫استعالمات‬ ‫باستخدام‬ ‫‪46‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫)‪ Language‬أو لغات أخرى‪ ،‬يمكن للمستخدمين استرجاع‬ ‫البيانات المطلوبة بسرعة وبدقة‪.‬‬ ‫‪ -‬دعم المعامالت (‪ :)Transaction Management‬توفر‬ ‫‪ DBMS‬خصائص مثل الذرة‪ ،‬العزل‪ ،‬واالتساق (‪)ACID‬‬ ‫لضمان سالمة المعامالت عند تعديل أو تحديث البيانات‪ ،‬مما‬ ‫يضمن عدم تلف البيانات في حالة حدوث أخطاء‪.‬‬ ‫‪ -‬دعم النسخ االحتياطي (‪ :)Backup and Recovery‬توفر‬ ‫‪ DBMS‬أدوات للنسخ االحتياطي للبيانات واستعادتها في حالة‬ ‫حدوث فشل في النظام أو تعطل غير متوقع‪.‬‬ ‫▪ وظائف نظم إدارة قواعد البيانات‪:‬‬ ‫‪ -‬تعريف البيانات (‪ :)Data Definition‬تُستخدم لتعريف هيكل‬ ‫البيانات‪ ،‬العالقات‪ ،‬القيود‪ ،‬والفهارس (‪ )Indexes‬داخل قاعدة‬ ‫البيانات‪.‬‬ ‫‪ -‬إدخال البيانات (‪ :)Data Manipulation‬تتيح ‪DBMS‬‬ ‫إضافة‪ ،‬تعديل‪ ،‬وحذف البيانات باستخدام لغات استعالم مثل‬ ‫‪.SQL‬‬ ‫‪47‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ -‬استعالم البيانات (‪ :)Data Querying‬تتيح استخراج البيانات‬ ‫بناء على معايير‬ ‫المطلوبة من قاعدة البيانات بسرعة وكفاءة ً‬ ‫محددة‪.‬‬ ‫‪ -‬تكامل البيانات (‪ :)Data Integrity‬توفر ‪ DBMS‬آليات‬ ‫لضمان دقة واتساق البيانات داخل قاعدة البيانات من خالل‬ ‫فرض القواعد والقيود‪.‬‬ ‫‪ -‬إدارة المستخدمين (‪ :)User Management‬تتضمن منح‬ ‫الصالحيات والتحكم في من يمكنه الوصول إلى البيانات‬ ‫وتعديلها‪.‬‬ ‫‪ -‬الصيانة (‪ :)Maintenance‬تتيح عمليات الصيانة مثل‬ ‫الفحص الدوري‪ ،‬النسخ االحتياطي‪ ،‬واستعادة البيانات في حالة‬ ‫حدوث مشاكل‪.‬‬ ‫‪48‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫▪ أمثلة على نظم إدارة قواعد البيانات المشهورة‪:‬‬ ‫‪ :MySQL -‬قاعدة بيانات عالئقية مفتوحة المصدر‪ ،‬تُستخدم‬ ‫على نطاق واسع في تطوير مواقع الويب‪.‬‬ ‫‪ :Oracle DB -‬قاعدة بيانات تجارية شهيرة تُستخدم في‬ ‫نظر لميزاتها القوية ودعمها للتطبيقات‬ ‫ًا‬ ‫المؤسسات الكبيرة‬ ‫المعقدة‪.‬‬ ‫‪ :Microsoft SQL Server -‬قاعدة بيانات عالئقية تستخدم في‬ ‫الشركات إلدارة البيانات والتطبيقات‪.‬‬ ‫‪ :MongoDB -‬قاعدة بيانات ‪ NoSQL‬تُستخدم لتخزين البيانات‬ ‫غير المنظمة مثل المستندات‪.‬‬ ‫‪49‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ 2-2‬مكونات نظم إدارة قواعد البيانات ‪DBMS‬‬ ‫‪components‬‬ ‫نظام إدارة قواعد البيانات (‪ )DBMS‬يتكون من عدة مكونات رئيسية‬ ‫تساعد في تخزين وإدارة البيانات بفعالية‪.‬كل مكون له دور محدد في‬ ‫تحسين األداء‪ ،‬إدارة البيانات‪ ،‬والحفاظ على األمان‪.‬فيما يلي شرح ألهم‬ ‫مكونات ‪:DBMS‬‬ ‫‪.1‬البرامج (‪)Software Component‬‬ ‫هو الجزء البرمجي لنظام ‪ DBMS‬الذي يوفر الواجهة للمستخدمين‬ ‫والمطورين للتفاعل مع قاعدة البيانات‪.‬يشمل هذا المكون األدوات التي‬ ‫تسمح بإنشاء الجداول‪ ،‬االستعالمات‪ ،‬تحديث البيانات‪ ،‬وإدارة األنظمة‪.‬‬ ‫المهام‪:‬‬ ‫‪ -‬توفير بيئة للتعامل مع البيانات (إضافة‪ ،‬حذف‪ ،‬تعديل)‪.‬‬ ‫‪ -‬تقديم أدوات برمجية لالستعالم عن البيانات باستخدام ‪SQL‬‬ ‫أو غيرها من لغات االستعالم‪.‬‬ ‫‪50‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ -‬إدارة التواصل بين المستخدمين والبيانات المخزنة‪.‬‬ ‫‪.2‬األجهزة (‪)Hardware Component‬‬ ‫يتضمن جميع المكونات الفيزيائية المطلوبة لتشغيل ‪ DBMS‬مثل الخوادم‬ ‫(‪ ،)Servers‬وحدات التخزين‪ ،‬أجهزة الشبكات‪ ،‬والمعالجات‪.‬تتيح هذه‬ ‫األجهزة التخزين والوصول إلى البيانات‪.‬‬ ‫المهام‪:‬‬ ‫فعليا على األقراص الصلبة أو وحدات‬ ‫‪ -‬تخزين قواعد البيانات ً‬ ‫التخزين‪.‬‬ ‫‪ -‬توفير القدرة على المعالجة السريعة للبيانات والمعامالت‪.‬‬ ‫‪ -‬االتصال بين األجهزة للوصول إلى قاعدة البيانات عبر‬ ‫الشبكة‪.‬‬ ‫‪51‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪.3‬البيانات (‪)Data Component‬‬ ‫يتمثل في جميع البيانات التي تُخزن في قاعدة البيانات‪.‬هذه البيانات‬ ‫تكون منظمة بشكل معين وفًقا لنموذج البيانات الذي يعتمده ‪DBMS‬‬ ‫(مثل العالئقي أو ‪.)NoSQL‬‬ ‫أنواع البيانات‪:‬‬ ‫‪ -‬البيانات الخام (‪ :)Raw Data‬البيانات األصلية التي يتم‬ ‫تخزينها ومعالجتها‪.‬‬ ‫‪ -‬البيانات الوصفية (‪ :)Metadata‬البيانات التي تصف هيكل‬ ‫وخصائص البيانات المخزنة‪ ،‬مثل تعريفات الجداول والعالقات‬ ‫بينها‪.‬‬ ‫‪.4‬مخطط قاعدة البيانات (‪)Schema Component‬‬ ‫المخطط هو التصميم المنطقي لقواعد البيانات‪ ،‬حيث يحدد كيفية تنظيم‬ ‫البيانات‪ ،‬نوعها‪ ،‬العالقات بينها‪ ،‬والقيود المفروضة عليها‪.‬المخطط يمثل‬ ‫‪52‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫الهيكل األساسي لقاعدة البيانات ويساعد في التحكم في كيفية الوصول‬ ‫إلى البيانات‪.‬‬ ‫أنواع المخططات‪:‬‬ ‫‪ -‬المخطط المادي (‪ :)Physical Schema‬يحدد كيفية تخزين‬ ‫فعليا على األجهزة‪.‬‬ ‫البيانات ً‬ ‫‪ -‬المخطط المفاهيمي (‪ :)Conceptual Schema‬يوضح‬ ‫الهيكل العام للبيانات والعالقات بينها‪.‬‬ ‫‪ -‬المخطط الخارجي (‪ :)External Schema‬يحدد وجهات‬ ‫بناء على احتياجاتهم‪.‬‬ ‫النظر المختلفة للمستخدمين ً‬ ‫‪.5‬لغة إدارة البيانات ( ‪Data Management Language -‬‬ ‫‪)DML‬‬ ‫تشمل لغات البرمجة التي تُستخدم للتفاعل مع قاعدة البيانات‪.‬أبرز هذه‬ ‫اللغات هي ‪ ،SQL‬التي تُستخدم لالستعالم‪ ،‬تحديث‪ ،‬حذف وإضافة‬ ‫البيانات‪.‬‬ ‫‪53‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫المهام‪:‬‬ ‫‪ -‬لغة تعريف البيانات ( ‪Data Definition Language -‬‬ ‫‪ :)DDL‬تُستخدم لتعريف وإنشاء الجداول والهياكل األخرى‪.‬‬ ‫‪ -‬لغة معالجة البيانات ( ‪Data Manipulation Language -‬‬ ‫‪ :)DML‬تُستخدم لالستعالم وتحديث البيانات المخزنة‪.‬‬ ‫‪ -‬لغة التحكم في البيانات ( ‪Data Control Language -‬‬ ‫‪ :)DCL‬تُستخدم للتحكم في الصالحيات وإدارة األمان‪.‬‬ ‫‪.6‬المحرك (‪)Database Engine‬‬ ‫المحرك هو الجزء المسؤول عن معالجة طلبات االستعالم‪ ،‬تنفيذ العمليات‬ ‫والمعامالت‪ ،‬وإدارة التخزين‪.‬يقوم بتحليل استعالمات ‪ SQL‬وتحويلها‬ ‫إلى أوامر قابلة للتنفيذ‪.‬‬ ‫المهام‪:‬‬ ‫‪ -‬معالجة االستعالمات من المستخدمين‪.‬‬ ‫‪ -‬تنفيذ العمليات على البيانات (إضافة‪ ،‬تعديل‪ ،‬حذف)‪.‬‬ ‫‪54‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ -‬التأكد من تحقيق شروط النزاهة واتساق البيانات‪.‬‬ ‫‪.7‬واجهة المستخدم (‪)User Interface‬‬ ‫واجهة المستخدم هي األداة التي تسمح للمستخدمين النهائيين بالتفاعل‬ ‫مع ‪.DBMS‬تشمل واجهات رسومية (‪ )GUIs‬وأدوات استعالم تساعد‬ ‫المستخدمين في الوصول إلى البيانات بسهولة دون الحاجة لمعرفة تقنية‬ ‫متقدمة‪.‬‬ ‫أنواع الواجهات‪:‬‬ ‫‪ -‬واجهة رسومية (‪ :)GUI‬تُسهل التعامل مع النظام بشكل مرئي‬ ‫من خالل النوافذ واألزرار‪.‬‬ ‫‪ -‬واجهة سطر األوامر (‪ :)CLI‬تتيح للمستخدمين التفاعل مع‬ ‫النظام باستخدام أوامر مكتوبة‪.‬‬ ‫‪55‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪.8‬الفهرسة (‪)Indexing‬‬ ‫الفهرسة هي تقنية تُستخدم لتسريع عملية استرجاع البيانات‪.‬الفهارس‬ ‫تعمل كجداول مختصرة تسهل الوصول إلى البيانات بسرعة عند تنفيذ‬ ‫االستعالمات‪.‬‬ ‫المهام‪:‬‬ ‫‪ -‬تسريع عملية البحث عن البيانات‪.‬‬ ‫‪ -‬تحسين أداء النظام خاصة في التعامل مع كميات ضخمة من‬ ‫البيانات‪.‬‬ ‫‪.9‬األمان (‪)Security Management‬‬ ‫هذا المكون مسؤول عن حماية قاعدة البيانات من الوصول غير المصرح‬ ‫به‪ُ.‬يشمل ذلك إدارة الصالحيات‪ ،‬التشفير‪ ،‬والتدقيق على األنشطة داخل‬ ‫النظام‪.‬‬ ‫المهام‪:‬‬ ‫‪ -‬إدارة صالحيات المستخدمين والمجموعات‪.‬‬ ‫‪ -‬تشفير البيانات لحمايتها أثناء النقل أو التخزين‪.‬‬ ‫‪56‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ -‬تسجيل األنشطة والتدقيق في أي محاوالت وصول غير‬ ‫مشروعة‪.‬‬ ‫الوظائف المتعلقة بقواعد البيانات‬ ‫ال تقتصر أهمية قواعد البيانات على التطبيقات واألنظمة فحسب‪ ،‬بل‬ ‫أيضا‪ ،‬فهناك العديد من الوظائف والمهام‬ ‫تمتد إلى الوظائف والمهن ً‬ ‫المرتبطة بقواعد البيانات‪ ،‬وتتطلب مهارات ومسؤوليات مختلفة‪.‬‬ ‫فيما يلي بعض الوظائف والمهام الشائعة المتعلقة بقواعد البيانات‪:‬‬ ‫مسؤول قاعدة البيانات )‪ : (DBA‬مسؤول عن تثبيت‬ ‫ ‬ ‫)‪ (installation‬قواعد البيانات وإعدادها )‪(configuration‬‬ ‫وصيانتها وأمنها ‪ (security).‬كما يقوم ‪ DBA‬بمهام مثل النسخ‬ ‫االحتياطي واستعادة البيانات وضبط األداء واستكشاف األخطاء‬ ‫)‪ (troubleshooting‬وإدارة المستخدمين‪.‬‬ ‫مطور قاعدة البيانات ‪ (Database Developer):‬مسؤول‬ ‫ ‬ ‫عن تصميم وتطوير واختبار قواعد البيانات‪.‬كما يقوم مطور‬ ‫قاعدة البيانات بمهام مثل نمذجة البيانات )‪(data modeling‬‬ ‫‪57‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫وتحسين االستعالمات )‪ (query optimization‬واإلجراءات‬ ‫المخزنة )‪. (stored procedures‬‬ ‫عالم البيانات )‪ : (Data Scientist‬مسؤول عن استخراج‬ ‫ ‬ ‫األفكار والمعرفة من البيانات الموجودة في قواعد البيانات‪.‬كما‬ ‫يقوم عالم البيانات بمهام مثل تنظيف البيانات واستكشاف‬ ‫البيانات ونمذجة البيانات والتعلم اآللي والذكاء االصطناعي‪.‬‬ ‫أنظمة إدارة قواعد البيانات ‪:DBMS‬‬ ‫يتوفر العديد من أنظمة إدارة قواعد البيانات في السوق‪ ،‬ولكل منها مزاياها‬ ‫وعيوبها‪.‬ومن أشهر أنظمة إدارة قواعد البيانات‪:‬‬ ‫ ‪ :PostgreSQL‬نظام إدارة قواعد بيانات مفتوح المصدر (‪open-‬‬ ‫‪ )source‬ومتعدد المنصات (‪ )cross-platform‬يعتمد على‬ ‫الكائنات (‪ ، )object-relational DBMS‬ويدعم مجموعة واسعة‬ ‫والملحقات‬ ‫(‪)functions‬‬ ‫والوظائف‬ ‫البيانات‬ ‫أنواع‬ ‫من‬ ‫ويعرف ‪ PostgreSQL‬بموثوقيته (‪)reliability‬‬ ‫(‪ُ.)extensions‬‬ ‫وتوافقه مع معايير ‪.SQL‬‬ ‫‪58‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫ ‪ :MySQL‬نظام إدارة قواعد بيانات مفتوح المصدر ومتعدد‬ ‫المنصات وهو من الـ ‪ُ.relational DBMS‬يستخدم على نطاق‬ ‫ويعرف ‪MySQL‬‬ ‫واسع لتطبيقات الويب والخدمات عبر اإلنترنت‪ُ.‬‬ ‫ببساطته وسرعته وقابليته للتطوير (‪.)scalability‬‬ ‫ ‪ :MongoDB‬نظام إدارة قواعد بيانات مفتوح المصدر ومتعدد‬ ‫المنصات وموجه نحو المستندات ( ‪document-oriented‬‬ ‫‪ ،)DBMS‬ويخزن البيانات في مستندات تشبه ‪ ،JSON‬وهو من الـ‬ ‫ويعرف ‪ MongoDB‬بمرونته وأدائه‬ ‫‪ُ.NoSQL databases‬‬ ‫وقابليته للتطوير‪.‬‬ ‫‪59‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫‪ 2-3‬بناء نظم إدارة قواعد البيانات ‪DBMS‬‬ ‫‪Architecture‬‬ ‫هيكلية نظم إدارة قواعد البيانات (‪ )DBMS‬تحدد كيفية تنظيم النظام‪،‬‬ ‫وكيفية تفاعل المستخدمين مع قاعدة البيانات‪ ،‬وكذلك كيفية إدارة البيانات‬ ‫داخل النظام‪.‬يمكن تقسيم بنية نظم إدارة قواعد البيانات إلى مستويات‬ ‫بناء على التعقيد واالحتياجات‪.‬عادة ما تكون هناك ثالث‬‫مختلفة ً‬ ‫هيكليات رئيسية تستخدم في نظم إدارة قواعد البيانات‪:‬‬ ‫‪.1‬هيكلية المستوى الواحد (‪)Single-Tier Architecture‬‬ ‫في هذا النوع من الهيكلية‪ ،‬يتم إدارة جميع مكونات ‪ DBMS‬من خالل‬ ‫تطبيق واحد فقط على نفس الجهاز‪.‬هنا‪ ،‬يمكن للمستخدمين التفاعل مع‬ ‫قاعدة البيانات مباشرة دون وجود مستوى وسيط بين المستخدم والنظام‪.‬‬ ‫المزايا‪:‬‬ ‫‪ -‬بسيط وسهل الفهم والتطبيق‪.‬‬ ‫‪ -‬مناسب للتطبيقات الصغيرة التي ال تحتاج إلى تفاعل مع‬ ‫العديد من المستخدمين‪.‬‬ ‫‪60‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫العيوب‪:‬‬ ‫‪ -‬محدود في االستخدام‪ ،‬حيث ال يدعم التطبيقات الكبيرة أو‬ ‫المعقدة‪.‬‬ ‫‪ -‬ال يدعم االتصال عبر الشبكات أو بيئات متعددة المستخدمين‪.‬‬ ‫‪.2‬هيكلية المستويين (‪)Two-Tier Architecture‬‬ ‫في هيكلية المستويين‪ ،‬يتم تقسيم النظام إلى طبقتين رئيسيتين‪:‬‬ ‫‪ -‬العميل (‪ :)Client‬يمثل تطبيق المستخدم أو الواجهة التي‬ ‫يتفاعل معها المستخدم إلدخال البيانات أو استخراجها‪.‬‬ ‫‪ -‬الخادم (‪ :)Server‬يقوم بإدارة قاعدة البيانات ومعالجة‬ ‫االستعالمات المرسلة من العميل‪.‬‬ ‫آلية العمل‪:‬‬ ‫‪ -‬المستخدم يقوم بإدخال استعالم عبر واجهة العميل‪.‬‬ ‫‪ -‬يتم إرسال االستعالم إلى خادم قاعدة البيانات‪ ،‬الذي يعالجه‬ ‫ويعيد النتيجة إلى العميل‪.‬‬ ‫‪61‬‬ ‫‪Databases‬‬ ‫قواعد البيانات‬ ‫المزايا‪:‬‬ ‫‪ -‬تحسين األداء مقارنة بالهيكلية ذات المستوى الواحد‪.‬‬ ‫‪ -‬يفصل بين واجهة المستخدم ومعالجة البيانات‪ ،‬مما يتيح توزيع‬ ‫األحمال بشكل أفضل‪.‬‬ ‫العيوب‪:‬‬ ‫‪ -‬مع زيادة عدد المستخدمين‪ ،‬قد تتعرض الخوادم إلى ضغط‬ ‫كبير مما يقلل من األداء‪.‬‬ ‫‪ -‬يحتاج إلى إدارة جيدة للشبكة بين العميل والخادم‪.‬‬ ‫‪.3‬هيكلية الثالثة مستويات (‪)Three-Tier Architecture‬‬ ‫شيوعا في األنظمة الحديثة‪.‬تتكون من ثالثة‬ ‫ً‬ ‫هذه الهيكلية هي األكثر‬ ‫مستويات رئيسية‪:‬‬ ‫‪ -‬مستوى العرض (‪ :)Presentation

Use Quizgecko on...
Browser
Browser