Databases Lecture Notes - MCI - 2025-2024 PDF
Document Details
Uploaded by AstonishingRomanArt
The Higher Institute of Marketing, Trade and Information Systems
2025
Dr. Mariam Samy
Tags
Summary
These lecture notes cover various aspects of databases, including their role in supporting internet and e-commerce applications, database management systems (DBMS), and database design techniques. The document details different database architectures such as single-tier and three-tier. The notes will provide information on how to structure and interact with databases, from fundamental concepts to more advanced topics. This document also includes the names of different concepts and models such as Entity Relationship Diagrams (ERD).
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 2 المحاضرة الثانية ❑ دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة االلكترونية ❑ نظم إدارة قواعد البيانات DBMSوأهميتها ❑ بناء قواعد البيانات ❑ مخطط عالقات الكيانات المعهد العاىل للتسويق والتجارة ونظم المعلومات The Higher Institute of Marketing, Commerce, and Information Systems Lecture 2 نواتج التعلم المستهدفة ❑ يشرح دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة االلكترونية ❑ يشرح نظم إدارة قواعد البيانات DBMSوأهميتها دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة اإللكترونية ❑ إدارة البيانات الضخمة Big Data Management ▪ تطبيقات اإلنترنت والتجارة اإللكترونية تتعامل مع كميات هائلة من البيانات يوميا ،مثل معلومات المستخدمين ،الطلبات ،المنتجات ،والمدفوعات. ً ▪ قواعد البيانات مثل NoSQLوالعالئقية ،RDBMSتتيح إدارة وتخزين هذه البيانات بطريقة منظمة ،مما يسهل استرجاعها وتحليلها في الوقت المناسب. ❑ أداء واستجابة عالية High Performance and Scalability أمر بالغ األهمية لتوفير تجربة مستخدم جيدة. ▪ األداء السريع ًا ▪ قواعد البيانات المتقدمة تتيح توزيع البيانات عبر خوادم متعددة لتقليل زمن االستجابة وزيادة قدرة النظام على معالجة آالف الطلبات في وقت واحد. دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة اإللكترونية ❑ إدارة المستخدمين وتسجيل الدخول User Management and - Authentication ▪ تستخدم منصات التجارة اإللكترونية قواعد البيانات لتخزين معلومات المستخدمين مثل بيانات التسجيل ،تسجيل الدخول ،وكلمات المرور. ▪ كما تعتمد على قواعد البيانات في إدارة الصالحيات والوصول إلى المحتوى المخصص لكل مستخدم. دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة اإللكترونية ❑ إدارة الطلبات والمخزون Order and Inventory Management - ▪ تعتمد التجارة اإللكترونية على قواعد البيانات لتتبع المخزون ▪ تحديث حالة الطلبات في الوقت الفعلي ومراقبة العمليات اللوجستية. بناء على وتحديثه ▪ توفر هذه األنظمة دقة عالية في تتبع المخزون ً المبيعات الفعلية. دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة اإللكترونية ❑ معالجة المدفوعات Payment Processing - دور في تخزين ومعالجة بيانات الدفع بطرق آمنة. ▪ قواعد البيانات تلعب ًا ▪ من خالل االعتماد على معايير أمنية مشددة مثل التشفير Encryption وإدارة المعامالت ،Transaction Managementيمكن التأكد من سالمة عمليات الدفع عبر اإلنترنت. دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة اإللكترونية ❑ تحليل البيانات والتخصيص Data Analysis and Personalization - ▪ قواعد البيانات تسمح بتخزين وتحليل بيانات المستخدمين وسلوكهم الشرائي. ▪ مما يساعد مواقع التجارة اإللكترونية على تقديم توصيات مخصصة (مثل بناء على تاريخ التصفح أو الشراء) ،وتحسين ً العميل تهم قد التي المنتجات الحمالت التسويقية. دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة اإللكترونية ❑ أمن البيانات Data Security - ▪ حماية بيانات المستخدمين هي أحد أكبر التحديات في تطبيقات اإلنترنت والتجارة اإللكترونية. ▪ قواعد البيانات توفر آليات أمان متقدمة مثل التشفير وإدارة الصالحيات لضمان حماية البيانات من االختراقات أو االستخدام غير المصرح به. دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة اإللكترونية ❑ إدارة المحتوى Content Management ▪ تستخدم قواعد البيانات في إدارة المحتوى المعروض على مواقع اإلنترنت والتجارة اإللكترونية ،مثل المعلومات المتعلقة بالمنتجات ،أو الصور ،أو مقاطع الفيديو ،مما يسهل عمليات التحديث الدورية للموقع. دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة اإللكترونية ❑ التكامل مع أنظمة الدفع والشحن Integration with Payment and - Shipping Systems ▪ قواعد البيانات تساعد في التكامل مع بوابات الدفع وأنظمة الشحن. ▪ حيث يتم تخزين معلومات الدفع والتسليم في قاعدة البيانات لسهولة متابعتها من قبل المستخدمين ومزودي الخدمة. دور قواعد البيانات فى دعم تطبيقات االنترنت والتجارة اإللكترونية ❑ ضمان توافر البيانات Data Availability and Reliability - ▪ قواعد البيانات الحديثة توفر آليات لضمان توافر البيانات واستم اررية الخدمة، حتى في حالة تعطل بعض الخوادم أو حدوث مشكالت تقنية ،وذلك من خالل تقنيات النسخ االحتياطي والتوزيع الجغرافي للبيانات. نظم إدارة قواعد البيانات DBMSs ❑ هي برامج تُستخدم إلنشاء ،إدارة ،وتعديل قواعد البيانات. ❑ تسهل التعامل مع البيانات بطريقة منظمة ومباشرة. ❑ توفر أدوات السترجاع البيانات بسرعة ودقة وفًقا الحتياجات المستخدم. حاسما في تخزين البيانات ومعالجتها بطريقة تسهم في ً دور ا ً األنظمة هذه تلعب ❑ تحسين أداء التطبيقات وتوفير األمان الالزم للبيانات. نظم إدارة قواعد البيانات DBMSs ❑ أهمية نظم إدارة قواعد البيانات: ▪ إدارة البيانات بكفاءة من خالل تنظيم البيانات فى شكل جداول. ▪ التقليل من التكرار . ▪ أمان البيانات من خالل التشفير وتحديد صالحيات المستخدمين. ▪ استرجاع البيانات بسهولة من خالل االستعالمات. ▪ دعم المعامالت من خالل الخصائص ACIDلضمان سالمة المعامالت عند تعديل أو تحديث البيانات. ▪ دعم النسخ االحتياطي من خالل أدوات للنسخ االحتياطي للبيانات واستعادتها في حالة حدوث فشل في النظام أو تعطل غير متوقع. نظم إدارة قواعد البيانات DBMSs ❑ وظائف نظم ادارة قواعد البيانات: ▪ تعريف البيانات Data Definition ▪ إدخال البيانات Data Manipulation ▪ استعالم البيانات Data Querying ▪ تكامل البيانات Data Integrity ▪ إدارة المستخدمين User Management ▪ الصيانة Maintenance نظم إدارة قواعد البيانات DBMSs ❑ أمثلة على نظم إدارة قواعد البيانات: : MySQLنظام قاعدة بيانات عالئقية مفتوحة المصدر ،تُستخدم على نطاق ▪ واسع في تطوير مواقع الويب. : Oracle DBنظام قاعدة بيانات تجارية شهيرة تُستخدم في المؤسسات ▪ نظر لميزاتها القوية ودعمها للتطبيقات المعقدة. الكبيرة ًا : Microsoft SQL Serverنظام قاعدة بيانات عالئقية تستخدم في ▪ الشركات إلدارة البيانات والتطبيقات. ▪ قاعدة بيانات : NoSQLنظام يستخدم لتخزين البيانات غير المنظمة مثل المستندات. الوظائف المتعلقة بقواعد البيانات ❑ مسؤول قاعدة البيانات : DBA ▪ مسؤول عن تثبيت installationقواعد البيانات وإعدادها configuration وصيانتها وأمنها. ▪ كما يقوم بمهام مثل النسخ االحتياطي واستعادة البيانات وضبط األداء واستكشاف األخطاء troubleshootingوإدارة المستخدمين. ❑ مطور قاعدة البيانات : Database Developer ▪ مسؤول عن تصميم وتطوير واختبار قواعد البيانات. ▪ كما يقوم بمهام مثل نمذجة البيانات data modelingوتحسين االستعالمات query optimizationواإلجراءات المخزنة stored procedures الوظائف المتعلقة بقواعد البيانات ❑ عالم البيانات :Data Scientist ▪ مسؤول عن استخراج األفكار والمعرفة من البيانات الموجودة في قواعد البيانات. ▪ كما يقوم بمهام مثل تنظيف البيانات واستكشاف البيانات ونمذجة البيانات والتعلم اآللي والذكاء االصطناعي. بناء نظم إدارة قواعد البيانات ❑ هيكلية نظم إدارة قواعد البيانات DBMSتحدد: ▪ كيفية تنظيم البيانات ▪ وكيفية تفاعل المستخدمين مع قاعدة البيانات. ▪ وكذلك كيفية إدارة البيانات داخل النظام. بناء نظم إدارة قواعد البيانات ❑ هيكلية المستوى الواحد Single-Tier Architecture ▪ في هذا النوع من الهيكلية ،يتم إدارة جميع مكونات DBMSمن خالل تطبيق واحد فقط على نفس الجهاز.حيث يمكن للمستخدمين التفاعل مع قاعدة البيانات مباشرة دون وجود مستوى وسيط بين المستخدم والنظام. ▪ المزايا: oبسيط وسهل الفهم والتطبيق. oمناسب للتطبيقات الصغيرة التي ال تحتاج إلى تفاعل مع العديد من المستخدمين. ▪ العيوب: oمحدود في االستخدام ،حيث ال يدعم التطبيقات الكبيرة أو المعقدة. oال يدعم االتصال عبر الشبكات أو بيئات متعددة المستخدمين. بناء نظم إدارة قواعد البيانات ❑ هيكلية المستويين Two-Tier Architecture ▪ في هيكلية المستويين ،يتم تقسيم النظام إلى طبقتين رئيسيتين: oالعميل : Clientالواجهة التي يتفاعل معها المستخدم إلدخال البيانات أو استخراجها. oالخادم : Serverيقوم بإدارة قاعدة البيانات ومعالجة االستعالمات المرسلة من العميل. بناء نظم إدارة قواعد البيانات ❑ هيكلية المستويين Two-Tier Architecture ▪ آلية العمل: oالمستخدم يقوم بإدخال استعالم عبر واجهة العميل. oيتم إرسال االستعالم إلى خادم قاعدة البيانات ،الذي يعالجه ويعيد النتيجة إلى العميل. ▪ المزايا: oتحسين األداء مقارنة بالهيكلية ذات المستوى الواحد. oيفصل بين واجهة المستخدم ومعالجة البيانات ،مما يتيح توزيع األحمال بشكل أفضل. ▪ العيوب: oمع زيادة عدد المستخدمين ،قد تتعرض الخوادم إلى ضغط كبير مما يقلل من األداء. oيحتاج إلى إدارة جيدة للشبكة بين العميل والخادم. بناء نظم إدارة قواعد البيانات ❑ هيكلية الثالثة مستويات Three-Tier Architecture تتكون من ثالثة مستويات رئيسية: ▪ مستوى العرض : Presentation Tier - Clientيمثل الواجهة التي يتفاعل معها المستخدم (مثل تطبيق أو متصفح ويب).يستخدم المستخدم هذا المستوى إلدخال االستعالمات واستقبال النتائج. ▪ مستوى التطبيقات : Application Tier - Middlewareيمثل الوسيط بين المستخدم وقاعدة البيانات.يتولى هذا المستوى معالجة منطق األعمال Business Logicوالتحقق من البيانات قبل إرسالها إلى مستوى البيانات. كما يقوم بالتنسيق بين مستوى العرض ومستوى البيانات. بناء نظم إدارة قواعد البيانات ❑ هيكلية الثالثة مستويات Three-Tier Architecture ▪ مستوى البيانات : Data Tier - Database Serverيتعامل مع تخزين المعامالت ومعالجة البيانات، قاعدة استعالمات إدارة البيانات، Transactionsفي هذا المستوى ،يتم إدارة قاعدة البيانات الفعلية باستخدام خوادم قوية قادرة على التعامل مع كميات ضخمة من البيانات. بناء نظم إدارة قواعد البيانات ❑ هيكلية الثالثة مستويات Three-Tier Architecture ▪ المزايا: oقابلية التوسع : Scalabilityيمكن توزيع كل مستوى على خوادم مختلفة لتحسين األداء وتوزيع الحمل. محسن : Improved Securityيفصل بين واجهة المستخدم ّ أمان o والبيانات ،مما يضيف طبقة أمان إضافية. oإدارة أفضل Better Manageabilityيسهل تحديث كل مستوى بشكل مستقل دون التأثير على المستويات األخرى. بناء نظم إدارة قواعد البيانات ❑ هيكلية الثالثة مستويات Three-Tier Architecture ▪ العيوب: oالتعقيد : Complexityيتطلب بناء وصيانة هذه البنية موارد وخبرة أكبر. oالتكلفة : Costيحتاج إلى موارد أكثر من حيث الخوادم واإلدارة. مراحل بناء قواعد البيانات ▪ مرحلة التحليل Analysis oيتم دراسة النظام الحالي وفهم مكوناته وعملياته والمشاكل التي تواجهه والقصور الموجودة فيه ،وتنتهي عملية التحليل بتحديد احتياجات المستخدم. ▪ مرحلة التصميم Design oويتم خالل هذه المرحلة إيجاد التصميم األمثل لنظام المعلومات الحاسوبي الذي يلبي احتياجات المستخدمين والتي تم توصيفها في مرحلة التحليل. بناء نظم إدارة قواعد البيانات ❑ مراحل بناء قواعد البيانات: ▪ مرحلة التنفيذ Implementation oويتم خاللها تنفيذ التصميم الذي يتم التوصل إليه في المرحلة السابقة وتحويله إلى نظام جاهز للعمل أو تعديل النظام الموجود. oوبالطبع فان قواعد البيانات في مرحلة التنفيذ بحاجة إلى ب ارمج وأدوات خاصة إلدارتها والتعامل معها وهى .DBMS مخطط عالقة الكيانات ERD ❑ هو طريقة شائعة ومستخدمة لتصميم قواعد البيانات العالئقية. ❑ يهدف هذا النموذج إلى تمثيل البيانات من خالل "الكيانات" و"العالقات" بينها بطريقة بصرية مبسطة تسهل فهم الهيكلية وتنظيم البيانات. ❑ هو رسم تخطيطي يعرض العالقة بين مجموعات الكيانات المخزنة في قاعدة البيانات. ❑ هو نموذج ُيستخدم لتصميم قواعد البيانات لفهم كيفية تنظيم البيانات وتفاعلها. مخطط عالقة الكيانات ERD مخطط عالقة الكيانات ERD ملموسا مثل ً اشيئ ً نيكو أن يمكن الذي و ، Entity الكيان يمثل :المستطيل ❑ مفهوما مثل "طلب". ً أو "عميل" ❑ الدوائر :تمثل الخصائص أو الصفات Attributesالخاصة بالكيان.كل دائرة تمثل خاصية معينة ،مثل اسم العميل أو تاريخ الطلب. ❑ المعين (أو شكل الماسة)ُ :يستخدم لتمثيل العالقات Relationshipsبين الكيانات.يوضح كيف ترتبط الكيانات ببعضها البعض. ❑ الخطوط :توضح أنواع العالقات ،سواء كانت عالقة واحد إلى واحد ،واحد إلى متعدد ،أو متعدد إلى متعدد. مخطط عالقة الكيانات ERD ❑ الكيانات : Entities ▪ الكيان entityهو كائن في العالم الحقيقي له وجود مستقل ،كما يمكن تمييزه عن الكائنات األخرى ،وهو كائن أو شيء يمكن أن نحتفظ ببيانات عنه. ▪ على سبيل المثال ،في قاعدة بيانات خاصة بجامعة ،يمكن أن يكون "طالب" كيانا.ويرمز للكيان بمستطيل يحتوى اسم الكيان. أو "كورس" أو "أستاذ" ً طالب مخطط عالقة الكيانات ERD ❑ الكيانات : Entities ▪ قد يكون هذا الكيان: oكائن له وجود مادي physical existence مثل :محاضر ،وطالب ،وسيارة. oكائن له وجود مفاهيمي conceptual existence مثل مقرر دراسى ،وظيفة. مخطط عالقة الكيانات ERD ❑ الكيانات : Entities ▪ أمثلة على الكيانات: oشخص :الموظف ،الطالب ،المريض oالمكان :مخزن ،مبنى oشئ :اآللة والمنتج والسيارة oالحدث :بيع ،تسجيل ،تجديد مخطط عالقة الكيانات ERD ❑ الكيانات : Entities ▪ أنواع الكيانات: oالكيانات القوية : Strong Entitiesكيانات يمكن أن توجد بمفردها دون االعتماد على كيانات أخرى.مثل كيان "طالب" oالكيانات الضعيفة : Weak Entitiesكيانات تعتمد على كيان آخر لوجودها.يمثل الكيان الضعيف مستطيل مزدوج ،على سبيل المثال :ال يمكن تحديد الحساب المصرفي بشكل فريد دون معرفة البنك الذي ينتمي إليه الحساب ،وبالتالي فإن الحساب المصرفي هو كيان ضعيف. مخطط عالقة الكيانات ERD ❑ السمات : Attributes ▪ السمة هي خاصية أو ميزة تُستخدم لوصف الكيان. ▪ على سبيل المثال :السمة "اسم الموظف" أو "تاريخ ميالد الموظف" في كيان "الموظف" مخطط عالقة الكيانات ERD ❑ السمات : Attributes مخطط عالقة الكيانات ERD ❑ السمات : Attributes ▪ أنواع السمات: oالسمة الرئيسية key كيانا من مجموعة كيان. تحدد السمة الرئيسية بشكل فريد ً على سبيل المثال :يمكن الرقم الجامعي للطالب أن يحدد بشكل فريد طالبا من بين مجموعة من الطالب ،ويتم تمثيل السمة الرئيسية ً بالبيضاوي مثل السمات األخرى ،ولكن يتم وضع خط تحت نص السمة الرئيسية. مخطط عالقة الكيانات ERD ❑ السمات : Attributes ▪ أنواع السمات: oالسمات البسيطة Simple Attributes سمات لها قيمة واحدة وال يمكن تقسيمها ،مثل "الرقم القومي". oالسمات المركبة Composite Attributes سمات يمكن تقسيمها إلى أجزاء أى بيان له تفاصيل ،مثل "العنوان" الذي يتكون من "المدينة"" ،الشارع" ،إلخ. مخطط عالقة الكيانات ERD ❑ السمات : Attributes ▪ أنواع السمات: oالسمات متعددة القيم Multi-valued Attributes سمات يمكن أن تأخذ أكثر من قيمة ،مثل "رقم هاتف الطالب" الذي قد يكون له أكثر من رقم. مثال :المؤهل (بكالوريوس – ماجستير ).. - مخطط عالقة الكيانات ERD ❑ السمات : Attributes ▪ أنواع السمات: oالسمات المشتقة Derived Attributes سمات يمكن أن نستنتج قيمتها بمعلومية سمات أخرى. مثل :العمر يمكن حسابة من تاريخ الميالد مثل :صافى الدخل :يمكن حسابه من المرتب – الضرائب +الحوافز مخطط عالقة الكيانات ERD ❑ السمات : Attributes مخطط عالقة الكيانات ERD ❑ مثال: