Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ما هي قاعدة البيانات (Database)؟

قاعدة البيانات (database) مجموعة منظمة من البيانات مخزنة على حاسوب بحيث تستطيع البرامج العثور عليها وإضافتها وتعديلها وحذفها بسرعة وأمان. يديرها برنامج يسمى نظام إدارة قواعد البيانات (DBMS)، مثل PostgreSQL أو MySQL أو SQLite أو MongoDB.

بقلم Kevin Spektor, شريك مؤسس ورئيس قسم التكنولوجيا (CTO)

آخر تحديث 24 سبتمبر 2026

عندما تسجّل الدخول إلى موقع ما، يجب على الموقع أن يجد حسابك بين ملايين الحسابات الأخرى، ويتحقق من كلمة المرور، ويحمّل إعداداتك، وكل ذلك في أجزاء قليلة من الثانية. إنه لا يفتح ملفًا نصيًا ويقرؤه سطرًا سطرًا. بل يرسل طلبًا مثل SELECT * FROM users WHERE email = 'ana@example.com' إلى قاعدة بيانات، فتقفز قاعدة البيانات مباشرة إلى الصف الصحيح باستخدام فهرس، يشبه كثيرًا الفهرس في آخر الكتاب.

كيف تعمل قاعدة البيانات

جزءان يعملان معًا. قاعدة البيانات هي البيانات، منظمة في بنية ثابتة. ونظام إدارة قواعد البيانات (DBMS) هو البرنامج الذي يخزّن تلك البيانات في ملفات، ويحافظ على اتساقها، ويجيب عن الطلبات. PostgreSQL و MySQL و SQLite أنظمة إدارة قواعد بيانات، وقائمة عملائك هي قاعدة البيانات.

في قاعدة البيانات العلائقية تعيش البيانات في جداول. لكل جدول أعمدة (الاسم، والبلد، والنقاط) وصفوف (صف لكل مستخدم). يمر الطلب بهذه الخطوات:

  1. يرسل برنامجك استعلامًا، مكتوبًا عادةً بلغة SQL (Structured Query Language).
  2. يحلل DBMS الاستعلام ويخطط لطريقة الإجابة عنه: أي الجداول يقرأ، وهل يمكن لفهرس أن يتخطى معظم الصفوف.
  3. يقرأ البيانات من القرص في صفحات ثابتة الحجم (4,096 بايت افتراضيًا في SQLite، و8 KB في PostgreSQL)، ويُبقي الصفحات كثيرة الاستخدام في الذاكرة.
  4. يرشّح الصفوف ويرتّبها ويدمجها، ثم يُرجع النتيجة.

تأتي بايثون مع SQLite، فيمكنك تشغيل قاعدة بيانات حقيقية هنا مباشرة:

Kenji 340
Omar 340
Ana 120
users: 4 average points: 222.5

لا يقول البرنامج أبدًا كيف يبحث. بل يصف النتيجة التي يريدها، ويقرر DBMS كيف يصل إليها. وهذا هو الفرق الأساسي بين سؤال قاعدة بيانات وكتابة حلقة تمر على قائمة.

أنواع قواعد البيانات

النوعيخزّن البيانات على شكلأمثلةالاستخدام المعتاد
علائقية (SQL)جداول من الصفوف والأعمدة، مرتبطة بمفاتيحPostgreSQL و MySQL و SQLite و Oracle و SQL Serverالمستخدمون والطلبات والمدفوعات: معظم التطبيقات
المستنداتمستندات شبيهة بـ JSONMongoDB و Firestore و CouchDBسجلات تختلف حقولها من سجل لآخر
المفتاح والقيمةقيمة يُبحث عنها بمفتاح واحدRedis و DynamoDBالذاكرة المؤقتة (cache)، والجلسات، والعدادات
الأعمدة العريضةصفوف بأعمدة مرنة موزعة على خوادم كثيرةCassandra و HBaseأحجام كتابة مرتفعة جدًا
الرسوم البيانيةعُقد والعلاقات بينهاNeo4jالشبكات الاجتماعية، والتوصيات
السلاسل الزمنيةقياسات مفهرسة بالزمنInfluxDB و TimescaleDBالمقاييس، وقراءات الحساسات
المتجهاتقوائم من الأرقام (embeddings)pgvector و Pinecone و Milvusالبحث بالتشابه لميزات الذكاء الاصطناعي

كل ما ليس علائقيًا يُجمع غالبًا تحت اسم NoSQL. تبقى قواعد البيانات العلائقية الخيار الافتراضي لمعظم التطبيقات، لأن الجداول والقيود و SQL تغطي مجموعة واسعة من المشاكل بشكل جيد. وكثير من المنتجات تجمع بين الأنواع أيضًا: فـ PostgreSQL تخزّن مستندات JSON، و pgvector تضيف إليها البحث بالمتجهات.

المعاملات: الكل أو لا شيء

تحويل المال من Ana إلى Ben يحتاج إلى تغييرين: إضافة إلى Ben، وخصم من Ana. إن تعطل البرنامج بينهما، يظهر مال من العدم. المعاملة (transaction) تجمع التغييرات بحيث تُحفظ كلها أو لا يُحفظ أي منها. هنا يخالف التغيير الثاني قاعدة (لا يجوز أن ينزل الرصيد تحت الصفر)، فتتراجع قاعدة البيانات عن التغيير الأول أيضًا:

transfer 30 done
{'ana': 20, 'ben': 30}
transfer 40 failed: CHECK constraint failed: balance >= 0
{'ana': 20, 'ben': 30}

أُضيفت الـ 40 إلى Ben ثم سُحبت منه، فبقيت المجاميع متوازنة. تعد قواعد البيانات العلائقية بأربع خصائص للمعاملات تُعرف باسم ACID: الذرية (atomic، الكل أو لا شيء)، والاتساق (consistent، القواعد مثل CHECK تتحقق دائمًا)، والعزل (isolated، مستخدمان يشغّلان معاملتين في الوقت نفسه لا يرى أحدهما عمل الآخر غير المكتمل)، والديمومة (durable، التغيير بعد حفظه يصمد أمام التعطل أو انقطاع الكهرباء).

قاعدة البيانات مقابل جدول البيانات مقابل الملف

ملف نصي أو CSVجدول بياناتقاعدة بيانات
الحجمما يستطيع برنامجك تحميله1,048,576 صفًا لكل ورقة في Excelمليارات الصفوف
عدة كاتبين في الوقت نفسهلامحدودنعم، بالأقفال والمعاملات
العثور على سجل واحدقراءة الملف كاملًاالترشيح أو البحثالبحث عبر الفهرس
قواعد على البياناتلا توجدتحقق اختياريأنواع وقيود ومفاتيح أجنبية
طرح الأسئلةكتابة كودك الخاصالصيغSQL أو واجهة استعلام

جدول البيانات أداة جيدة لشخص واحد ينظر إلى بضعة آلاف من الصفوف. لكن حين تكتب عدة برامج أو مستخدمين البيانات في الوقت نفسه، أو حين يجب أن تتبع البيانات قواعد، تكون قاعدة البيانات هي الأداة المناسبة.

كيف تحمي قواعد البيانات البيانات

يكتب DBMS كل تغيير في سجل قبل أن يلمس ملفات البيانات (سجل الكتابة المسبقة، write-ahead log)، فيستطيع بعد التعطل إعادة تنفيذ العمل غير المكتمل أو التراجع عنه. ويمكن لـ PostgreSQL تخزين مجموع اختباري لكل صفحة من 8 KB، والإبلاغ عن فشل المجموع الاختباري حين يُرجع قرص متعطل بيانات تالفة. ويحدد المستخدمون والصلاحيات من يستطيع قراءة أي الجداول أو تغييرها، ويحتفظ النسخ المتماثل (replication) بنسخ على خوادم أخرى. كما يجب على البرامج تمرير مدخلات المستخدم على شكل معاملات (parameters)، مثل العلامات ? أعلاه، لا لصقها في نص SQL، فهكذا تحدث هجمات حقن SQL.

مفاهيم خاطئة شائعة

  • "SQL قاعدة بيانات." SQL هي اللغة. أما PostgreSQL و MySQL و SQLite فقواعد بيانات تفهمها.
  • "NoSQL تعني عدم وجود SQL إطلاقًا." يُقرأ المصطلح عادةً على أنه "not only SQL"، أي ليس SQL فقط، ولعدة قواعد بيانات NoSQL لغات استعلام تشبه SQL، مثل CQL في Cassandra.
  • "قاعدة البيانات دائمًا خادم كبير." SQLite ملف واحد يفتحه البرنامج مباشرة، دون أي خادم. وهي تعمل داخل كل هاتف Android و iOS.
  • "البيانات في قاعدة البيانات آمنة إلى الأبد." تحمي قاعدة البيانات من التعطل، لا من شخص يشغّل DELETE عن طريق الخطأ. فالنسخ الاحتياطية تظل ضرورية.

إلى أين بعد ذلك

تعلّمك دورة SQL الاستعلامات بدءًا من أول SELECT. وتغطي توثيقات SQLite الخطوات التالية: ما هي SQLite، وإنشاء جدول، والفهارس، ومنع حقن SQL. ولترى كيف تُرتَّب البيانات على القرص، اقرأ ما هو البايت، وتشرح صفحة المجموع الاختباري كيف تُكتشف الصفحات التالفة.

الأسئلة الشائعة

ما هي قاعدة البيانات بكلمات بسيطة؟
قاعدة البيانات مكان يحفظ فيه البرنامج المعلومات حتى يتمكن من العثور عليها مرة أخرى بسرعة. تخيّل خزانة ملفات لها فهرس مثالي: تطلب "كل طلبات الأسبوع الماضي" فتحصل على الإجابة في أجزاء من الثانية، حتى لو كانت هناك ملايين السجلات.
ما هو مثال على قاعدة بيانات؟
جهات الاتصال في هاتفك مخزنة في قاعدة بيانات: فنظاما Android و iOS كلاهما يأتيان مع SQLite. ويحفظ البنك حسابات العملاء في قاعدة بيانات مثل Oracle أو PostgreSQL، وتخزّن ويكيبيديا مقالاتها في MariaDB. والمتجر الإلكتروني يحفظ المنتجات والعملاء والطلبات في جداول مرتبطة ببعضها.
ما هي الأنواع الأربعة لقواعد البيانات؟
لا توجد قائمة رسمية من أربعة أنواع. الأربعة الأكثر ذكرًا هي: قواعد البيانات العلائقية (جداول و SQL)، وقواعد بيانات المستندات (سجلات شبيهة بـ JSON)، ومخازن المفتاح والقيمة (قيمة يُبحث عنها بمفتاح)، وقواعد بيانات الرسوم البيانية (عُقد وعلاقات). وتذكر الكتب الأقدم أيضًا قواعد البيانات الهرمية والشبكية.
ما هي أشهر 5 قواعد بيانات؟
تحتل Oracle و MySQL و Microsoft SQL Server و PostgreSQL و MongoDB المراتب الخمس الأولى في تصنيف الشعبية DB-Engines منذ سنوات. وبين المطورين، PostgreSQL هي قاعدة البيانات الأكثر استخدامًا في استطلاع Stack Overflow للمطورين منذ 2023، و SQLite هي الأوسع انتشارًا، لأنها مدمجة داخل الهواتف والمتصفحات.
ما الفرق بين قاعدة البيانات ونظام إدارة قواعد البيانات (DBMS)؟
قاعدة البيانات هي البيانات نفسها، منظمة في جداول أو مستندات. أما DBMS فهو البرنامج الذي يخزّن تلك البيانات على القرص ويجيب عن الطلبات المتعلقة بها، مثل PostgreSQL أو MySQL. وكثيرًا ما يقول الناس "قاعدة بيانات" ويقصدون الاثنين.
هل أحتاج إلى تعلم SQL لاستخدام قاعدة بيانات؟
في قواعد البيانات العلائقية، نعم: SQL هي الطريقة التي تُنشئ بها الجداول وتطرح بها الأسئلة على البيانات، وتعلّم أساسياتها يستغرق بضعة أيام. تستخدم برامج كثيرة مكتبة تكتب SQL نيابة عنك، لكن معرفة SQL تجعل فهم ما تفعله تلك المكتبة، ولماذا يكون استعلام ما بطيئًا، أسهل بكثير.
Coddy programming languages illustration

تعلّم البرمجة مع Coddy

ابدأ الآن