Databases Lecture 1 PDF

Document Details

AstonishingRomanArt

Uploaded by AstonishingRomanArt

The Higher Institute of Marketing, Commerce, and Information Systems

2025

Dr. Mariam Samy

Tags

databases database management information systems data management

Summary

This is a lecture on databases, covering fundamental concepts and the evolution of database systems. It also outlines the targeted learning outcomes for a course on databases. It's from The Higher Institute of Marketing, Commerce, and Information Systems, and the intended audience is undergraduate students.

Full Transcript

‫المعهد العاىل للتسويق والتجارة ونظم المعلومات‬ ‫‪The Higher Institute of Marketing, Commerce, and Information Systems‬‬ ‫قواعد البيانات‬ ‫‪Databases‬‬ ‫المستوى الثالث...

‫المعهد العاىل للتسويق والتجارة ونظم المعلومات‬ ‫‪The Higher Institute of Marketing, Commerce, and Information Systems‬‬ ‫قواعد البيانات‬ ‫‪Databases‬‬ ‫المستوى الثالث‬ ‫الفصل الدراسى األول‬ ‫‪Dr. Mariam Samy‬‬ ‫‪2025 - 2024‬‬ ‫المعهد العاىل للتسويق والتجارة ونظم المعلومات‬ ‫‪The Higher Institute of Marketing, Commerce, and Information Systems‬‬ ‫‪Lecture 1‬‬ ‫المحاضرة األولى‬ ‫توزيع درجات المادة‬ ‫❑ ‪ 50‬درجة أعمال سنة‬ ‫❑ ‪ 10‬درجات على الحضور‬ ‫❑ ‪ 20‬درجة على أعمال الفصل‬ ‫❑ ‪ 20‬درجة إمتحان منتصف الفصل الدراسى )‪(Mid-term‬‬ ‫❑ ‪ 50‬درجة على إمتحان نهاية الفصل الدراسى‬ ‫‪2025 - 2024‬‬ ‫المعهد العاىل للتسويق والتجارة ونظم المعلومات‬ ‫‪The Higher Institute of Marketing, Commerce, and Information Systems‬‬ ‫‪Lecture 1‬‬ ‫المحاضرة األولى‬ ‫❑ مفاهيم قواعد البيانات‬ ‫❑ تطور أنظمة قواعد البيانات وأنواعها‬ ‫❑ أساسيات قواعد البيانات العالقية‬ ‫المعهد العاىل للتسويق والتجارة ونظم المعلومات‬ ‫‪The Higher Institute of Marketing, Commerce, and Information Systems‬‬ ‫‪Lecture 1‬‬ ‫نواتج التعلم المستهدفة‬ ‫❑ يعرف مفاهيم مثل قاعدة البيانات‪ ،‬نظام إدارة قواعد البيانات ‪ ،DBMS‬وتطبيقات قواعد‬ ‫البيانات في الحياة اليومية‪.‬‬ ‫❑ يعرف تطور أنظمة قواعد البيانات‬ ‫❑ يناقش أهمية قواعد البيانات في التطورات التكنولوجية الحديثة‪.‬‬ ‫❑ يميز بين أنواع قواعد البيانات‬ ‫مفاهيم قواعد البيانات‬ ‫❑ البيانات ‪Data‬‬ ‫ البيانات هي الحقائق واألرقام الخام غير معالجة وغير منظمة‬ ‫وتفتقر إلى السياق‪.‬مثل‪ :‬األرقام ‪ ،‬الكلمات‪ ،‬صور ‪ ،‬صوت‪.‬‬ ‫ مثل‪ 10" ، “2024-09-19" :‬درجات مئوية“ ‪" ،‬نيويورك"‪.‬‬ ‫مفاهيم قواعد البيانات‬ ‫❑ البيانات‪:‬‬ ‫ مثال‪:‬‬ ‫‪Data: 98.6‬‬ ‫❑ المعلومات‪:‬‬ ‫ مثال‪ :‬درجة حرارة الجسم الطبيعية‬ ‫‪Normal body temperature is 98.6°F‬‬ ‫مفاهيم قواعد البيانات‬ ‫❑ أنواع البيانات‪:‬‬ ‫غالبا في قواعد البيانات (مثل جداول‬ ‫ً‬ ‫ن‬‫خز‬ ‫ّ‬ ‫وت‬ ‫ُ‬ ‫منظمة‬ ‫‪:‬‬‫المنظمة‬ ‫البيانات‬ ‫ ‬ ‫البيانات)‪.‬‬ ‫ البيانات غير المنظمة‪ :‬تفتقر إلى تنسيق محدد مسبًقا (مثل رسائل البريد‬ ‫اإللكتروني ومحتوى وسائل التواصل االجتماعي)‪.‬‬ ‫ البيانات شبه المنظمة‪ :‬ال تتناسب بدقة مع الجداول‬ ‫(مثل ‪.)JSON ،XML‬‬ ‫مفاهيم قواعد البيانات‬ ‫❑ المعلومات ‪ :Information‬بيانات تم معالجتها ليكون لها معنى‬ ‫ومنظمة‬ ‫ بيانات معالجة‬ ‫ لها معنى وقيمة‬ ‫ تدعم صنع القرار‬ ‫ مثل‪ :‬التقارير والتحليالت والرؤى‬ ‫مفاهيم قواعد البيانات‬ ‫❑ مشاكل زيادة حجم البيانات‪:‬‬ ‫ تبدأ حاالت عدم التناسق والتكرار في الظهور بين البيانات‪.‬‬ ‫ يصبح من الصعب فهم البيانات في نموذج القائمة‬ ‫ كما تكون طرق البحث عن المجموعات الفرعية للبيانات أو مراجعتها‬ ‫محدودة‪.‬‬ ‫ وبمجرد ظهور تلك المشاكل‪ ،‬يكون من األفضل نقل البيانات إلى قاعدة‬ ‫بيانات تم إنشاؤها بواسطة نظام إدارة قاعدة البيانات ‪ ،DBMS‬مثل ‪MS-‬‬ ‫‪Access or SQL server‬‬ ‫مفاهيم قواعد البيانات‬ ‫❑ قاعدة البيانات‪:‬‬ ‫ هي أداة لتجميع المعلومات وتنظيمها وإدارتها‪.‬‬ ‫ يمكن لقواعد البيانات تخزين المعلومات حول األشخاص أو‬ ‫المنتجات أو الطلبات أو أي شيء آخر‪.‬‬ ‫ يتم تخزين البيانات بشكل منظم ومهيكل‪ ،‬مما يسمح بالبحث عنها‬ ‫فعال‪.‬‬ ‫ّ‬ ‫بشكل‬ ‫اتها‬ ‫ر‬ ‫إد‬ ‫و‬ ‫مفاهيم قواعد البيانات‬ ‫❑ إستخدامات قواعد البيانات‪:‬‬ ‫ األعمال ‪ :Business‬إدارة العمالء‪ ،‬تتبع المخزون‬ ‫ التعليم ‪ :Education‬سجالت الطالب‪ ،‬إدارة التدريب‬ ‫ الرعاية الصحية ‪ :Healthcare‬معلومات المرضى‪ ،‬التاريخ الطبي‬ ‫ الحكومة ‪ :Government‬بيانات التعداد‪ ،‬سجالت الضرائب‬ ‫ التجارة اإللكترونية ‪ :E-commerce‬كتالوجات المنتجات‪ ،‬معالجة‬ ‫الطلبات‬ ‫مفاهيم قواعد البيانات‬ ‫❑ مفاهيم قواعد البيانات األساسية‪:‬‬ ‫▪ الكيان ‪ :Entity‬كائن أو مفهوم‬ ‫✓ على سبيل المثال‪ :‬طالب‪ ،‬موظف‪ ،‬دورة تدريبية ‪ ،‬منتج‬ ‫▪ السمة ‪ : Attribute‬سمة الكيان‬ ‫✓ على سبيل المثال‪ :‬االسم ‪ ،‬المعرف أو الكود ‪ ،‬العنوان‬ ‫▪ العالقة ‪ :Relationship‬العالقة بين الكيانات‬ ‫▪ المخطط ‪ :Schema‬الهيكل المنطقي لقاعدة البيانات‬ ‫تطور أنظمة قواعد البيانات‬ ‫❑ األنظمة القائمة على الملفات (‪)1950s-1960s‬‬ ‫▪ البيانات تُخزن في ملفات مسطحة بشكل غير منظم‪.‬‬ ‫▪ تعتمد على الملفات العادية بدون بنية محددة أو تنظيم جيد‪.‬‬ ‫▪ العيوب‪:‬‬ ‫تكرار البيانات‪.‬‬ ‫‪o‬‬ ‫صعوبة في استرجاع البيانات‪.‬‬ ‫‪o‬‬ ‫افتقار لألمان والتكامل‪.‬‬ ‫‪o‬‬ ‫تطور أنظمة قواعد البيانات‬ ‫❑ قواعد البيانات الهرمية (‪)1960s-1970s‬‬ ‫▪ أحد أول األنواع المنظمة لقواعد البيانات‪.‬‬ ‫▪ تمثل البيانات على شكل شجرة‪ ،‬حيث ترتبط كل عقدة (أو كيان) بكيان أعلى منها‪.‬‬ ‫▪ المزايا‪:‬‬ ‫‪ o‬دعم هيكل هرمي ثابت‪.‬‬ ‫‪ o‬أداء جيد في استرجاع البيانات المرتبطة‪.‬‬ ‫▪ العيوب‪:‬‬ ‫‪ o‬بنية صارمة وغير مرنة‪.‬‬ ‫‪ o‬صعوبة في إدارة العالقات المعقدة (مثل العالقات المتعددة)‪.‬‬ ‫تطور أنظمة قواعد البيانات‬ ‫❑ قواعد البيانات الشبكية (‪)1970s‬‬ ‫▪ ظهرت كتحسين لقواعد البيانات الهرمية‪ ،‬حيث تسمح بوجود عالقات أكثر‬ ‫تعقيداً بين الكيانات‪.‬وهى أكثر مرونة من النماذج الهرمية‪.‬‬ ‫▪ المزايا‪:‬‬ ‫‪ o‬إمكانية وجود عالقات متعددة بين الكيانات‪.‬‬ ‫‪ o‬تحسين في سرعة استرجاع البيانات‪.‬‬ ‫▪ العيوب‪:‬‬ ‫‪ o‬بنية معقدة‪.‬‬ ‫‪ o‬صعوبة في التصميم والصيانة‪.‬‬ ‫تطور أنظمة قواعد البيانات‬ ‫❑ أنظمة قواعد البيانات العالئقية )‪(1970s-1980s‬‬ ‫▪ يتم تخزين البيانات في جداول تحتوي على صفوف وأعمدة‪ ،‬والعالقات بين البيانات‬ ‫تعتمد على المفاتيح األساسية واألجنبية‪.‬استخدام لغة ‪ SQL‬كلغة إستعالم‪.‬‬ ‫▪ أمثلة مشهورة‪ :‬أوراكل ‪MySQL ،Oracle‬‬ ‫▪ المزايا‪:‬‬ ‫‪ o‬سهولة الفهم والتصميم‪.‬‬ ‫‪ o‬مرونة في التعامل مع البيانات المتغيرة‪.‬‬ ‫‪ o‬دعم لغات مثل ‪SQL‬السترجاع البيانات‪.‬‬ ‫▪ العيوب‪:‬‬ ‫‪ o‬أداء أقل في التعامل مع البيانات غير المهيكلة أو المعقدة‪.‬‬ ‫تطور أنظمة قواعد البيانات‬ ‫❑ قواعد البيانات الكائنية (‪)1990s‬‬ ‫▪ قواعد البيانات الكائنية تدمج بين مفاهيم قواعد البيانات العالئقية ومفاهيم‬ ‫البرمجة الكائنية (‪ ،)OOP‬حيث تمثل البيانات ككائنات لها خصائص‬ ‫وسلوكيات‪.‬ويتم تخزين البيانات في كائنات بدالً من الجداول‪.‬‬ ‫▪ المزايا‪:‬‬ ‫‪ o‬دعم الكائنات والبيانات المعقدة‪.‬‬ ‫‪ o‬تكامل مع لغات البرمجة الكائنية‪.‬‬ ‫▪ العيوب‪:‬‬ ‫‪ o‬صعوبة في التعلم والتنفيذ مقارنة بقواعد البيانات العالئقية‪.‬‬ ‫تطور أنظمة قواعد البيانات‬ ‫❑ قواعد البيانات الموزعة (‪)2000s‬‬ ‫▪ ظهرت مع زيادة حجم البيانات وتوزيعها عبر مواقع جغرافية متعددة‬ ‫▪ يتم توزيع البيانات عبر عدة خوادم‪ ،‬مما يسمح بإمكانية التوسع واألداء العالي‪.‬‬ ‫▪ المزايا‪:‬‬ ‫قابلية التوسع‪.‬‬ ‫‪o‬‬ ‫تحسين األداء وزيادة التوافر‪.‬‬ ‫‪o‬‬ ‫▪ العيوب‪:‬‬ ‫تعقيد في إدارة البيانات الموزعة وضمان التناسق‪.‬‬ ‫‪o‬‬ ‫تطور أنظمة قواعد البيانات‬ ‫❑ قواعد البيانات ‪)2010s( NoSQL‬‬ ‫▪ ظهرت لتلبية الحاجة إلى تخزين البيانات غير المنظمة (مثل النصوص‪،‬‬ ‫الصور‪ ،‬الفيديوهات) ومعالجة البيانات الكبيرة في تطبيقات الويب الضخمة مثل‬ ‫فيسبوك وأمازون‪.‬‬ ‫▪ المزايا‪:‬‬ ‫‪ o‬دعم البيانات غير المهيكلة‪.‬‬ ‫‪ o‬قابلية التوسع بشكل أفقي‪.‬‬ ‫‪ o‬أداء عالي مع البيانات الكبيرة‪.‬‬ ‫▪ العيوب‪:‬‬ ‫‪ o‬عدم دعم العالقات المعقدة مثل قواعد البيانات العالئقية‪.‬‬ ‫‪ o‬افتقار لبعض المعايير القياسية مثل ‪SQL.‬‬ ‫تطور أنظمة قواعد البيانات‬ ‫❑ قواعد البيانات السحابية والبيانات الضخمة ‪)2020s( Big Data‬‬ ‫▪ مع التحول إلى التخزين السحابي وزيادة البيانات الضخمة‪ ،‬تعتمد الشركات‬ ‫بشكل متزايد على قواعد البيانات السحابية التي تدير كميات هائلة من البيانات‬ ‫عبر اإلنترنت‪.‬‬ ‫▪ المزايا‪:‬‬ ‫‪ o‬مرونة كبيرة في التخزين والوصول‪.‬‬ ‫‪ o‬دعم البيانات الضخمة والتحليالت المتقدمة‪.‬‬ ‫‪ o‬تكاليف أقل مقارنة باألنظمة التقليدية‪.‬‬ ‫▪ العيوب‪:‬‬ ‫‪ o‬قد تكون هناك مشكالت تتعلق باألمان والخصوصية‪.‬‬ ‫قواعد البيانات العالئقية ‪Relational Databases - RDBMS‬‬ ‫تخزن البيانات في جداول ‪ Tables‬حيث يتكون كل جدول من‪:‬‬ ‫▪‬ ‫‪ -‬صفوف ‪ Rows‬وتسمى ايضاً سجالت ‪Records‬‬ ‫‪ -‬أعمدة ‪ Columns‬وتسمى أيضا حقول ‪Fields‬‬ ‫جيدا‪.‬‬ ‫عادة في هياكل وعالقات محددة ً‬ ‫تُنظم البيانات ً‬ ‫▪‬ ‫تُخزن البيانات بتنسيق منظم باستخدام المخططات ‪Schemas‬‬ ‫▪‬ ‫تستخدم لغة االستعالمات الهيكلية ‪ SQL‬لالستعالم وإدارة البيانات‪.‬‬ ‫▪‬ ‫تستخدم مثالً فى األنظمة المالية‪ ،‬منصات التجارة اإللكترونية‪ ،‬إدارة عالقات العمالء‬ ‫▪‬ ‫‪CRM‬‬ ‫قواعد البيانات العالئقية ‪Relational Databases - RDBMS‬‬ ‫❑ معامالت قاعدة البيانات ‪:Transactions‬‬ ‫▪ هي العملية أو العمليات التي تتم على جدول أو عدة عدة جداول وتعتمد على‬ ‫بعضها‪.‬‬ ‫▪ مثل‪ :‬إنشاء سجل أو عدة سجالت أو تحديث بيانات سجل أو مجموعة سجالت‪.‬‬ ‫▪ فثالً لو أن نظام بنكى عند تسجيل عميل جديد في جدول العمالء يتم ايضاً انشاء‬ ‫حساب لهذا العميل (انشاء سجل في جدول حسابات العمالء) باإلضافة إلى‬ ‫إدخال البيانات المالية لحساب العميل (المبلغ ‪ ،‬تاريخ االنشاء وما إلى ذلك)‬ ‫▪ فمن األولى هنا أن تتم العمليتان في ‪ transaction‬واحد وذلك لنضمن أن كافة‬ ‫العمليات قد نجحت جميعها‪.‬‬ ‫قواعد البيانات العالئقية ‪Relational Databases - RDBMS‬‬ ‫❑ معامالت قاعدة البيانات ‪:Transactions‬‬ ‫▪ في حال تمت العملية األولى مثالً (اضافة العميل إلى جدول العمالء) ولكن فشلت‬ ‫عملية انشاء حساب لسبب ما أو عملية تقييد المبالغ ‪ ،‬فهنا سيتم إلغاء عملية‬ ‫تسجيل العميل أيضاً‪ ،‬فنحن ال نريد هنا فقط عملية تخزين بيانات العميل بل نريد‬ ‫كل العمليات أن تتم مرة واحدة وككتلة واحدة ‪.‬‬ ‫التغييرات في قاعدة البيانات يجب أن يتم إجراؤها بعناية لضمان سالمة البيانات‪.‬‬ ‫▪‬ ‫▪ يعد تطبيق خصائص ‪ ACID‬على كل تعديل هو أفضل نهج يمكن اتباعة لتحقيق‬ ‫أفضل النتائج‪.‬‬ ‫قواعد البيانات العالئقية ‪Relational Databases - RDBMS‬‬ ‫❑ تلتزم قواعد البيانات بخصائص ال ‪ ACID‬وهي مجموعة من المعايير والمبادئ‬ ‫األساسية التي تضمن معالجة العمليات في المعامالت ‪ Transactions‬التي‬ ‫تجري في قاعدة البيانات بشكل موثوق‪.‬‬ ‫قواعد البيانات العالئقية ‪Relational Databases - RDBMS‬‬ ‫❑ وبذلك فإننا سنحصل على قواعد بيانات آمنة ومستقرة و ذات قدر كبير من‬ ‫التكاملية لتخدم األغراض التي استخدمت ألجلها بأفضل طريقة ممكنة‪.‬فمن المؤكد‬ ‫أن قاعدة البيانات التي تحتوي على بيانات تالفة تمثل مشكالت كبيرة قد تكون‬ ‫تكلفتها باهظة ‪.‬‬ ‫❑ إذ تعتبر المخزن والسجل الذي تستند عليه المؤسسات والمشاريع في تعامالتها‬ ‫اليومية وفي قياس النتائج واستخالص التقارير بجميع أنواعها ‪.‬هذه الخصائص‬ ‫تضمن أن العمليات على البيانات تتم بشكل موثوق وتحتفظ بسالمتها حتى في‬ ‫حاالت األخطاء أو األعطال‪.‬‬ ‫قواعد البيانات العالئقية ‪Relational Databases - RDBMS‬‬ ‫معا لضمان أن عمليات قاعدة البيانات تظل موثوقة ومتسقة‪ ،‬مما‬ ‫ً‬ ‫الخصائص‬ ‫هذه‬ ‫تعمل‬ ‫يساعد على الحفاظ على سالمة البيانات وتجنب الفساد أو فقدان المعلومات‪.‬‬ ‫قواعد البيانات العالئقية ‪Relational Databases - RDBMS‬‬ ‫❑ ‪:Atomicity‬‬ ‫يقصد بها مكون غير قابل للتجزئة‬ ‫ ‬ ‫في قواعد البيانات تعني أن كل عملية تتم بشكل كامل أو ال تتم على‬ ‫ ‬ ‫اإلطالق‪.‬‬ ‫مثالً في التعامالت المالية‪ :‬لو اننا نتحدث عن عملية شراء في متجر‬ ‫ ‬ ‫إلكتروني وتم انشاء الطلب بنجاح ولكن عند عملية الدفع حدث خطأ ما‬ ‫أدى إلى فشل تحويل أو تقييد المبلغ فهنا سيتم إلغاء الطلب‪.‬‬ ‫وهو إجراء بالغ األهمية يهدف لمنع األخطاء والمشاكل التي قد تنتج من‬ ‫ ‬ ‫إنشاء حاالت غير المكتملة أو تم فيها إنهاء المعاملة جز ًئيا‪.‬‬ ‫هذا يضمن أن قاعدة البيانات ال تبقى في حالة غير متسقة بسبب عملية‬ ‫ ‬ ‫غير مكتملة‪.‬‬ ‫قواعد البيانات العالئقية ‪Relational Databases - RDBMS‬‬ ‫❑ االتساق ‪: Consistency‬‬ ‫يتأكد هذا المعيار من أن البيانات المدخلة أو المعدلة صحيحة وسليمة ومطابقة‬ ‫ ‬ ‫للشروط وصالحة لالستخدام‪ ،‬ما لم سيتم إلغاء العملية أو مجموعة العمليات‪.‬‬ ‫يتضمن االتساق الحفاظ على القواعد والعالقات المضمنة في قاعدة البيانات‪.‬‬ ‫ ‬ ‫أي أن البيانات يجب أن تكون مطابقة للشروط والضوابط المحددة في قاعدة‬ ‫ ‬ ‫البيانات‪.‬‬ ‫مثالً‪ :‬لو أن هناك عملية تحدث في نظام بنكي وتتضمن هذه العملية سحب‬ ‫ ‬ ‫مبلغ من حساب عميل ما وإضافته إلى حساب عميل أخر (تحويل من حساب‬ ‫إلى حساب) فلو أن المبلغ المتوفر في حساب العميل األول أقل من المبلغ‬ ‫المراد تحويله فمن األولى أن ال تتم العمليتان بسبب عدم توفر الرصيد الكافي‪.‬‬ Relational Databases - RDBMS ‫قواعد البيانات العالئقية‬ ❑ Consider the following transaction T consisting of T1 and T2 : Transfer of 100 from account X to account Y. ‫قواعد البيانات العالئقية ‪Relational Databases - RDBMS‬‬ ‫❑ العزل ‪:Isolation‬‬ ‫تعني أن العمليات المتزامنة يجب أن تكون منعزلة عن بعضها البعض‪.‬كما لو‬ ‫ ‬ ‫كانت تعمل في قاعدة بيانات مستقلة‪.‬‬ ‫هذا يضمن أن العمليات المتزامنة ال تؤدي إلى مشاكل مثل قراءة بيانات غير‬ ‫ ‬ ‫متسقة‪.‬مما يعني أن كل معاملة ‪ transaction‬تحدث بترتيب مميز دون حدوث‬ ‫أي معامالت بنفس اللحظة على بيانات معينة قبل انتهاء العملية األولى‪.‬‬ ‫وبعبارات أخرى يهدف العزل من التأكد من أنه لن تتأثر أي عمليات قراءة أو‬ ‫ ‬ ‫كتابة يتم إجراؤها على قاعدة البيانات بعمليات القراءة والكتابة األخرى للمعامالت‬ ‫‪ transactions‬المنفصلة‪ ،‬التي تحدث في نفس قاعدة البيانات‪.‬‬ ‫يتم إنشاء ترتيب عام مع كل معاملة حيث تصطف في طابور لضمان اكتمال‬ ‫ ‬ ‫المعامالت بالكامل قبل أن تبدأ معاملة أخرى‪.‬‬ Relational Databases - RDBMS ‫قواعد البيانات العالئقية‬ ❑ Consider the following transaction T consisting of T1 and T2 : Transfer of 100 from account X to account Y. ‫قواعد البيانات العالئقية ‪Relational Databases - RDBMS‬‬ ‫❑ ‪:Durability‬‬ ‫تعني أن التغييرات التي تمت على قاعدة البيانات يجب أن تكون دائمة بعد‬ ‫ ‬ ‫تأكيد العملية ‪commit‬‬ ‫حتى في حالة حدوث أعطال أو مشاكل في النظام‪ ،‬يجب أن تبقى التغييرات‬ ‫ ‬ ‫التي تمت على قاعدة البيانات محفوظة‪.‬‬

Use Quizgecko on...
Browser
Browser