Professional Documents
Culture Documents
Slide 01
Slide 01
Slide 01
مجردة من مفاهيم التقنية ،قاعدة البيانات هي مكان لحفظ بيانات معينة على نحو مستمر بهدف
ّ بطريقة بسيطة
الرجوع إليها وقت الحاجة ،فدفتر أرقام الهواتف الذي كنا نستعمله في الماضي يُع ّدّ قاعدة بيانات؛ والكم الهائل من
الفواتير المحاسبية الورقية المحفوظة في خزانات األقسام المالية في الشركات قديماً ،أيضّا ً هو قاعدة بيانات .و ِقس
على ذلك العديد من األمثلة الواقعية والملموسة.
وجود خاصية هامة لقاعدة البيانات ،أال وهي “االستمرارية” أو “الدوام” في حفظ البيانات.
في الجانب التقني والبرمجي ،فإن قاعدة البيانات 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ولم تكن هذه األفضلية التي يتمتع بها نظام قواعد البيانات العالقية تأتي من فراغ ،بل من الخصائص التي تتمتع بها.
البساطة
تُرتَّب البيانات في أنظمة قواعد البيانات العالقية وتُحفَظ بطريقة بعيدة عن التعقيد ،حيث يع ّّد الجدول الذي ّت ُحفظ فيه البيانات مفهوما ألغلب
المستخدمين وخاصة الذين مارسوا أعماال في مجال البيانات المجدولة أو مراجعة السجالت.
المرونة
تتمتع قواعد البيانات العالقية بطبيعتها بالمرونة والقابلية للتطوير ،مما يجعلها قابلة للتكيف مع طلبات التغيير والزيادة
في كم البيانات .وهذا يعني مثال أننا نستطيع التغيير على هيكلية جدول معين دون التأثير على البيانات الموجودة فيه أو
على قاعدة البيانات ككل ،كما أننا – مثال -لن نحتاج إلى وقف قاعدة البيانات وإعادة تشغيلها مرة أخرى لتنفيذ بعض
لتغييرات عليها.
ما هي البرمجيات التي تقدم قواعد البيانات العالقية؟
تَتَعدد الشركات والبرمجيات التي تُقدم أنظمة إدارة قواعد البيانات ،وكل منها له سوقه ومجاله الذي يشتهر به .أشهر
أنظمة إدارة قواعد البيانات العالقية.
تُسمى البرمجيات التي تنشئ وتدير قواعد البيانات بأنظمة إدارة قواعد البيانات Databases Management
تختلف وتتعدد تسميات أنواع أنظمة إدارة البيانات ،وهذا االختالف نابع بالدرجة األولى من تقدم الزمن وما صاحبه
من تقدم في العلوم والتقنيات ،ومن ثم بالدرجة الثانية ،ينبع االختالف من التقنيات والخصائص المتعددة لهذه
تنقسم جمل وأوامر SQLإلى ثالث مجموعات ،وذلك حسب الدور الذي يقوم به األمر:
• لغة التعامل مع البيانات Data Manipulation Language:تحتوي هذه المجموعة على جمل غرضها إعطاء
القدرة على التعامل مع البيانات دون التأثير على هيكليتها وشكلها العام ،بحيث تستطيع االستعالم عن البيانات،
ّ
سجالت ،حذفها أو تعديلها. إضافة
• لغة تعريف البيانات Data Definition Language:تُقدم األوامر التي تندرج تحت هذه المجموعة القدرة على
تعريف البيانات وشكلها وطريقة ربطها ببعضها عبر استخدام أوامر إلنشاء الجداول وإنشاء قاعدة البيانات.
• لغة التحكم بالبيانات Data Control Language:تساعد هذه المجموعة من األوامر في تحديد الصالحيات التي
يمكن منحها أو سلبها من المستخدمين الموجودين في قاعدة البيانات.
يسرد الجدول التالي أهم األوامر التي ت ُ َمكن المبرمج من إنشاء قاعدة البيانات الخاصة به وتنفيذ الجمل الخاصة بإدارتها وإدارة
بياناتها.
بنية تعليماتSQL
تُنفَّذ تعليمات SQLعلى الجداول الموجودة في قواعد البيانات ،وتلك الجداول تتألف من أعمدة وسجالت؛ أما
التعليمات فهي تتألف من كلمات محجوزة ومتغيرات ومعامالت (وغير ذلك) التي تُح ِ ّدد ما هي العملية التي نريد
تنفيذها .
صرح عن النتيجة النهائية للعملية التي نريد إجراءها ،وليس عن التفاصيل الالزمة لطريقة إجراء تلك
لغة SQLت ُ ِ
العملية ،إذ َّّ
إن محركات قواعد البيانات هي المسؤولة عن تلك التفاصيل .
المثال اآلتي يُبيّن استخدام االستعالم SELECTلتحديد عمودين من أحد الجداول ،مع توفير اسم بديل ) (ASألحد
األعمدة ،لتحديد السجالت التي ينطبق عليها شرطّ معيّن ) ،(WHEREوترتيبها وفق أحد األعمدة (ORDER
BY):
نُ ِ ّ
ظم هذا الدليل بتخصيص صفحة لكل عبارة أو كلمة محجوزة أو معامل في ، SQLويكون اسم تلك الصفحة بأحرفّ صغيرة ،وإذا تألفت العبارة
فمثالّ صفحة االستعالم SELECTستكون موجودّة ً على الرابط ، SQL/selectأما
ً صل بينها بشرطة سفلية؛
من أكثر من كلمة فيُف َ
فهي موجودة في SQL/order_byوهكذا ... صفحة ORDER BY
أنواع البيانات
أنواع البيانات التي يمكن استخدامها مع محركات قواعد البيانات المختلفة (البيانات العددية ،والبيانات النصية ،والوقت والتاريخ،
والبيانات الثنائية ...إلخ. ).
أساسيات لغة SQL
القيمة NULL
يستخدم التعبير IS NULLللتأكد من خلو القيمة (أي ال توجد قيمة في الحقل المحدد) .
التعليقات Comments
تضاف التعليقات إلى الشيفرة بهدف تسهيل قراءتها أو كتابة مالحظات جانبية مساعدة.
❑ المعامل LIKE
يستخدم لتحديد نمط معين للسلسلة النصية يُحدد الشرط وفقًا له.
❑ المعامالت المنطقية AND, OR, NOT
غالبًاّماّتستخدمّالمعامالتّالمنطقيةّ( ANDوّ ORوّ )NOTفيّعبارةّ WHEREللربطّماّبينّالشروطّأوّنفيها.
شرط CASE
تستخدم الختبار شرط معين بشكل مشابه لتعليمات if/elseفي لغات البرمجة األخرى لتعيد أحد التعابير الممكنة.
حلقة WHILE
تهدف حلقة WHILEإلى تكرار عددّ من التعليمات باستمرار تحقق الشرط ضمنها ،إذ يُتأ َّكد من تحّقّق الشرط قبل
البدء بتنفيذ التعليمات التي تحتويه.
العمليات
العمليات
العملية هي مجموعة من التعديالت التي تتم في قاعدة البيانات وفق تسلسل منطقي ،وينتج عنها بعض التغييرات في
القاعدة كحذف سجل أو تعديل بيانات أو إنشاء سجل جديد ،هذه كلها عبارة عن عمليات ،وتصبح هذه التغييرات
جز ًءا دائ ًما من قاعدة البيانات إذا نُفذَّت بشكل تا ّّم دون أخطاء ،أما في حال حدوث أ ّّ
ي خطأ فيُترا َجع عن هذه
التغييرات وتعود قاعدة البيانات كما هي قبل إنجاز العمليات عليها.
❑ األمر COMMIT
يستخدم بهدف حفظ التغييرات ال ُمجراة على قاعدة البيانات نتيجة لتنفيذ العمليات ،إذ تحفظ كافة التغييرات منذ آخر
أمر COMMITأو ROLLBACK
❑ األمر ROLLBACK
يستخدم إللغاء العمليات ال ُمجراة على قاعدة البيانات مما يعني تجاهل التغييرات التي طرأت عليها.
التعامل مع المستخدمين
❑ إنشاء المستخدم CREATE USER
يُستخدم إلنشاء مستخدم جديد ،وتختلف صيغته بحسب محركات قواعد البيانات المختلفة.
❑ االستخدام USE
يستخدمّلتحديدّقاعدةّالبياناتّالتيّيتَعا َملّمعهاّلنقلّالسياقّ contextلها.
التعامل مع الجداول
❑ مفاتيح الجداول Table Keys
تستخدمّالمفاتيحّبهدفّالربطّماّبينّالجداولّفيّقواعدّالبيانات .ومنّأنواعها :المفتاحّاألوليّ،والمفتاحّالثانوي.