قواعد البيانات PDF
Document Details
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