Slide 01

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

‫ما هي قاعدة البيانات؟‬

‫مجردة من مفاهيم التقنية‪ ،‬قاعدة البيانات هي مكان لحفظ بيانات معينة على نحو مستمر بهدف‬
‫ّ‬ ‫بطريقة بسيطة‬
‫الرجوع إليها وقت الحاجة‪ ،‬فدفتر أرقام الهواتف الذي كنا نستعمله في الماضي يُع ّدّ قاعدة بيانات؛ والكم الهائل من‬
‫الفواتير المحاسبية الورقية المحفوظة في خزانات األقسام المالية في الشركات قديماً‪ ،‬أيضّا ً هو قاعدة بيانات‪ .‬و ِقس‬
‫على ذلك العديد من األمثلة الواقعية والملموسة‪.‬‬
‫وجود خاصية هامة لقاعدة البيانات‪ ،‬أال وهي “االستمرارية” أو “الدوام” في حفظ البيانات‪.‬‬
‫في الجانب التقني والبرمجي‪ ،‬فإن قاعدة البيانات ‪ Database‬هي عبارة عن مستودع تُحفظ البيانات فيه داخل‬
‫جهاز الحاسوب أو الخادوم‪ ،‬ويتمتع هذا المستودع بخاصية االستمرارية في حفظ البيانات‪ .‬ونعني بخاصية‬
‫االستمرارية هنا أنه في حال إطفاء جهاز الحاسوب أو إعادة تشغيله أو انقطاع التواصل معه‪ ،‬فإن قاعدة البيانات‬
‫وما تحتويه من بيانات تبقى موجودة ومحفوظة دون أي خلل‪.‬‬
‫تنقسم أنواع أنظمة قواعد البيانات إلى ثالثة أنواع رئيسية‪.‬‬

‫‪.1‬نظام قاعدة البيانات الملف والواحد ‪ : Flat File Database‬يع ّدّ هذا النوع من األنظمة قديما ومن النادر أن تجد أحدا يعمل عليه إلى‬
‫اآلن‪ ،‬وهو ببساطة قاعدة بيانات من ملف واحد كبير يحتوي على كل البيانات‪ ،‬وهو يشبه جدول واحد به كل البيانات‪.‬‬

‫‪.2‬نظام إدارة قاعدة البيانات غير العالقية ‪ : Non-Relational DBMS‬ظهر هذا النوع من أنظمة قواعد البيانات في ظل عصر تضخم‬
‫البيانات وزيادة حجمها‪ ،‬وخاصة مع انتشار ما يسمى بالمواقع االجتماعية وتطبيقات الجوال وصفحات الوب الحديثة‪ ،‬فهذا النوع من‬
‫األنظمة يسمح بحفظ بيانات غير مرتبة وفق بنية معينة ‪ ،Unstructured Data‬وليس من الشرط أن تترابط هذه البيانات –‬
‫‪ ،Notrelational‬كما يطلق عليها ‪No-SQL Databases.‬‬

‫‪.3‬نظام إدارة قاعدة البيانات العالقية ‪ : Relational DBMS‬وهو النوع األشهر واألكثر استخداما منذ بداية ظهوره والذي سنعتمده في‬
‫هذه السلسلة لشرح ‪ ،SQL‬حيث تُج َّمع في هذا النوع من األنظمة البيانات التي لها عالقة ببعضها البعض في مكان واحد يسمى الجدول‪،‬‬
‫مع وجود اإلمكانية لربط الجداول مع بعضها البعض بعالقات ترابط‪.‬‬
‫ما هو الجدول؟‬

‫يُع ّدّ الجدول العنصر األساسي في قواعد البيانات العالقية‪ ،‬وعليه تعتمد أغلب مكونات قاعدة البيانات من مشاهد ‪ Views‬ودوال‬
‫وحزم ‪ Packages‬وغيرها من العناصر األخرى‪ .‬يتكون الجدول من أعمدة ‪ Columns‬وصفوف ‪ ،Rows‬حيث تمثل‬
‫‪ِ Functions‬‬
‫األعمدة ما يسمى بالخصائص ‪ ،Features‬والصفوف عبارة عن القيم التي تأخذها األعمدة وتسمى بالسجالت ‪Records.‬‬

‫يوضح الشكل التالي مثاال لجدول يحتوي على بيانات تواريخ ميالد وأسماء طالب في مدرسة‪ ،‬وفي المثال نوضح مكونات الجدول في‬
‫قاعدة البيانات‪.‬‬
‫خصائص قواعد البيانات العالقية ومميزاتها‬
‫ظلت قواعد البيانات العالقية مسيطرة منذ بدايات ظهور النموذج األساسي لها عام ‪ 1970‬على يد عالم الحاسوب‪ Frank Codd‬أثناء عمله‬
‫لصالح شركة ‪ ،IBM‬ولم تكن هذه األفضلية التي يتمتع بها نظام قواعد البيانات العالقية تأتي من فراغ‪ ،‬بل من الخصائص التي تتمتع بها‪.‬‬

‫البساطة‬
‫تُرتَّب البيانات في أنظمة قواعد البيانات العالقية وتُحفَظ بطريقة بعيدة عن التعقيد‪ ،‬حيث يع ّّد الجدول الذي ّت ُحفظ فيه البيانات مفهوما ألغلب‬
‫المستخدمين وخاصة الذين مارسوا أعماال في مجال البيانات المجدولة أو مراجعة السجالت‪.‬‬

‫سهولة االستعالم عن البيانات‬


‫بعد عمليات اإلضافة على قاعدة البيانات‪ ،‬وعند الحاجة للرجوع لها‪ ،‬فإن نظام قواعد البيانات العالئقية يوفر آلية سهلة لالستعالم عن هذه‬
‫البيانات واستردادها‪ ،‬وذلك عن طريق لغة ‪ ،SQL‬باإلضافة إلى وجود اإلمكانية للمستخدم أن يستعلم عن البيانات من أكثر من جدول في نفس‬
‫الوقت باستخدام جمل الربط ‪ Joins‬كما أن خاصية ترشيح ‪ Filtering‬البيانات وتحديد شروط خاصة لظهور سجالت معينة هو أمر متاح‬
‫بكل سهولة‪.‬‬
‫سالمة البيانات‬
‫تع ّدّ هذه الخاصية أساسية في أي نظام قواعد بيانات بغض النظر عن نوعه‪ .‬ونعني بهذه الخاصية أن تتوفر جميع‬
‫القدرات واإلمكانات في نظام قواعد البيانات لضمان دقة وصحة المعلومات الموجودة فيه‪ .‬ويندرج تحت هذه الخاصية‬
‫ما يسمى بقيود التكامل ‪ Integrity constraints‬والتي هي عبارة عن مجموعة من القيود التي يجب االلتزام بها عند‬
‫التعامل مع البيانات في الجدول‪.‬‬

‫المرونة‬
‫تتمتع قواعد البيانات العالقية بطبيعتها بالمرونة والقابلية للتطوير‪ ،‬مما يجعلها قابلة للتكيف مع طلبات التغيير والزيادة‬
‫في كم البيانات‪ .‬وهذا يعني مثال أننا نستطيع التغيير على هيكلية جدول معين دون التأثير على البيانات الموجودة فيه أو‬
‫على قاعدة البيانات ككل‪ ،‬كما أننا – مثال ‪ -‬لن نحتاج إلى وقف قاعدة البيانات وإعادة تشغيلها مرة أخرى لتنفيذ بعض‬
‫لتغييرات عليها‪.‬‬
‫ما هي البرمجيات التي تقدم قواعد البيانات العالقية؟‬
‫تَتَعدد الشركات والبرمجيات التي تُقدم أنظمة إدارة قواعد البيانات‪ ،‬وكل منها له سوقه ومجاله الذي يشتهر به‪ .‬أشهر‬
‫أنظمة إدارة قواعد البيانات العالقية‪.‬‬

‫قواعد بيانات ‪MySQL‬‬


‫أحد أشهر أنظمة قواعد البيانات العالقية مفتوحة المصدر‪ .‬تستطيع إنشاء العديد من قواعد البيانات بداخلها‪ ،‬وتستطيع‬
‫الوصول لها عبر ال ِوب‪ .‬تَعمل ‪ MySQL‬على هيئة ِخدمة ‪ Service‬تُتيح ألكثر من مستخدم الوصول إلى أكثر من‬
‫قاعدة بيانات‪ ،‬وتشتهر بين معشر مبرمجي تطبيقات ال ِوب الرتباطها الشائع مع لغة البرمجة ‪ ،PHP‬ويمكن تنصيبها على‬
‫أكثر من نظام تشغيل مثل وندوز أو لينكس أو ماك‪ .‬تع ّّد ‪ MySQL‬الخيار المفضل للشركات الناشئة أو المتوسطة وذلك‬
‫لسهولة التعامل معها وانخفاض تكاليف تشغيلها مقارنة بخيارات أخرى‪.‬‬
‫قواعد بيانات أوراكل ‪Oracle‬‬
‫تعد شركة أوراكل عمالق الشركات البرمجية التي تقدم أنظمة إدارة قواعد البيانات العالقية‪ ،‬وتأتي قاعدة البيانات أوراكل بأكثر من‬
‫إصدار (حسب البيئة والغرض) تبدأ من اإلصدار الشخصي والخفيف‪ ،‬وتنتهي باإلصدار المتقدم ‪ .Enterprise‬تتميز قواعد بيانات أوراكل‬
‫بكم كبير من اإلمكانات التي تسهل عليك حل العديد من المشاكل والعقبات في التطبيقات التي تديرها وتنشئها‪ ،‬مع وجود دعم فني قوي عبر‬
‫مجتمع أوراكل‪ ،‬لذلك فهي تعتبر الخيار اإلستراتيجي (البعيد المدى) للعديد من الشركات الكبيرة والجامعات والحكومات‪.‬‬

‫قواعد بيانات مايكروسوفت ‪Microsoft SQL Server‬‬


‫من قواعد البيانات الشهيرة‪ ،‬والذي تأتي أيضا بأكثر من إصدار‪ ،‬لتلبي احتياجات المستخدمين المختلفة وبيئات عملهم‪ ،‬ولكي تتعامل مع‬
‫البيانات في هذا النوع تحتاج الستخدام النسخة الخاصة من ‪ SQL‬والمسماة ‪ T-SQL‬اختصارا ل ‪ Transact SQL‬والتي هي عبارة عن‬
‫نسخة ‪ SQL‬مضاف عليه ادوال خاصة وتعديالت على طريقة حذف وتعديل السجالت‪.‬‬
‫قواعد بيانات ‪PostgreSQL‬‬
‫قواعد بينات ‪ PostgreSQL‬من قواعد البيانات العالقية المفضلة لدى بعض مطوري تطبيقات ال ِوب وتطبيقات سطح المكتب‪ ،‬وهو نظام‬
‫إدارة قواعد بيانات مفتوح المصدر‪ .‬توجد الكثير من الشركات الكبيرة والعاملة في مجال نطاقات إنترنت تعتمد على هذا النوع من قواعد‬
‫البيانات‪.‬‬
‫أنظمة إدارة قواعد البيانات العالقية‬

‫تُسمى البرمجيات التي تنشئ وتدير قواعد البيانات بأنظمة إدارة قواعد البيانات ‪Databases Management‬‬

‫‪ Systems‬وتكتب باالختصار ‪DBMS.‬‬

‫أنواع أنظمة إدارة قواعد البيانات؟‬

‫تختلف وتتعدد تسميات أنواع أنظمة إدارة البيانات‪ ،‬وهذا االختالف نابع بالدرجة األولى من تقدم الزمن وما صاحبه‬

‫من تقدم في العلوم والتقنيات‪ ،‬ومن ثم بالدرجة الثانية‪ ،‬ينبع االختالف من التقنيات والخصائص المتعددة لهذه‬

‫األنظمة وما تقدمه من خدمات‪.‬‬


‫‪ SQL‬هي اختصارّ للعبارة ‪ Structured Query Language‬أي لغة االستعالم البنوية‪،‬‬
‫وهي اللغة المستخدمة إلجراء عمليات على قواعد البيانات‪ ،‬بما في ذلك إضافة أو تحديث أو‬
‫حذف البيانات من قاعدة البيانات‪ ،‬أو لتعديل بينة قاعدة البيانات نفسها‪.‬‬
‫تستطيع باستخدام لغة ‪SQL‬أن تقوم بالتالي‪:‬‬
‫‪ .1‬االستعالمّعنّالبياناتّوجلبهاّمنّقاعدةّالبيانات‪.‬‬
‫‪ .2‬إضافة‪ّ،‬تعديلّالسجالتّفيّقاعدةّالبياناتّوحذفهاّمنها‪.‬‬
‫‪ .3‬الحفاظّعلىّسالمةّودقةّالبياناتّفيّقاعدةّالبيانات‪.‬‬
‫‪ .4‬تحديدّالصالحياتّواألذوناتّالخاصةّبمستخدميّقاعدةّالبيانات‪.‬‬
‫أنواع أوامر ‪SQL‬‬

‫تنقسم جمل وأوامر ‪ SQL‬إلى ثالث مجموعات‪ ،‬وذلك حسب الدور الذي يقوم به األمر‪:‬‬
‫• لغة التعامل مع البيانات ‪ Data Manipulation Language:‬تحتوي هذه المجموعة على جمل غرضها إعطاء‬
‫القدرة على التعامل مع البيانات دون التأثير على هيكليتها وشكلها العام‪ ،‬بحيث تستطيع االستعالم عن البيانات‪،‬‬
‫ّ‬
‫سجالت‪ ،‬حذفها أو تعديلها‪.‬‬ ‫إضافة‬
‫• لغة تعريف البيانات ‪ Data Definition Language:‬تُقدم األوامر التي تندرج تحت هذه المجموعة القدرة على‬
‫تعريف البيانات وشكلها وطريقة ربطها ببعضها عبر استخدام أوامر إلنشاء الجداول وإنشاء قاعدة البيانات‪.‬‬
‫• لغة التحكم بالبيانات ‪ Data Control Language:‬تساعد هذه المجموعة من األوامر في تحديد الصالحيات التي‬
‫يمكن منحها أو سلبها من المستخدمين الموجودين في قاعدة البيانات‪.‬‬
‫يسرد الجدول التالي أهم األوامر التي ت ُ َمكن المبرمج من إنشاء قاعدة البيانات الخاصة به وتنفيذ الجمل الخاصة بإدارتها وإدارة‬
‫بياناتها‪.‬‬
‫بنية تعليمات‪SQL‬‬

‫تُنفَّذ تعليمات ‪ SQL‬على الجداول الموجودة في قواعد البيانات‪ ،‬وتلك الجداول تتألف من أعمدة وسجالت؛ أما‬
‫التعليمات فهي تتألف من كلمات محجوزة ومتغيرات ومعامالت (وغير ذلك) التي تُح ِ ّدد ما هي العملية التي نريد‬
‫تنفيذها ‪.‬‬
‫صرح عن النتيجة النهائية للعملية التي نريد إجراءها‪ ،‬وليس عن التفاصيل الالزمة لطريقة إجراء تلك‬
‫لغة ‪ SQL‬ت ُ ِ‬
‫العملية‪ ،‬إذ َّّ‬
‫إن محركات قواعد البيانات هي المسؤولة عن تلك التفاصيل ‪.‬‬
‫المثال اآلتي يُبيّن استخدام االستعالم ‪ SELECT‬لتحديد عمودين من أحد الجداول‪ ،‬مع توفير اسم بديل )‪ (AS‬ألحد‬
‫األعمدة‪ ،‬لتحديد السجالت التي ينطبق عليها شرطّ معيّن )‪ ،(WHERE‬وترتيبها وفق أحد األعمدة ‪(ORDER‬‬
‫‪BY):‬‬

‫‪SELECT name, age*365 AS AgeDays‬‬


‫‪FROM students‬‬
‫‪WHERE age > 10‬‬
‫;‪ORDER BY name‬‬

‫نُ ِ ّ‬
‫ظم هذا الدليل بتخصيص صفحة لكل عبارة أو كلمة محجوزة أو معامل في ‪ ، SQL‬ويكون اسم تلك الصفحة بأحرفّ صغيرة‪ ،‬وإذا تألفت العبارة‬
‫فمثالّ صفحة االستعالم ‪ SELECT‬ستكون موجودّة ً على الرابط ‪ ، SQL/select‬أما‬
‫ً‬ ‫صل بينها بشرطة سفلية؛‬
‫من أكثر من كلمة فيُف َ‬
‫فهي موجودة في ‪ SQL/order_by‬وهكذا ‪...‬‬ ‫صفحة ‪ORDER BY‬‬
‫أنواع البيانات‬
‫أنواع البيانات التي يمكن استخدامها مع محركات قواعد البيانات المختلفة (البيانات العددية‪ ،‬والبيانات النصية‪ ،‬والوقت والتاريخ‪،‬‬
‫والبيانات الثنائية ‪...‬إلخ‪. ).‬‬
‫أساسيات لغة ‪SQL‬‬
‫القيمة ‪NULL‬‬
‫يستخدم التعبير ‪ IS NULL‬للتأكد من خلو القيمة (أي ال توجد قيمة في الحقل المحدد) ‪.‬‬
‫التعليقات ‪Comments‬‬
‫تضاف التعليقات إلى الشيفرة بهدف تسهيل قراءتها أو كتابة مالحظات جانبية مساعدة‪.‬‬

‫;)*(‪SELECT count‬‬ ‫‪-- This comment continues to the end of line‬‬


‫;)*(‪SELECT count‬‬ ‫;‪/* This is an inline comment */‬‬
‫التسمية ‪Alias‬‬
‫ًّ‬
‫تسهيال للتعامل معها باالسم البديل المؤقت‪ ،‬وذلك عند الحاجة إلى الوصول‬ ‫يمكن إطالق تسمية على الجداول أو الحقول‬
‫ًّ‬
‫طويال وصعب الكتابة‪.‬‬ ‫إلى نفس الجدول أو الحقل عدة مرات‪ ،‬وعندما يكون اسم الجدول أو الحقل‬
‫االستعالمات الفرعية ‪Subqueries‬‬
‫هي استعالم واقعّ ضمن استعالم آخر بهدف استخدام البيانات الناتجة عنه في االستعالم الرئيسي الذي يحتويه‪.‬‬
‫التعامل مع السجالت‬
‫عرض السجالت ‪SELECT‬‬ ‫•‬
‫ًّ‬
‫سجال أو أكثر‪ ،‬وعمودًا أو أكثر ‪.‬‬ ‫يُستخ َدم للحصول على سجالت البيانات من الجداول المخزنة في قاعدة البيانات‪ ،‬قد تكون نتيجة االستعالم‬
‫الشرط ‪WHERE‬‬ ‫•‬
‫يُستخدم ضمن استعالم ‪ SELECT‬لتحديد الشروط التي تُعرض أو تحذف السجالت أو تُعدل قيم حقولها وفقًا لها‪ ،‬إذ يُمكن أن تستخدم أي ً‬
‫ضا مع‬
‫استعال َمي ‪ DELETE‬و ‪UPDATE.‬‬
‫التجميع ‪GROUP BY‬‬ ‫•‬
‫تُستخدم في استعالم ‪ SELECT‬بهدف تجميع النتائج ضمن مجموعات بحسب عمود أو أكثر من الجدول ‪.‬‬
‫الشرط ‪HAVING‬‬ ‫•‬
‫يُستخدم ضمن استعالم ‪ SELECT‬لتحديد شرطّ معينّ عند تجميع السجالت مع بعضها ‪GROUP BY.‬‬
‫ترتيب النتائج ‪ORDER BY‬‬ ‫•‬
‫تتلخص مهمة عبارة ‪ ORDER BY‬بترتيب النتائج (تصاعديًا أو تنازليًا) ضمن استعالم ‪ SELECT‬وفق عمودّ (أو أكثر) من الجدول ‪.‬‬
‫‪HAVING‬‬ ‫الشرط‬ ‫•‬
‫يُستخدم ضمن استعالم ‪ SELECT‬لتحديد شرطّ معينّ عند تجميع السجالت مع بعضها ‪GROUP BY.‬‬
‫ترتيب النتائج ‪ORDER BY‬‬ ‫•‬
‫تتلخص مهمة عبارة ‪ ORDER BY‬بترتيب النتائج (تصاعديًا أو تنازليًا) ضمن استعالم ‪ SELECT‬وفق عمودّ (أو أكثر) من الجدول ‪.‬‬
‫الحصول على عدد محدد من النتائج‬ ‫•‬
‫يمكن تحديد عدد السجالت التي ستُجلب من الجدول ضمن استعالم ‪ SELECT‬أو التي ستُحذف من الجدول ضمن‬
‫استعالم ‪ DELETE‬أو ستُحدَّث قيمها ضمن استعالم ‪ ، UPDATE‬هنالك اختالفات بين محركات قواعد البيانات‪.‬‬
‫إدخال السجالت للجدول ‪INSERT‬‬ ‫•‬
‫مهمة هذا االستعالم هي إنشاء سجل جديد في الجدول ‪.‬‬
‫• حذف السجالت من الجدول ‪DELETE‬‬
‫ستخدمّلحذفّسجلّأوّأكثر‪.‬‬
‫• االستبدال ‪REPLACE‬‬
‫هوّاستعالمّيستخدمّللقيامّبنفسّمهمةّاالستعالمّ‪ INSERT‬إضافةّسجلّجديدّللجدولّولكنّإلدخالّسجلّبنفسّالقيمةّ‬
‫الموجودةّمسبقًاّفيّعمودّالمفتاحّاألول ّ‬
‫يّوذلكّمنعًاّلحدوثّالتكرار‪.‬‬
‫التعديل ‪UPDATE‬‬
‫يُستخدمّهذاّاالستعالمّمنّأجلّتحديثّقيمّالبياناتّالمخزنةّفيّسجالتّالجداول‪.‬‬
‫ربط الجداول‬
‫الربط الداخلي ‪INNER JOIN‬‬
‫يُستخدمّلتحديدّبعضّالسجالتّمنّالجدولّاليساريّوالجدولّاليمينيّبحيثّتحققّشرطّالربط‪.‬‬
‫الربط اليساري ‪LEFT JOIN‬‬
‫يُستخدمّلتحديدّكافةّالسجالتّمنّالجدولّاليساريّوبعضّالسجالتّمنّالجدولّاليمينيّالتيّتحققّ‬
‫شرطّالربط‪.‬‬
‫الربط اليميني ‪RIGHT JOIN‬‬
‫يُستخدم لتحديد بعض السجالت التي تحقق شرط الربط من الجدول اليساري وكافة السجالت من‬
‫الجدول اليميني‪.‬‬
‫الربط التام ‪FULL JOIN‬‬
‫يُستخدمّلتحديدّكافةّالسجالتّمنّالجدولينّاليساريّواليمينيّبغضّالنظرّعنّتحقيقهاّللشرط‪.‬‬
‫المعامالت‬
‫❑ المعامالت األساسية‬
‫تتضمن المعامالت األساسية المعامالت الرياضية‪ ،‬والمعامالت الثنائية‪ ،‬ومعامالت المقارنة‪ ،‬والمعامالت المنطقية‪،‬‬
‫ضا على جداول تبيّن أولوية المعامالت‪.‬‬
‫وتحتوي الصفحة أي ً‬

‫❑ النتائج المتمايزة ‪DISTINCT‬‬


‫تستخدم للحصول على قيمّ فريدةّ غير مكررة‪ ،‬وغالبًا ما تستخدم في استعالم ‪SELECT‬للحصول على سجالت ال‬
‫تتكرر القيم فيما بينها‪.‬‬

‫❑ التأكد من وجود سجل ‪EXISTS‬‬


‫يستخدم للتأكد من وجود سجالت ناتجة عن االستعالم الفرعي المستخدم في االستعالم الرئيسي‪.‬‬

‫❑ المعامل ‪LIKE‬‬
‫يستخدم لتحديد نمط معين للسلسلة النصية يُحدد الشرط وفقًا له‪.‬‬
‫❑ المعامالت المنطقية ‪AND, OR, NOT‬‬
‫غالبًاّماّتستخدمّالمعامالتّالمنطقيةّ( ‪AND‬وّ ‪OR‬وّ )‪NOT‬فيّعبارةّ ‪WHERE‬للربطّماّبينّالشروطّأوّنفيها‪.‬‬

‫❑ معامالت المجال ‪IN, BETWEEN‬‬


‫تُستخ َدمّهذهّالمعامالتّلتحديدّمجالّأوّعددّمح ّددّمنّالقيمّفيّ‪SQL.‬‬

‫❑ معامالت الضم ‪UNION, INTERSECT, EXCEPT‬‬


‫تُستخ َدمّهذهّالمعامالتّللربطّبينّنتائجّاالستعالماتّفيّ‪SQL.‬‬

‫❑ معامالت المقارنة ‪ALL, SOME, ANY‬‬


‫تستخدمّبهدفّالمقارنةّمعّالقيمّالناتجةّ(لعمودّواحدّ) عنّأحدّاالستعالماتّالفرعية‪.‬‬
‫بنى التحكم‬
‫شرط ‪IF‬‬
‫تستخدم صيغة ‪IF‬الختبار شرط معين للتأ ّكد من تحقّقه أو عدم تحقّقه وإجراء ما يتناسب مع ذلك‪.‬‬

‫شرط ‪CASE‬‬
‫تستخدم الختبار شرط معين بشكل مشابه لتعليمات ‪if/else‬في لغات البرمجة األخرى لتعيد أحد التعابير الممكنة‪.‬‬

‫حلقة ‪WHILE‬‬
‫تهدف حلقة ‪ WHILE‬إلى تكرار عددّ من التعليمات باستمرار تحقق الشرط ضمنها‪ ،‬إذ يُتأ َّكد من تحّقّق الشرط قبل‬
‫البدء بتنفيذ التعليمات التي تحتويه‪.‬‬
‫العمليات‬
‫العمليات‬
‫العملية هي مجموعة من التعديالت التي تتم في قاعدة البيانات وفق تسلسل منطقي‪ ،‬وينتج عنها بعض التغييرات في‬
‫القاعدة كحذف سجل أو تعديل بيانات أو إنشاء سجل جديد‪ ،‬هذه كلها عبارة عن عمليات‪ ،‬وتصبح هذه التغييرات‬
‫جز ًءا دائ ًما من قاعدة البيانات إذا نُفذَّت بشكل تا ّّم دون أخطاء‪ ،‬أما في حال حدوث أ ّّ‬
‫ي خطأ فيُترا َجع عن هذه‬
‫التغييرات وتعود قاعدة البيانات كما هي قبل إنجاز العمليات عليها‪.‬‬

‫❑ أمر بدأ العمليات ‪START TRANSACTION‬‬


‫يُستخدم هذا األمر لإلعالم بالبدء بإجراء مجموعة من العمليات التي قد تنتهي بأمر ‪ COMMIT‬أو ‪ROLLBACK‬‬

‫❑ األمر ‪COMMIT‬‬
‫يستخدم بهدف حفظ التغييرات ال ُمجراة على قاعدة البيانات نتيجة لتنفيذ العمليات‪ ،‬إذ تحفظ كافة التغييرات منذ آخر‬
‫أمر ‪COMMIT‬أو ‪ROLLBACK‬‬

‫❑ األمر ‪ROLLBACK‬‬
‫يستخدم إللغاء العمليات ال ُمجراة على قاعدة البيانات مما يعني تجاهل التغييرات التي طرأت عليها‪.‬‬
‫التعامل مع المستخدمين‬
‫❑ إنشاء المستخدم ‪CREATE USER‬‬
‫يُستخدم إلنشاء مستخدم جديد‪ ،‬وتختلف صيغته بحسب محركات قواعد البيانات المختلفة‪.‬‬

‫❑ تعديل المستخدم ‪ALTER USER‬‬


‫يُستخدم للتعديل من خصائص وسماحيات المستخدم‪ ،‬وتختلف صيغته بحسب محركات قواعد البيانات المختلفة‪.‬‬

‫❑ حذف المستخدم ‪DROP USER‬‬


‫يُستخ َدم لحذف مستخدم‪.‬‬

‫❑ منح الصالحيات ‪GRANT‬‬


‫لمستخدم أو مجموعة مستخدمين أو أكثر‪ ،‬وتختلف صيغته بحسب محركات‬
‫ّ‬ ‫يستخدم لمنح صالحيات الوصول ‪access privileges‬‬
‫قواعد البيانات المختلفة‪.‬‬

‫❑ إلغاء الصالحيات ‪REVOKE‬‬


‫لمستخدم أو مجموعة مستخدمين أو أكثر‪ ،‬وتختلف صيغته بحسب محركات‬
‫ّ‬ ‫يستخدم إللغاء صالحيات الوصول ‪access privileges‬‬
‫قواعد البيانات المختلفة‪.‬‬
‫التعامل مع الفهارس‬
‫❑ إنشاء الفهرس ‪CREATE INDEX‬‬
‫يستخدمّإلنشاءّفهرسّللجدول‪.‬‬

‫❑ تعديل الفهرس ‪ALTER INDEX‬‬


‫يستخدمّلتعديلّالفهرسّال ُمنشأّعبرّاألمرّ‪CREATE INDEX‬‬

‫❑ حذف الفهرس ‪DROP INDEX‬‬


‫يستخدمّلحذفّفهرسّأوّأكثر‪.‬‬
‫التعامل مع قواعد البيانات‬
‫❑ إنشاء قاعدة البيانات ‪CREATE DATABASE‬‬
‫يستخدمّإلنشاءّقاعدةّبياناتّجديدة‪.‬‬

‫❑ حذف قاعدة البيانات ‪DROP DATABASE‬‬


‫يستخدمّلحذفّقاعدةّالبيانات‪.‬‬

‫❑ االستخدام ‪USE‬‬
‫يستخدمّلتحديدّقاعدةّالبياناتّالتيّيتَعا َملّمعهاّلنقلّالسياقّ ‪ context‬لها‪.‬‬
‫التعامل مع الجداول‬
‫❑ مفاتيح الجداول ‪Table Keys‬‬
‫تستخدمّالمفاتيحّبهدفّالربطّماّبينّالجداولّفيّقواعدّالبيانات‪ .‬ومنّأنواعها‪ :‬المفتاحّاألولي‪ّ،‬والمفتاحّالثانوي‪.‬‬

‫❑ إنشاء الجدول ‪CREATE TABLE‬‬


‫يستخدمّإلنشاءّجدولّجديدّفيّقاعدةّالبيانات‪.‬‬
‫❑ تعديل جدول ‪ALTER TABLE‬‬

‫يستخدمّلتعديلّتعريفّالجدولّال ُمنشأّمسبقًاّعبرّاألمر ‪CREATE TABLE‬‬

‫❑ حذف الجدول ‪DROP TABLE‬‬


‫يستخدمّلحذفّجدولّأوّأكثرّمنّقاعدةّالبيانات‪.‬‬
‫التعامل مع الدوال‬
‫❖ الدوال المساعدة في ‪SQL‬‬
‫هذهّالدوالّتساعدّفيّإجراءّالعملياتّالرياضية واإلحصائية‪ّ،‬مثلّإيجادّعددّالسجالت‪ّ،‬وإعادةّأكبرّأو أصغرّ‬
‫قيمة‪ّ،‬وغيرهاّمنّالعمليات‪.‬‬

‫❑ إنشاء الدالة ‪CREATE FUNCTION‬‬


‫يستخدمّلتعريفّدالةّجديدة‪.‬‬

‫❑ تعديل الدالة ‪ALTER FUNCTION‬‬


‫عرفةّمسبقًاّعبرّاألمر‪CREATE FUNCTION‬‬
‫يستخدمّلتعديلّتعريفّدالةّ ُم َّ‬

‫❑ حذف الدالة ‪DROP FUNCTION‬‬


‫عرفةّمسبقًاّعبرّاألمرّ‪CREATE FUNCTION‬‬
‫يستخدمّلحذفّدالةّ(أوّإجراء) أوّأكثرّ ُم َّ‬

‫❑ العودة من الدالة ‪RETURN‬‬


‫تستخدمّإلنهاءّالدالةّوإعادةّقيمةّماّللموقعّالذيّاستُدعيتّفيهّالدالة‪.‬‬
‫التعامل مع العرض‬
‫❑ إنشاء العرض ‪CREATE VIEW‬‬
‫يستخدمّإلنشاءّعرضّوالذيّهوّعبارةّعنّجدولّافتراضيّيُبنىّباالعتمادّعلىّنتائجّاستعالمّما‪.‬‬

‫❑ تعديل العرض ‪ALTER VIEW‬‬

‫يستخدمّلتعديلّعرضّ ُمنشَأّمسبقًاّعبرّاألمرّ‪CREATE VIEW‬‬

‫❑ حذف العرض ‪DROP VIEW‬‬


‫يستخدمّلحذفّ ‪ view‬أوّأكثرّ ُمنشئّمسبقًاّعبرّاألمرّ‪CREATE VIEW‬‬

You might also like