قواعد البيانات بشكل عام من التخصصات الواسع فى مجال تكنولوجيا المعلومات سواء كمجال منفصل وكجزء من برمجة الويب, سنستعرض فى هذا المقال اهم ما يخص قواعد البيانات.
قبل البدء فى تعريف قاعدة البيانات لنفهم ما معنى البيانات اولًا.
البيانات هى حقائق متصلة عن شئ ما فمثلا اسمك وعنوانك وعمرك وصورتك وما إلى ذلك هى بيانات لوصفك.
الصور والملفات والفيديوهات ايضًا تعتبر بيانات.
لنتعرف الان على مفهوم قاعدة البيانات Database , قاعدة البيانات هي مجموعة من المعلومات التي يتم تنظيمها بحيث يمكن الوصول إليها بسهولة لإدارتها وتحديثها.
يتم تنظيم البيانات فى صفوف واعمدة وجداول ويتم فهرستها بحيث يسهل الوصول إليها لتعديله وعرضها واجراء العمليات المختلفة عليها.
لفهم العملية بشكل اكبر إليك بعض الامثلة.
موقع لدليل ارقام الهاتف من المؤكد انه سيستخدم قاعدة بيانات لتخزين بيانات الاشخاص وارقام الهواتف وتفاصيل تواصل اخرى وما إلى ذلك.
خدمة الكهرباء من الاكيد انها تستخدم قاعدة بيانات لادارة دفع الفواتير وتسجيل الاعطال وما إلى ذلك.
مثال اخر هو موقع فيسبوك فانه يقوم بيتخزين كل شئ موجود عليه فى قواعد بيانات مثل الاعضاء والاصدقاء للعضو والصفحات والتعليقات وكل شئ.
فى الحقيقة الامثلة على تطبيقات قواعد البيانات لا تعد ولا تحصى فقواعد البيانات فى كل مكان.
فى كل المواقع الحديثة والشركات وتطبيقات المحمول وكل شئ تقريبًا لايخلو منها.
محتوي المقال
مراحل تطور قواعد البيانات
قد تطورت قواعد البيانات بشكل كبير منذ ظهورها عام 1960 من نظام Flat File إلى النظام الهرمى والشبكى ثم قواعد البيانات الكائنية او Object Oriented Databases وصولًا إلى الانواع التى نراها فى يومنا هذا مثل قواعد بيانات SQL و NOSQL وقاعد بيانات السحابية او Cloud Databases.
لن نتطرق لكل هذه الانواع ولكن سنتكلم عن اول محاولة لعلماء الحاسوب لتصميم قاعدة بيانات وهى Flat File.
هذا النوع البدائى كان يعتمد على تخزين البيانات فى ملفات , فلنفترض انك تريد تصميم قاعدة بيانات لشركة بهذا النظام
لتخزين بيانات الموظفين وبيانات المديرين وبيانات الاجور وغيرها.
ستقول حسنًا نخزن كل مجموعة من البيانات المرتبطة فى ملف منفصل مثلًا كل الموظفين وبياناتهم فى ملف وكذلك كل المديرين فى ملف منفصل وهكذا.
بعد ذلك تقوم ببرمجة برنامج يتعامل مع كل ملف منها على حده لتخزين البيانات وتعديلها وحذفها بطريقة سهلة على مستخدمين النظام.
ظهرت الكثير من المشاكل فى هذا النظام وهى ان كل ملف يحتاج إلى لغة برمجة لتتعامل معه , كل مستخدم منعزل عن المستخدمين الاخرين لان كل مستخدم يعمل على برنامج مختلف وكل برنامج له ملفات خاصة به
فلو قام شخص بتعديل معين على البرنامج الخاص به فهذا التعديل لا يراه المستخدمين الاخرين , وهذا بالطبع يؤدى للكثير من المشاكل مثل تكرار البيانات واهدار مساحة التخزين.
بالطبع لم يكون هذا النوع سوا بداية وتلاحقت التحديثات وصولا إلى قواعد البيانات المستخدمة كثيرًا فى يومنا هذا والتى تسمى Relational database او قاعدة بيانات علائقية.
قاعدة البيانات العلائقية Relational database
قواعد البيانات العلائقية، التي ظهرت للنور في عام 1970، هي قاعدة بيانات تعتمد على مفهوم الجدول يتم فيها تعريف البيانات بحيث يمكن إعادة تنظيمها والوصول إليها بعدد من الطرق المختلفة.
تتكون قاعدة البيانات العلائقية من جداول وكل جدول يحتوي على بيانات مرتبطة مثال على ذلك جدول الموظفين وجدول للاجور وما إلى ذلك.
كل جدول يتكون من صفوف واعمدة , كل صف يحتوي بيانات للعنصر الذى يصفه الجدول على سبيل المثال إذا كان الجدول يحتوي على الموظفين فكل صف يصف بيانات موظف واحد , ام العمود يحتوي على بيانات مرتبطة مثال اسم الموظف يتحوي الصف على كل اسماء الموظفين.
انظر المثال القادم
هناك لغة قياسية متفق عليها لاوامر قواعد البيانات وهى لغة SQL او The Structured Query Language فهذه اللغة تستخدم للتعامل مع قواعد البيانات العلائقية وتتحكم فيها.
فيما تستخدم SQL
- يمكن ل SQL الاستعلام من قاعدة البيانات
- جلب النتائج من قاعدة البيانات
- ادراج بيانات فى قاعدة البيانات
- يمكنها تحديث البيانات
- حذف عناصر من قاعدة البيانات مثال حذف موظف
- انشاء قاعدة بيانات جديدة
- انشاء جداول فى قاعدة البيانات
- يمكنها ادارة الصلاحيات للمستخدمين على الجداول
- وغيرها
مثال على كود بلغة SQL.
SELECT * FROM Members WHERE Age > 30
السطر السابق يقوم بالرجوع بجميع بيانات الاعضاء الذين يتجاوز عمرهم الثلاثين.
نلاحظ من الكود السابق ان لغة SQL هى لغة بسيطة ويمكن تعلمها بسهولة.
أنواع قواعد البيانات
هناك انواع اخرى من قواعد البيانات تستخدم حاليًا غير قواعد البيانات العلائقية امثلة على هذه الانواع.
قاعدة البيانات الموزعة Distributed database
وتعنى ان البيانات لا يشترط ان تخزن على مساحة واحد على نفس الكمبيوتر فيمكن ان تقسم اجزاء على اجهزة مختلفة لها معالج مختلف وتتصل هذه الاجهزة ببعضها عن طريق الشبكة.
قاعدة البيانات السحابية Cloud database
قواعد البيانات السحابية هي قواعد بيانات تعمل عادة على منصة الحوسبة السحابية، يتم توفير الوصول إليها كخدمة. وتعتمد خدمات قاعدة البيانات هذه على قابلية للتوسع.
قاعدة البيانات NoSQL database
او قواعد البيانات الغير علائيقية وتتخذ منهج مختلفة عن قواعد البيانات العلائقية Rational Database فهذا النظام يحرر القيود التى تفرضها قواعد البيانات العلائقية على حفظ البيانات.
تطور هذا النوع مع الشركات الكبيرة مثل جوجل وفيسبوك وامزون بسبب ان هذه الشركات تتعامل مع البيانات الضخمة او Big data والتعامل مع البيانات الضخمة من مميزات هذا النظام.
امثلة على NoSQL
- ArangoDB
- BaseX
- Clusterpoint
لمعرفة المزيد عن نظام قواعد بيانات NoSQL
قاعدة البيانات الرسومية Graph database
وهى نوع من انواع NoSQL ويتبع نظرية الجراف او Graph Theory ويستخدم هذا النظام لوصف العلاقات بين البيانات بطريق مختلفة عن قواعد البيانات العلائقية.
وكمثال على ذلك منصات التواصل الاجتماعى حيث تستخدم هذا النوع مثلا لوصف العلاقة بين الاعضاء (اصدقاء – اقرباء وغيرها).
نظم ادارة قواعد البيانات DBMS
نظام إدارة قواعد البيانات (DBMS) هو نوع من البرامج التي تسمح لك بتعريف ومعالجة واسترجاع وإدارة البيانات المخزنة داخل قاعدة بيانات.
إذا فهو مجرد برنامج Software لإدارة قاعدة البيانات وللتعامل مع المكونات الجامدة او Hardware.
قواعد البيانات العلائقية لها الكثير من نظم ادارة قواعد البيانات وإليك بعض الامثلة.
- Oracle
- IBM DB2
- Microsoft SQL Server
- MySQL
وغيرها الكثير.
اخيرًا كل هذه الانواع تحاول وصف العلاقة بين البيانات بطريقة مختلفة وكل نوع مناسب لتطبيقات معينة وتبقى قواعد البيانات فى تطور دائم.
هذا المحتوى مفيد جدا جدا … يمكنك أخذ مفهوم كامل عن قواعد البيانات ( أقسامها و كيفية التعامل معها … إلخ) … جدا مشكور … وربنا يجعلها في ميزان حسناتك/م …
شكرًا لك اخى الكريم وسنحاول جاهدين اضافة المزيد من المحتوي عن قواعد البيانات فى الموقع قريبا باذن الله وربما تكون دورة كاملة عن احد نظم ادارة قواعد البيانات