أساسيات قواعد البيانات
لدراسة أساسيات قواعد البيانات، في وقتنا الحالي عليك أن تعرف أن، البيانات هي الركيزة الأساسية التي تتمحور
حولها جميع الأنظمة حول العالم، بمختلف أنواعها وأحجامها، بل نرى بعض الشركات الكبيرة يكون عملها الأساسي
هو جمع البيانات الخاصة بالعملاء، لدراسة هذه البيانات وتوظيفها بشكل يناسب احتياجات العملاء وتطوير عمليات الحصول على عملاء جدد، مما يوضح مدى أهمية البيانات والمعلومات في الوقت الحالي.
ما هي قواعد البيانات Database ؟
أساسيات قواعد البيانات (Database) هي نظام لحفظ البيانات في شكل جداول (Tables) مترابطة وتتكون هذه الجداول من صفوف وأعمدة (Rows and Columns) والتي بدورها تحتوي على البيانات الخاصة بهذا الجدول، وتساعد قواعد البيانات في حفظ البيانات بطريقة أكثر فعالية من حفظها باستخدام طرق تقليدية، مثل: ملفات النصوص (Text Files).
يمكن التفكير في مفهوم قواعد البيانات بالمثال التالي:
يوجد شركة ما لديها بيانات حول العملاء وبيانات أخرى حول المبيعات، فيمكن تخزين بيانات العملاء في شيت إكسل
وبيانات المبيعات في شيت إكسل آخر، ولكن تتميز قواعد البيانات عن برنامج الإكسل في عدة جوانب، أهمها وجود
العلاقات بين الجداول والترابط فيما بينها (Relationships)، فهذا يساعد جدا
وكذلك، في عملية ربط قواعد البيانات بالتطبيقات لوصول أسرع إلى البيانات المرادة فقط، فالهدف الرئيسي
لاستخدام قواعد البيانات هو خدمة أكبر عدد من التطبيقات والبرامج المرتبطة بقاعدة البيانات، وذلك على عكس نظام
تخزين البيانات القائم على الملفات (File Based System) الذي قد يسبب بعض المشاكل مثل، تكرار البيانات أو عدم
ترتيبها، تساعد قواعد البيانات في تسهيل عمليات البحث والتعديل واستدعاء البيانات من خلال هذه التطبيقات بطريقة فعالة جدا لأبعد الحدود.
أنواع قواعد البيانات
توجد عدة أنواع من قواعد البيانات ولكن هناك نوعان فقط لديهما شهرة واسعة، وذلك لأن أغلب البرامج والتطبيقات تقوم
على هذان النوعان، وهما:
قواعد البيانات العلائقية Relational Database
تم إنشاء قواعد البيانات العلائقية على النموذج التخيلي (Conceptual Model) الذي بناه “إدجر فرانك كود” عالم الكمبيوتر في شركة IBM في ذلك الوقت، حيث: يقوم النموذج على جعل البيانات في صورة جداول وعلاقات مترابطة وهو ما يعرف حاليا بإسم:
- Entity Relationship Diagram (ERD)
ويتم تحويل هذا النموذج التخيلي إلى نموذج واقعي بتطبيقه عن طريق استخدام أحد أنظمة إدارة قواعد البيانات العلائقية (RDBMS)، مثل: Oracle, MySQL, Microsoft SQL Server يقوم النموذج العلائقي على تخزين البيانات في شكل:
جداول تتكون من صفوف وأعمدة، وتوجد علاقات ومفاتيح معينة بين هذه الجداول وبعضها، كما يتم فرض بعض القيود التي يمكن أن تتحكم في الوصول إلى البيانات.
هذا مثال لجدول داخل قاعدة بيانات
ROLL_NO | NAME | ADDRESS | PHONE | AGE |
1 | RAM | DELHI | 9455123451 | 18 |
2 | RAMESH | GURGAON | 9652431543 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
4 | SURESH | DELHI | 18 |
- الأعمدة: تعمل على وصف البيانات، في المثال السابق العمود Name يوضح الإسم.
- الصفوف: تمثل عدد البيانات في كل جدول
قواعد البيانات الغير علائقية NoSQL Database
تم تصميم هذا النوع من أنظمة إدارة قواعد البيانات لتخزين البيانات الغير منتظمة والشبه منتظمة، مثل: الصور والفيديوهات وصفحات الويب، وعلى عكس قواعد البيانات التقليدية فهي لا تنطبق عليها المعايير الخاصة بقواعد البيانات العلائقية مثل: المخطط الواضح (Defined Schema)، مع وجود مرونة في نموذج البيانات (Data Model)، حيث لا يوجد نموذج موحد يندرج تحته جميع البيانات التي يتم تخزينها.
أبرز أنظمتها هي MongoDB حيث تعتبر من نوع Document Database وهو نوع من أنواع NoSQL Databases ويتم تخزين البيانات الشبه منتظمة بداخل MongoDB مثل JSON and XML
مكونات قواعد البيانات العلائقية
الجداول Tables
تعد الجداول البنية الأساسية لهذا النوع من قواعد البيانات، وتشبه الجداول الموجودة في ملفات الإكسل، وتستخدم الجداول لحفظ البيانات المتشابهة في
مكان واحد، حتى يسهل استعادتها بسهولة من قبل البرامج والتطبيقات، وتتكون الجداول من أعمدة وصفوف تقوم على وصف هذه البيانات وتحديد عددها.
العلاقات Relationships
تقوم العلاقات على الربط بين الجداول وبعضها، وهذا يجعل عدد كبير من الجداول يحتوى على أنواع مختلفة من البيانات ولكنها مرتبطة مع بعضها، وتختلف العلاقات من نظام لآخر، ومن أنواع هذه العلاقات:
- علاقة واحد إلى واحد (One to One): يتم ربط كل صف من جدول ما بصف آخر في جدول آخر، ولكنها ليست شائعة الاستخدام في معظم الأنظمة.
- علاقة واحد إلى متعدد (One to Many): يتم ربط كل صف من جدول ما بعدة صفوف من جدول آخر، مثل: القسم يعمل به عدة موظفين حيث هنا يتم ربط الصف الواحد في جدول الأقسام بعدة صفوف في جدول الموظفين.
- علاقة متعدد إلى متعدد (Many to Many): يتم ربط عدة صفوف من جدول ما بعدة صفوف من جدول آخر.
المفاتيح Keys
المفاتيح في قواعد البيانات هي اعمدة خاصة أو عدة أعمدة تلعب دورا هاما في تكاملية واستعادة البيانات، وتعمل أيضا كمعرفات فريدة (Unique Identifiers) للصفوف لتساعد في جعل تنظيم البيانات أكثر كفاءة، ومنها:
- المفتاح الأساسي (Primary Key): هو عمود مميز داخل الجدول يتم تعريفه بأنه المعرف الأساسي لكل صف في الجدول، ولديه بعض
- الحدود مثل عدم التكرار، أي أنه لا يتكرر داخل الجدول، ولا يمكن أن يحتوى على قيم فارغة (Null Values).
- المفتاح الأجنبي (Foreign Key): هو عمود داخل الجدول ما حيث يشير هذا العمود إلى المفتاح الأساسي في جدول آخر، وهذه الطريقة تقوم على الربط بين جدول وآخر، كما يساعد في طرق استعداة البيانات ومدى ترابطها.
لغة الإستعلام الهيكلية Structured Query Language (SQL)
تعد SQL هي اللغة الأساسية للتعامل مع قواعد البيانات، فهي الأساس في تخزين، والتعامل واستعادة البيانات داخل
أنظمة قواعد البيانات العلائقية، ويتم استخدامها من قبل جميع أنظمة إدارة قواعد البيانات العلائقية، مثل:
MySQL, SQL Server, Oracle, PostgreSQL، وتقوم لغة SQL بمعالجة البيانات، حيث تقوم على:
- إدخال البيانات الجديدة إلى الجداول في قاعدة البيانات.
- كما تقوم بتعديل هذه البيانات، وأيضا يمكنها حذف البيانات من داخل قاعدة البيانات.
- بالإضافة إلى: تقوم بدور كبير في استعداة هذه البيانات باستخدام دوال، مثل: Select, Filter, Sort, Join
كذلك، يمكنها أيضا القيام بعمل تحليل على البيانات داخل قاعدة البيانات باستخدام دوال Aggregations وهي: SUM, COUNT, AVG ، بل وتقوم
أيضا بتعريف البيانات أي يمكنك إنشاء قاعدة بيانات وجداول من خلالها باستخدام دوال مثل Create، وعند دراسة أساسيات قواعد البيانات،
فهل تعرف أن، لغة SQL مهمة جدا لصناعة البرمجيات، ومهارة أساسية لأي مطور قواعد بيانات، هذا بالإضافة إلى أنه، لا تقتصر على مطور
قواعد البيانات فقط، بل هي مهارة أساسية لمطوري الواجهة الأمامية والخلفية وحللي البيانات والعديد ممن يعملون في صناعة البرمجيات، كما
من المهم، جدا أن تكون هذه المهارة هي أفضل مهارة لدى مسئول قاعدة البيانات (Database Administrator) حيث يعد
هو القائم على كل أمور قواعد البيانات داخل الشركة وتنظيمها وتحرير القيود والحدود لاستعداة البيانات من قبل الأشخاص والتطبيقات المرتبطة بقواعد البيانات.
وفي نهاية الحديث عن أساسيات قواعد البيانات، نتمنى أن نكون قد قدمنا لكم مقالا متكاملا عن قواعد البيانات وأنواعها وكيفية التعامل معها، ونتمنى
لك دوام العلم والتقدم.تستطيع كذلك الاطلاع على: أدوات تطوير البرمجيات فهو بمثابة مرجع لك