قاعدة البيانات

عبارة SQL SELECT ونتيجتها

في مجال الحوسبة ، تُعرَّف قاعدة البيانات بأنها مجموعة منظمة من البيانات أو نوع من مخازن البيانات ، تعتمد على نظام إدارة قواعد البيانات ( DBMS )، وهو البرنامج الذي يتفاعل مع المستخدمين النهائيين والتطبيقات وقاعدة البيانات نفسها لجمع البيانات وتحليلها. ويشمل نظام إدارة قواعد البيانات أيضًا الأدوات الأساسية اللازمة لإدارة قاعدة البيانات. ويُشار إلى مجموع قاعدة البيانات ونظام إدارة قواعد البيانات والتطبيقات المرتبطة بها بنظام قاعدة البيانات . كما يُستخدم مصطلح "قاعدة البيانات" أحيانًا بشكل عام للإشارة إلى أيٍّ من نظام إدارة قواعد البيانات أو نظام قاعدة البيانات أو أي تطبيق مرتبط بها.

قبل أن يصبح التخزين الرقمي للبيانات واسترجاعها شائعًا، كانت بطاقات الفهرسة تُستخدم لتخزين البيانات في نطاق واسع من التطبيقات والبيئات: في المنزل لتسجيل وتخزين الوصفات وقوائم التسوق ومعلومات الاتصال وغيرها من البيانات التنظيمية؛ وفي مجال الأعمال لتسجيل ملاحظات العروض التقديمية وبحوث المشاريع وملاحظاتها ومعلومات الاتصال؛ وفي المدارس كبطاقات تعليمية أو وسائل بصرية أخرى؛ وفي البحث الأكاديمي لحفظ بيانات مثل المراجع أو الملاحظات في ملف بطاقات . استخدم مُفهرسو الكتب المحترفون بطاقات الفهرسة في إنشاء فهارس الكتب حتى استُبدلت ببرامج الفهرسة في ثمانينيات وتسعينيات القرن الماضي.

يمكن تخزين قواعد البيانات الصغيرة على نظام ملفات ، بينما تُستضاف قواعد البيانات الكبيرة على مجموعات حاسوبية أو تخزين سحابي . يشمل تصميم قواعد البيانات تقنيات رسمية واعتبارات عملية، بما في ذلك نمذجة البيانات ، وتمثيل البيانات وتخزينها بكفاءة، ولغات الاستعلام ، وأمن وخصوصية البيانات الحساسة، وقضايا الحوسبة الموزعة ، بما في ذلك دعم الوصول المتزامن وتحمل الأعطال .

قد يصنف علماء الحاسوب أنظمة إدارة قواعد البيانات وفقًا لنماذج قواعد البيانات التي تدعمها. هيمنت قواعد البيانات العلائقية في ثمانينيات القرن الماضي، حيث تُعرض البيانات على شكل صفوف وأعمدة في سلسلة من الجداول ، وتستخدم غالبيتها العظمى لغة SQL لكتابة البيانات والاستعلام عنها. وفي العقد الأول من الألفية الثانية، شاعت قواعد البيانات غير العلائقية، والتي يُشار إليها مجتمعةً باسم NoSQL ، نظرًا لاستخدامها لغات استعلام مختلفة .

المصطلحات ونظرة عامة

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

بسبب العلاقة الوثيقة بينهما، غالباً ما يُستخدم مصطلح "قاعدة البيانات" بشكل غير رسمي للإشارة إلى كل من قاعدة البيانات ونظام إدارة قواعد البيانات المستخدم لمعالجتها.

خارج نطاق تكنولوجيا المعلومات المهنية ، يُستخدم مصطلح قاعدة البيانات غالبًا للإشارة إلى أي مجموعة من البيانات ذات الصلة (مثل جدول بيانات أو فهرس بطاقات) حيث أن متطلبات الحجم والاستخدام تستلزم عادةً استخدام نظام إدارة قواعد البيانات. [ 1 ]

توفر أنظمة إدارة قواعد البيانات الحالية وظائف متنوعة تسمح بإدارة قاعدة البيانات وبياناتها، والتي يمكن تصنيفها إلى أربع مجموعات وظيفية رئيسية:

  • تعريف البيانات - إنشاء وتعديل وإزالة التعريفات التي توضح بالتفصيل كيفية تنظيم البيانات.
  • التحديث – إدخال البيانات نفسها وتعديلها وحذفها. [ 2 ]
  • الاسترجاع – اختيار البيانات وفقًا لمعايير محددة (مثل الاستعلام، أو موقع في التسلسل الهرمي، أو موقع بالنسبة لبيانات أخرى) وتوفير تلك البيانات إما مباشرةً للمستخدم، أو إتاحتها لمزيد من المعالجة بواسطة قاعدة البيانات نفسها أو بواسطة تطبيقات أخرى. يمكن إتاحة البيانات المسترجعة بشكل مباشر تقريبًا دون تعديل، كما هي مخزنة في قاعدة البيانات، أو بشكل جديد يتم الحصول عليه عن طريق تغييرها أو دمجها مع بيانات موجودة في قاعدة البيانات. [ 3 ]
  • الإدارة – تسجيل المستخدمين ومراقبتهم، وإنفاذ أمن البيانات، ومراقبة الأداء، والحفاظ على سلامة البيانات، والتعامل مع التحكم في التزامن، واستعادة المعلومات التي تضررت بسبب حدث ما مثل عطل غير متوقع في النظام. [ 4 ]

يلتزم كل من قاعدة البيانات ونظام إدارة قواعد البيانات الخاص بها بمبادئ نموذج قاعدة بيانات معين . [ 5 ] يشير مصطلح "نظام قاعدة البيانات" بشكل جماعي إلى نموذج قاعدة البيانات، ونظام إدارة قواعد البيانات، وقاعدة البيانات نفسها. [ 6 ]

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

نظراً لأن أنظمة إدارة قواعد البيانات تشكل سوقاً مهمة ، فإن موردي أجهزة الكمبيوتر والتخزين غالباً ما يأخذون متطلبات أنظمة إدارة قواعد البيانات في الاعتبار في خطط التطوير الخاصة بهم. [ 7 ]

يمكن تصنيف قواعد البيانات وأنظمة إدارة قواعد البيانات وفقًا لنموذج (نماذج) قاعدة البيانات التي تدعمها (مثل العلائقية أو XML )، ونوع (أنواع) الكمبيوتر الذي تعمل عليه (من مجموعة خوادم إلى هاتف محمولولغة (لغات) الاستعلام المستخدمة للوصول إلى قاعدة البيانات (مثل SQL أو XQuery )، وهندستها الداخلية، والتي تؤثر على الأداء وقابلية التوسع والمرونة والأمان.

تاريخ

شهدت أحجام قواعد البيانات وأنظمة إدارة قواعد البيانات الخاصة بها، وقدراتها، وأداءها، نموًا هائلاً. وقد أُتيح هذا التحسن في الأداء بفضل التقدم التكنولوجي في مجالات المعالجات ، وذاكرة الحاسوب ، ووحدات التخزين ، وشبكات الحاسوب . وقد أصبح مفهوم قاعدة البيانات ممكنًا بفضل ظهور وسائط التخزين ذات الوصول المباشر ، مثل الأقراص المغناطيسية ، التي أصبحت متاحة على نطاق واسع في منتصف الستينيات؛ إذ كانت الأنظمة السابقة تعتمد على التخزين التسلسلي للبيانات على أشرطة مغناطيسية . ويمكن تقسيم التطور اللاحق لتكنولوجيا قواعد البيانات إلى ثلاث حقب بناءً على نموذج البيانات أو بنيتها: حقبة الملاحة ، [ 8 ] وحقبة SQL/ العلائقية ، وحقبة ما بعد العلائقية.

كان النموذجان الرئيسيان المبكران لبيانات الملاحة هما النموذج الهرمي ونموذج CODASYL ( نموذج الشبكة ). وقد تميز هذان النموذجان باستخدام المؤشرات (غالباً عناوين القرص الفعلي) لتتبع العلاقات من سجل إلى آخر.

انحرف النموذج العلائقي ، الذي اقترحه إدغار ف. كود لأول مرة عام 1970 ، عن هذا التقليد بإصراره على أن تبحث التطبيقات عن البيانات من خلال محتواها، بدلاً من اتباع الروابط. يستخدم النموذج العلائقي مجموعات من الجداول على غرار جداول السجلات، يُستخدم كل منها لنوع مختلف من الكيانات . لم تصبح أجهزة الحوسبة قوية بما يكفي للسماح بالانتشار الواسع للأنظمة العلائقية (أنظمة إدارة قواعد البيانات بالإضافة إلى التطبيقات) إلا في منتصف ثمانينيات القرن الماضي. مع ذلك، بحلول أوائل تسعينيات القرن الماضي، هيمنت الأنظمة العلائقية على جميع تطبيقات معالجة البيانات واسعة النطاق ، واعتبارًا من عام 2018لا تزال هذه الأنظمة مهيمنة: IBM Db2 و Oracle و MySQL و Microsoft SQL Server هي أنظمة إدارة قواعد البيانات الأكثر بحثًا . [ 9 ] وقد أثرت لغة قواعد البيانات السائدة، وهي لغة SQL المعيارية للنموذج العلائقي، على لغات قواعد البيانات لنماذج البيانات الأخرى.

تم تطوير قواعد بيانات الكائنات في الثمانينيات للتغلب على مشكلة عدم التوافق بين الكائنات والعلاقات ، مما أدى إلى صياغة مصطلح "ما بعد العلاقات" وأيضًا تطوير قواعد بيانات الكائنات والعلاقات الهجينة .

ظهر الجيل التالي من قواعد البيانات ما بعد العلائقية في أواخر العقد الأول من الألفية الثانية، والمعروف باسم قواعد بيانات NoSQL ، والذي قدم مخازن قيم مفتاحية سريعة وقواعد بيانات موجهة نحو المستندات . في المقابل، سعى جيل جديد منافس، يُعرف باسم قواعد بيانات NewSQL، إلى تقديم تطبيقات جديدة حافظت على نموذج SQL العلائقي، مع السعي في الوقت نفسه إلى تحقيق أداء عالٍ يضاهي أداء NoSQL مقارنةً بأنظمة إدارة قواعد البيانات العلائقية المتوفرة تجاريًا.

ستينيات القرن العشرين، نظام إدارة قواعد البيانات الملاحية

البنية الأساسية لنموذج قاعدة بيانات CODASYL للملاحة

تزامن ظهور مصطلح " قاعدة البيانات" مع توفر وسائل التخزين ذات الوصول المباشر (الأقراص والأسطوانات) بدءًا من منتصف الستينيات. وقد مثّل هذا المصطلح نقيضًا لأنظمة التخزين الشريطية القديمة، إذ أتاح استخدامًا تفاعليًا مشتركًا بدلًا من المعالجة الدفعية اليومية . ويشير قاموس أكسفورد الإنجليزي إلى تقرير صادر عام ١٩٦٢ عن شركة تطوير الأنظمة في كاليفورنيا باعتباره أول من استخدم مصطلح "قاعدة البيانات" بمعناه التقني المحدد. [ ١٠ ]

مع تطور سرعة وقدرات الحواسيب، ظهرت العديد من أنظمة قواعد البيانات متعددة الأغراض؛ وبحلول منتصف الستينيات، دخل عدد من هذه الأنظمة حيز الاستخدام التجاري. بدأ الاهتمام بوضع معيار موحد يزداد، فأسس تشارلز باخمان ، مؤلف أحد هذه المنتجات، وهو مخزن البيانات المتكامل (IDS)، فريق عمل قواعد البيانات ضمن منظمة CODASYL ، وهي المجموعة المسؤولة عن إنشاء وتوحيد لغة COBOL . في عام 1971، قدم فريق عمل قواعد البيانات معياره، الذي عُرف لاحقًا باسم منهج CODASYL ، وسرعان ما دخلت السوق العديد من المنتجات التجارية القائمة على هذا المنهج.

أتاح نهج CODASYL للتطبيقات إمكانية التنقل عبر مجموعة بيانات مترابطة تشكل شبكة كبيرة. ويمكن للتطبيقات العثور على السجلات بإحدى ثلاث طرق:

  1. استخدام المفتاح الأساسي (المعروف باسم مفتاح CALC، والذي يتم تنفيذه عادةً عن طريق التجزئة )
  2. التنقل بين العلاقات (التي تسمى المجموعات ) من سجل إلى آخر
  3. مسح جميع السجلات بترتيب تسلسلي

أضافت الأنظمة اللاحقة أشجار B لتوفير مسارات وصول بديلة. كما أضافت العديد من قواعد بيانات CODASYL لغة استعلام تصريحية للمستخدمين النهائيين (مختلفة عن واجهة برمجة التطبيقات الخاصة بالتنقل ). مع ذلك، كانت قواعد بيانات CODASYL معقدة وتتطلب تدريبًا وجهدًا كبيرين لإنتاج تطبيقات مفيدة.

كان لدى شركة IBM أيضًا نظام إدارة قواعد بيانات خاص بها في عام 1966، يُعرف باسم نظام إدارة المعلومات (IMS). وقد طُوّر نظام IMS من برنامج كُتب لبرنامج أبولو على نظام System/360 . كان نظام IMS مشابهًا في مفهومه لنظام CODASYL، ولكنه استخدم تسلسلًا هرميًا صارمًا لنموذج تصفح البيانات الخاص به بدلًا من نموذج الشبكة الخاص بنظام CODASYL. أصبح كلا المفهومين يُعرفان لاحقًا بقواعد البيانات التصفحية نظرًا لطريقة الوصول إلى البيانات: وقد شاع هذا المصطلح بفضل عرض باخمان لجائزة تورينج عام 1973 بعنوان "المبرمج كمُستكشف" . تصنف IBM نظام IMS كقاعدة بيانات هرمية . بينما تُصنف قواعد بيانات IDMS و TOTAL من Cincom Systems كقواعد بيانات شبكية. ولا يزال نظام IMS قيد الاستخدام حتى عام 2014.[ 11 ]

سبعينيات القرن العشرين، أنظمة إدارة قواعد البيانات العلائقية

عمل إدغار ف. كود في شركة آي بي إم في سان خوسيه، كاليفورنيا ، في مكتبٍ يُعنى بشكلٍ أساسي بتطوير أنظمة الأقراص الصلبة . [ 12 ] لم يكن راضيًا عن نموذج التنقل في منهجية CODASYL، ولا سيما افتقارها إلى خاصية "البحث". في عام 1970، كتب عددًا من الأوراق البحثية التي حددت منهجًا جديدًا لبناء قواعد البيانات، والذي تُوِّج في نهاية المطاف بالبحث الرائد "نموذج علائقي للبيانات لبنوك البيانات المشتركة الكبيرة" . [ 13 ]

وصفت الورقة نظامًا جديدًا لتخزين قواعد البيانات الضخمة والتعامل معها. فبدلًا من تخزين السجلات في قائمة مرتبطة من السجلات الحرة كما في CODASYL، تمثلت فكرة كود في تنظيم البيانات على شكل عدد من " الجداول "، يُستخدم كل جدول منها لنوع مختلف من الكيانات. يحتوي كل جدول على عدد ثابت من الأعمدة التي تتضمن سمات الكيان. يُحدد عمود واحد أو أكثر من كل جدول كمفتاح أساسي ، يُستخدم لتمييز صفوف الجدول بشكل فريد. تستخدم المراجع المتبادلة بين الجداول هذه المفاتيح الأساسية دائمًا، بدلًا من عناوين القرص، وتربط الاستعلامات الجداول بناءً على علاقات المفاتيح هذه، باستخدام مجموعة من العمليات المستندة إلى النظام الرياضي لحساب العلاقات (الذي استمد منه النموذج اسمه). يهدف تقسيم البيانات إلى مجموعة من الجداول المُعَيَّرة (أو العلاقات ) إلى ضمان تخزين كل "حقيقة" مرة واحدة فقط، مما يُبسط عمليات التحديث. يمكن للجداول الافتراضية، التي تُسمى طرق العرض ، عرض البيانات بطرق مختلفة لمستخدمين مختلفين، ولكن لا يمكن تحديث طرق العرض مباشرةً.

استخدم كود مصطلحات رياضية لوصف النموذج: العلاقات، والصفوف، والمجالات، بدلاً من الجداول، والصفوف، والأعمدة. المصطلحات المألوفة اليوم مستمدة من التطبيقات المبكرة. لاحقًا، انتقد كود ميل التطبيقات العملية إلى الابتعاد عن الأسس الرياضية التي بُني عليها النموذج.

في النموذج العلائقي ، يتم "ربط" السجلات باستخدام مفاتيح افتراضية غير مخزنة في قاعدة البيانات ولكن يتم تعريفها حسب الحاجة بين البيانات الموجودة في السجلات.

كان لاستخدام المفاتيح الأساسية (معرّفات موجهة للمستخدم) لتمثيل العلاقات بين الجداول، بدلاً من عناوين القرص، دافعان رئيسيان. من الناحية الهندسية، مكّن ذلك من نقل الجداول وتغيير حجمها دون الحاجة إلى إعادة تنظيم مكلفة لقاعدة البيانات. لكن كود كان أكثر اهتمامًا بالاختلاف في الدلالات: فقد سهّل استخدام المعرّفات الصريحة تعريف عمليات التحديث بتعريفات رياضية واضحة، كما مكّن من تعريف عمليات الاستعلام وفقًا لمنهج حساب التفاضل والتكامل من الدرجة الأولى ؛ ولأن هذه العمليات تتمتع بخصائص رياضية واضحة، أصبح من الممكن إعادة كتابة الاستعلامات بطرق صحيحة قابلة للإثبات، وهو أساس تحسين الاستعلام. لا يوجد أي فقدان في القدرة التعبيرية مقارنةً بالنماذج الهرمية أو الشبكية، على الرغم من أن الروابط بين الجداول لم تعد واضحة تمامًا.

في النماذج الهرمية والشبكية، سُمح للسجلات بامتلاك بنية داخلية معقدة. على سبيل المثال، قد يُمثل تاريخ رواتب الموظف كـ"مجموعة متكررة" ضمن سجل الموظف. أما في النموذج العلائقي، فقد أدت عملية التطبيع إلى استبدال هذه البنى الداخلية ببيانات مُخزنة في جداول متعددة، مرتبطة فقط بمفاتيح منطقية.

على سبيل المثال، يُستخدم نظام قواعد البيانات عادةً لتتبع معلومات المستخدمين، مثل أسمائهم وبيانات تسجيل الدخول وعناوينهم وأرقام هواتفهم. في النهج الملاحِظ، تُخزَّن جميع هذه البيانات في سجل واحد متغير الطول. أما في النهج العلائقي، فتُحوَّل البيانات إلى جداول خاصة بالمستخدمين والعناوين وأرقام الهواتف (على سبيل المثال). تُنشأ السجلات في هذه الجداول الاختيارية فقط في حال إدخال العنوان أو رقم الهاتف.

إلى جانب تحديد الصفوف/السجلات باستخدام مُعرّفات منطقية بدلاً من عناوين القرص، غيّر كود طريقة تجميع التطبيقات للبيانات من سجلات متعددة. فبدلاً من أن تُطلب من التطبيقات جمع البيانات سجلاً تلو الآخر عبر تصفح الروابط، أصبحت تستخدم لغة استعلام تصريحية تُعبّر عن البيانات المطلوبة، بدلاً من مسار الوصول إليها. وأصبح إيجاد مسار وصول فعّال للبيانات من مسؤولية نظام إدارة قواعد البيانات، بدلاً من مُبرمج التطبيق. وتعتمد هذه العملية، التي تُسمى تحسين الاستعلام، على حقيقة أن الاستعلامات تُعبّر عنها بلغة منطقية رياضية.

ألهمت ورقة كود فرقًا بحثية في جامعات مختلفة لإجراء دراسات حول هذا الموضوع، بما في ذلك فريق في جامعة كاليفورنيا، بيركلي [ 12 ] بقيادة يوجين وونغ ومايكل ستونبريكر ، اللذين أسسا مشروع INGRES باستخدام تمويل كان مخصصًا مسبقًا لمشروع قاعدة بيانات جغرافية، وبمساعدة طلاب مبرمجين لكتابة الشفرة البرمجية. ابتداءً من عام 1973، قدم مشروع INGRES أولى منتجاته التجريبية التي كانت جاهزة للاستخدام على نطاق واسع في عام 1979. تشابه INGRES مع نظام System R في عدة جوانب، منها استخدام "لغة" للوصول إلى البيانات ، تُعرف باسم QUEL . ومع مرور الوقت، انتقل INGRES إلى معيار SQL الناشئ.

قامت شركة IBM نفسها بتنفيذ نموذج تجريبي واحد لقواعد البيانات العلائقية، وهو PRTV ، ونموذج إنتاجي، وهو Business System 12 ، وكلاهما توقف تطويره الآن. وقد طورت شركة Honeywell نظام MRDS لمنصة Multics ، وهناك الآن تطبيقان جديدان: Alphora Dataphor وRel. أما معظم تطبيقات أنظمة إدارة قواعد البيانات الأخرى التي تُسمى عادةً بالعلائقية فهي في الواقع أنظمة إدارة قواعد بيانات SQL.

في عام 1970، بدأت جامعة ميشيغان بتطوير نظام إدارة المعلومات MICRO [ 14 ] استنادًا إلى نموذج بيانات نظرية المجموعات لـ DL Childs . [ 15 ] [ 16 ] [ 17 ] وفي عام 1974، استضافت الجامعة مناظرة بين كود وباكمان، وصفها بروس ليندسي من شركة IBM لاحقًا بأنها "تبادل حاد للاتهامات!". [ 12 ] استُخدم نظام MICRO لإدارة مجموعات بيانات ضخمة جدًا من قِبل وزارة العمل الأمريكية ، ووكالة حماية البيئة الأمريكية ، وباحثين من جامعة ألبرتا ، وجامعة ميشيغان ، وجامعة واين ستيت . وكان يعمل على حواسيب IBM المركزية باستخدام نظام ميشيغان الطرفي . [ 18 ] وظل النظام قيد الاستخدام حتى عام 1998.

نهج متكامل

في سبعينيات وثمانينيات القرن العشرين، بُذلت محاولات لبناء أنظمة قواعد بيانات متكاملة مع مكونات مادية وبرمجية. وكانت الفلسفة الأساسية هي أن هذا التكامل سيوفر أداءً أعلى بتكلفة أقل. ومن الأمثلة على ذلك نظام IBM System/38 ، والإصدار المبكر من Teradata ، وجهاز قاعدة البيانات Britton Lee, Inc.

كان مُسرِّع CAFS من ICL ، وهو وحدة تحكم أقراص مادية مزودة بإمكانيات بحث قابلة للبرمجة، نهجًا آخر لدعم إدارة قواعد البيانات من خلال الأجهزة . على المدى البعيد، لم تُكلل هذه الجهود بالنجاح عمومًا، لأن أجهزة قواعد البيانات المتخصصة لم تستطع مواكبة التطور السريع لأجهزة الكمبيوتر العامة. ولذلك، فإن معظم أنظمة قواعد البيانات اليوم هي أنظمة برمجية تعمل على أجهزة عامة، وتستخدم وحدات تخزين بيانات عامة. مع ذلك، لا تزال بعض الشركات، مثل Netezza وOracle ( Exadata )، تتبنى هذا النهج في تطبيقات محددة.

أواخر سبعينيات القرن العشرين، نظام إدارة قواعد البيانات SQL

شكّلت شركة IBM فريقًا بقيادة كود بدأ العمل على نظام نموذجي، أطلق عليه اسم System R، على الرغم من معارضة بعض الموظفين في الشركة. [ 12 ] أُنجز الإصدار الأول في عامي 1974/1975، ثم بدأ العمل على أنظمة متعددة الجداول تسمح بتقسيم البيانات بحيث لا تُخزّن جميع بيانات السجل (بعضها اختياري) في كتلة واحدة كبيرة. اختُبرت إصدارات لاحقة متعددة المستخدمين من قِبل العملاء في عامي 1978 و1979، وبحلول ذلك الوقت، أُضيفت لغة استعلام موحدة - SQL [ 19 ] - . أثبتت أفكار كود جدواها وتفوقها على CODASYL، مما دفع IBM إلى تطوير نسخة إنتاجية حقيقية من System R، عُرفت باسم SQL/DS ، ولاحقًا باسم Database 2 ( IBM Db2 ).

بدأت قاعدة بيانات أوراكل الخاصة بلاري إليسون (أو ببساطة أوراكل ) من سلسلة مختلفة، استنادًا إلى أوراق IBM حول النظام R. على الرغم من اكتمال تطبيقات Oracle V1 في عام 1978، إلا أنه لم يكن حتى الإصدار الثاني من أوراكل عندما تفوق إليسون على IBM في السوق في عام 1979. [ 20 ]

واصل ستونبريكر تطبيق الدروس المستفادة من مشروع INGRES لتطوير قاعدة بيانات جديدة، هي Postgres، والتي تُعرف الآن باسم PostgreSQL . ويُستخدم PostgreSQL غالبًا في التطبيقات العالمية بالغة الأهمية (تستخدمه سجلات أسماء النطاقات .org و .info كمخزن بيانات أساسي ، وكذلك العديد من الشركات الكبيرة والمؤسسات المالية).

في السويد، قُرئت ورقة كود البحثية أيضاً، وطُوِّر برنامج Mimer SQL في منتصف سبعينيات القرن العشرين في جامعة أوبسالا . وفي عام 1984، تم دمج هذا المشروع ليصبح مؤسسة مستقلة.

ظهر نموذج بيانات آخر، هو نموذج الكيانات والعلاقات ، عام 1976، واكتسب شعبية في تصميم قواعد البيانات لأنه ركز على وصف أكثر ألفة من النموذج العلائقي السابق. لاحقًا، تم دمج بنية الكيانات والعلاقات كبنية لنمذجة البيانات في النموذج العلائقي، وأصبح الفرق بينهما غير ذي أهمية.

ثمانينيات القرن العشرين، على سطح المكتب

إلى جانب شركة IBM وشركات برمجيات أخرى مثل Sybase و Informix Corporation ، امتلكت معظم شركات تصنيع أجهزة الكمبيوتر الكبرى بحلول ثمانينيات القرن العشرين أنظمة قواعد بيانات خاصة بها، مثل VAX Rdb/VMS من شركة DEC . [ 21 ] شهد هذا العقد بداية عصر الحوسبة المكتبية . مكّنت أجهزة الكمبيوتر الجديدة مستخدميها من استخدام جداول البيانات مثل Lotus 1-2-3 وبرامج قواعد البيانات مثل dBASE . كان برنامج dBASE خفيفًا وسهل الاستخدام لأي مستخدم كمبيوتر. وقد صرّح سي. واين راتليف ، مبتكر dBASE، قائلاً: "يختلف dBASE عن برامج مثل BASIC وC وFORTRAN وCOBOL في أن الكثير من العمليات المعقدة قد أُنجزت مسبقًا. يتولى dBASE معالجة البيانات بدلاً من المستخدم، مما يسمح للمستخدم بالتركيز على عمله بدلاً من الانشغال بتفاصيل فتح الملفات وقراءتها وإغلاقها، وإدارة مساحة التخزين." [ 22 ] كان برنامج dBASE أحد أكثر برامج الكمبيوتر مبيعًا في الثمانينيات وأوائل التسعينيات.

التسعينيات، البرمجة الكائنية التوجه

مع بداية العقد، أصبحت قواعد البيانات صناعة بمليارات الدولارات في غضون عشر سنوات تقريبًا. [ 21 ] شهدت التسعينيات، بالتزامن مع ازدياد شعبية البرمجة كائنية التوجه ، تطورًا ملحوظًا في كيفية التعامل مع البيانات في قواعد البيانات المختلفة. بدأ المبرمجون والمصممون في التعامل مع البيانات في قواعد بياناتهم ككائنات . بمعنى آخر، إذا كانت بيانات شخص ما موجودة في قاعدة بيانات، فإن سمات هذا الشخص، مثل عنوانه ورقم هاتفه وعمره، تُعتبر الآن جزءًا منه بدلًا من كونها بيانات دخيلة. يسمح هذا بربط البيانات بالكائنات وسماتها، وليس بحقولها الفردية. [23] يصف مصطلح "عدم تطابق المعاوقة بين الكائنات والعلاقات " صعوبة الترجمة بين الكائنات المبرمجة وجداول قواعد البيانات. تحاول قواعد بيانات الكائنات وقواعد بيانات الكائنات العلائقية حل هذه المشكلة من خلال توفير لغة كائنية التوجه (أحيانًا كامتدادات للغة SQL) يمكن للمبرمجين استخدامها كبديل للغة SQL العلائقية البحتة. أما من ناحية البرمجة، فإن المكتبات المعروفة باسم عمليات ربط الكائنات العلائقية (ORMs) تحاول حل نفس المشكلة.

العقد الأول من القرن الحادي والعشرين، NoSQL و NewSQL

شهدت مبيعات قواعد البيانات نموًا سريعًا خلال فقاعة الإنترنت ، وبعد انتهائها، مع ازدهار التجارة الإلكترونية . وقد ازدادت شعبية قواعد البيانات مفتوحة المصدر مثل MySQL منذ عام 2000، لدرجة أن كين جاكوبس من شركة أوراكل صرّح في عام 2005 قائلاً: "ربما يفعل هؤلاء بنا ما فعلناه نحن بشركة IBM". [ 21 ]

قواعد بيانات XML هي نوع من قواعد البيانات المنظمة الموجهة نحو المستندات، والتي تتيح الاستعلام بناءً على سمات مستندات XML . تُستخدم قواعد بيانات XML في الغالب في التطبيقات التي تُعرض فيها البيانات بسهولة كمجموعة من المستندات، ذات بنية تتراوح بين المرونة العالية والصرامة الشديدة: ومن الأمثلة على ذلك المقالات العلمية، وبراءات الاختراع، والإقرارات الضريبية، وسجلات الموظفين.

تتميز قواعد بيانات NoSQL بسرعة فائقة في كثير من الأحيان، [ 24 ] [ 25 ] ولا تتطلب مخططات جداول ثابتة، وتتجنب عمليات الربط من خلال تخزين البيانات غير المُنمذجة ، وهي مصممة للتوسع الأفقي . بعض قواعد بيانات NoSQL، بما في ذلك قواعد بيانات الرسوم البيانية مثل Neo4j ، تُمثل البيانات كعُقد وحواف لنمذجة العلاقات بين الكيانات. [ 26 ]

شهدت السنوات الأخيرة طلبًا متزايدًا على قواعد البيانات الموزعة على نطاق واسع والتي تتمتع بقدرة عالية على تحمل التقسيم، ولكن وفقًا لنظرية CAP ، يستحيل على أي نظام موزع توفير ضمانات الاتساق والتوافر وتحمل التقسيم في آن واحد. يستطيع النظام الموزع تلبية اثنين من هذه الضمانات في الوقت نفسه، ولكن ليس جميعها. لهذا السبب، تستخدم العديد من قواعد بيانات NoSQL ما يُعرف بالاتساق النهائي لتوفير ضمانات التوافر وتحمل التقسيم مع مستوى أقل من اتساق البيانات.

NewSQL هي فئة من قواعد البيانات العلائقية الحديثة التي تهدف إلى توفير نفس الأداء القابل للتوسع لأنظمة NoSQL لأحمال العمل لمعالجة المعاملات عبر الإنترنت (القراءة والكتابة) مع الاستمرار في استخدام SQL والحفاظ على ضمانات ACID لنظام قاعدة البيانات التقليدي.

حالات الاستخدام

تُستخدم قواعد البيانات لدعم العمليات الداخلية للمؤسسات ولدعم التفاعلات عبر الإنترنت مع العملاء والموردين (انظر برامج المؤسسات ).

تُستخدم قواعد البيانات لحفظ المعلومات الإدارية والبيانات المتخصصة، مثل البيانات الهندسية أو النماذج الاقتصادية. ومن الأمثلة على ذلك أنظمة المكتبات المحوسبة، وأنظمة حجز الرحلات الجوية ، وأنظمة جرد قطع الغيار المحوسبة ، والعديد من أنظمة إدارة المحتوى التي تخزن مواقع الويب كمجموعات من صفحات الويب في قاعدة بيانات.

مصطلحات التصنيف

إحدى طرق تصنيف قواعد البيانات هي تصنيفها حسب نوع محتوياتها، مثل: البيانات الببليوغرافية ، أو النصوص الوثائقية، أو الإحصائية، أو الوسائط المتعددة. طريقة أخرى هي تصنيفها حسب مجال استخدامها، مثل: المحاسبة، أو التأليف الموسيقي، أو الأفلام، أو الخدمات المصرفية، أو التصنيع، أو التأمين. أما الطريقة الثالثة فهي تصنيفها حسب بعض الجوانب التقنية، مثل بنية قاعدة البيانات أو نوع واجهتها. يسرد هذا القسم بعض الصفات المستخدمة لوصف أنواع قواعد البيانات المختلفة.

  • قاعدة البيانات الموجودة في الذاكرة هي قاعدة بيانات تتواجد بشكل أساسي في الذاكرة الرئيسية ، ولكنها عادةً ما تُدعَم بنسخة احتياطية من خلال وحدة تخزين بيانات حاسوبية غير متطايرة. قواعد البيانات الموجودة في الذاكرة الرئيسية أسرع من قواعد البيانات الموجودة على القرص، ولذلك تُستخدم غالبًا في التطبيقات التي يكون فيها وقت الاستجابة بالغ الأهمية، كما هو الحال في معدات شبكات الاتصالات.
  • تتضمن قاعدة البيانات النشطة بنيةً قائمة على الأحداث، قادرة على الاستجابة للظروف داخل قاعدة البيانات وخارجها. تشمل استخداماتها المحتملة مراقبة الأمان، والتنبيهات، وجمع الإحصائيات، والصلاحيات. توفر العديد من قواعد البيانات ميزات قاعدة البيانات النشطة على شكل مُشغّلات .
  • تعتمد قاعدة البيانات السحابية على تقنية الحوسبة السحابية . وتوجد كل من قاعدة البيانات ومعظم نظام إدارة قواعد البيانات الخاص بها عن بعد، "في السحابة"، بينما يتم تطوير تطبيقاتها بواسطة المبرمجين ويتم صيانتها واستخدامها لاحقًا من قبل المستخدمين النهائيين من خلال متصفح الويب وواجهات برمجة التطبيقات المفتوحة .
  • تُخزّن مستودعات البيانات البيانات من قواعد البيانات التشغيلية، وغالبًا من مصادر خارجية مثل شركات أبحاث السوق. ويُصبح المستودع المصدر المركزي للبيانات التي يستخدمها المديرون والمستخدمون النهائيون الآخرون الذين قد لا يتمكنون من الوصول إلى البيانات التشغيلية. على سبيل المثال، قد تُجمّع بيانات المبيعات في مجاميع أسبوعية، وتُحوّل من رموز المنتجات الداخلية إلى رموز UPC، ما يُتيح مقارنتها ببيانات ACNielsen . تشمل بعض المكونات الأساسية لمستودعات البيانات استخراج البيانات وتحليلها واستخراج المعلومات منها، وتحويلها، وتحميلها، وإدارتها، لجعلها متاحة للاستخدام لاحقًا.
  • تجمع قاعدة البيانات الاستنتاجية بين البرمجة المنطقية وقاعدة البيانات العلائقية.
  • قاعدة البيانات الموزعة هي قاعدة بيانات يتم فيها توزيع كل من البيانات ونظام إدارة قواعد البيانات على عدة أجهزة كمبيوتر.
  • صُممت قواعد البيانات الموجهة نحو المستندات لتخزين واسترجاع وإدارة المعلومات الموجهة نحو المستندات، أو المعلومات شبه المهيكلة. وتُعد قواعد البيانات الموجهة نحو المستندات إحدى الفئات الرئيسية لقواعد بيانات NoSQL.
  • نظام قاعدة البيانات المدمج هو نظام إدارة قواعد بيانات متكامل بشكل وثيق مع برنامج تطبيقي يتطلب الوصول إلى البيانات المخزنة بطريقة تجعل نظام إدارة قواعد البيانات مخفيًا عن المستخدمين النهائيين للتطبيق ولا يتطلب سوى القليل من الصيانة المستمرة أو لا يتطلب أي صيانة على الإطلاق. [ 27 ]
  • تتكون قواعد بيانات المستخدم النهائي من بيانات يُنشئها المستخدمون النهائيون أنفسهم. ومن أمثلة هذه البيانات مجموعات المستندات، وجداول البيانات، والعروض التقديمية، والوسائط المتعددة، وغيرها من الملفات. وتتوفر العديد من المنتجات لدعم هذه القواعد.
  • يتألف نظام قواعد البيانات الموحد من عدة قواعد بيانات منفصلة، ​​لكل منها نظام إدارة قواعد بيانات خاص بها. ويتم التعامل معها كقاعدة بيانات واحدة بواسطة نظام إدارة قواعد البيانات الموحد (FDBMS)، الذي يدمج بشفافية أنظمة إدارة قواعد البيانات المستقلة المتعددة، والتي قد تكون من أنواع مختلفة (وفي هذه الحالة سيكون أيضًا نظام قواعد بيانات غير متجانس )، ويوفر لها رؤية مفاهيمية متكاملة.
  • يُستخدم مصطلح " قواعد البيانات المتعددة" أحيانًا كمرادف لمصطلح "قاعدة البيانات الموحدة"، مع أنه قد يشير إلى مجموعة قواعد بيانات أقل تكاملًا (مثلًا، بدون نظام إدارة قواعد بيانات موحدة ومخطط متكامل مُدار) تتعاون ضمن تطبيق واحد. في هذه الحالة، تُستخدم عادةً برمجيات وسيطة للتوزيع، والتي تتضمن عادةً بروتوكول الالتزام الذري (ACP)، مثل بروتوكول الالتزام ثنائي المرحلة ، للسماح بإجراء معاملات موزعة (عالمية) عبر قواعد البيانات المشاركة.
  • قاعدة بيانات الرسوم البيانية هي نوع من قواعد بيانات NoSQL تستخدم هياكل الرسوم البيانية التي تتكون من عقد وحواف وخصائص لتمثيل المعلومات وتخزينها. وتختلف قواعد بيانات الرسوم البيانية العامة، التي يمكنها تخزين أي رسم بياني، عن قواعد بيانات الرسوم البيانية المتخصصة مثل قواعد بيانات الثلاثيات وقواعد بيانات الشبكات .
  • نظام إدارة قواعد البيانات المصفوفي هو نوع من أنظمة إدارة قواعد البيانات NoSQL التي تسمح بنمذجة وتخزين واسترجاع المصفوفات متعددة الأبعاد (الكبيرة عادةً) مثل صور الأقمار الصناعية ومخرجات محاكاة المناخ.
  • في قواعد بيانات النصوص التشعبية أو الوسائط المتعددة ، يمكن ربط أي كلمة أو نص يمثل عنصرًا ما، كنص آخر أو مقال أو صورة أو فيلم، بهذا العنصر عبر رابط تشعبي. تُعد قواعد بيانات النصوص التشعبية مفيدةً للغاية في تنظيم كميات كبيرة من المعلومات المتباينة. على سبيل المثال، تُستخدم في تنظيم الموسوعات الإلكترونية ، حيث يمكن للمستخدمين التنقل بسهولة بين أجزاء النص. وبذلك، تُعتبر شبكة الإنترنت العالمية قاعدة بيانات نصوص تشعبية موزعة واسعة النطاق.
  • قاعدة المعرفة (يُشار إليها اختصارًا بـ KB أو kb أو Δ [ 28 ] [ 29 ] ) هي نوع خاص من قواعد البيانات لإدارة المعرفة ، توفر الوسائل اللازمة لجمع المعرفة وتنظيمها واسترجاعها إلكترونيًا . كما أنها مجموعة من البيانات التي تمثل المشكلات وحلولها والخبرات ذات الصلة.
  • يمكن حمل قاعدة البيانات المتنقلة على جهاز حاسوب متنقل أو مزامنتها منه.
  • تُخزّن قواعد البيانات التشغيلية بيانات تفصيلية حول عمليات المؤسسة. وهي عادةً ما تعالج كميات كبيرة نسبيًا من التحديثات باستخدام المعاملات . ومن الأمثلة على ذلك قواعد بيانات العملاء التي تسجل معلومات الاتصال والائتمان والبيانات الديموغرافية لعملاء الشركة، وقواعد بيانات الموظفين التي تحتوي على معلومات مثل الرواتب والمزايا وبيانات المهارات الخاصة بالموظفين، وأنظمة تخطيط موارد المؤسسات التي تسجل تفاصيل حول مكونات المنتج ومخزون قطع الغيار، وقواعد البيانات المالية التي تتتبع أموال المؤسسة ومعاملاتها المحاسبية والمالية.
  • تسعى قاعدة البيانات المتوازية إلى تحسين الأداء من خلال التوازي في مهام مثل تحميل البيانات، وبناء الفهارس، وتقييم الاستعلامات.
تتمثل أبرز بنى أنظمة إدارة قواعد البيانات المتوازية، والتي تنتج عن بنية الأجهزة الأساسية ، فيما يلي:
  • بنية الذاكرة المشتركة ، حيث تتشارك معالجات متعددة مساحة الذاكرة الرئيسية، بالإضافة إلى تخزين البيانات الأخرى.
  • بنية القرص المشترك ، حيث تمتلك كل وحدة معالجة (تتكون عادةً من معالجات متعددة) ذاكرتها الرئيسية الخاصة بها، ولكن جميع الوحدات تشترك في التخزين الآخر.
  • بنية لا تشارك فيها أي شيء ، حيث تمتلك كل وحدة معالجة ذاكرتها الرئيسية الخاصة بها ووحدات تخزين أخرى.
  • تستخدم قواعد البيانات الاحتمالية المنطق الضبابي لاستخلاص استنتاجات من بيانات غير دقيقة.
  • تقوم قواعد البيانات في الوقت الفعلي بمعالجة المعاملات بسرعة كافية لكي تعود النتيجة ويتم اتخاذ إجراء بشأنها على الفور.
  • يمكن لقاعدة البيانات المكانية تخزين البيانات ذات الخصائص متعددة الأبعاد. وتشمل الاستعلامات على هذه البيانات استعلامات تعتمد على الموقع، مثل "أين يقع أقرب فندق في منطقتي؟".
  • تتضمن قاعدة البيانات الزمنية جوانب زمنية مدمجة، مثل نموذج البيانات الزمني ونسخة زمنية من لغة SQL . وبشكل أكثر تحديدًا، تشمل الجوانب الزمنية عادةً وقت الصلاحية ووقت المعاملة.
  • تعتمد قاعدة البيانات الموجهة بالمصطلحات على قاعدة بيانات موجهة بالكائنات ، وغالبًا ما يتم تخصيصها لمجال معين.
  • تهدف قاعدة بيانات البيانات غير المهيكلة إلى تخزين مجموعة متنوعة من الكائنات بطريقة منظمة وآمنة، وهي كائنات لا تتناسب بشكل طبيعي وسهل مع قواعد البيانات التقليدية. قد تشمل هذه الكائنات رسائل البريد الإلكتروني، والمستندات، والسجلات، والوسائط المتعددة، وغيرها. قد يكون الاسم مضللاً بعض الشيء، إذ يمكن أن تكون بعض الكائنات مهيكلة للغاية. مع ذلك، لا يمكن حصر جميع الكائنات الممكنة ضمن إطار عمل هيكلي محدد مسبقًا. تدعم معظم أنظمة إدارة قواعد البيانات (DBMS) المعروفة حاليًا البيانات غير المهيكلة بطرق متنوعة، كما تظهر أنظمة إدارة قواعد بيانات جديدة متخصصة في هذا المجال.

نظام إدارة قواعد البيانات

يعرّف كونولي وبيج نظام إدارة قواعد البيانات (DBMS) بأنه "نظام برمجي يمكّن المستخدمين من تحديد وإنشاء وصيانة والتحكم في الوصول إلى قاعدة البيانات." [ 30 ] ومن أمثلة أنظمة إدارة قواعد البيانات MySQL و MariaDB و PostgreSQL و Microsoft SQL Server و Oracle Database و Microsoft Access .

يُستخدم اختصار DBMS أحيانًا للإشارة إلى نموذج قاعدة البيانات الأساسي ، حيث يُستخدم RDBMS للدلالة على النموذج العلائقي ، وOODBMS للدلالة على النموذج الكائني (الموجه نحو الكائنات) ، وORDBMS للدلالة على النموذج الكائني العلائقي . كما تُستخدم امتدادات أخرى للإشارة إلى خصائص إضافية، مثل DDBMS لأنظمة إدارة قواعد البيانات الموزعة.

تتفاوت الوظائف التي يوفرها نظام إدارة قواعد البيانات بشكل كبير. وتتمثل الوظيفة الأساسية في تخزين البيانات واسترجاعها وتحديثها. وقد اقترح كود الوظائف والخدمات التالية التي ينبغي أن يوفرها نظام إدارة قواعد البيانات متعدد الأغراض المتكامل: [ 31 ]

  • تخزين البيانات واسترجاعها وتحديثها
  • فهرس أو قاموس بيانات يمكن للمستخدم الوصول إليه يصف البيانات الوصفية
  • دعم المعاملات والتزامن
  • توفير وسائل لاستعادة قاعدة البيانات في حالة تلفها
  • دعم عملية منح الإذن بالوصول إلى البيانات وتحديثها
  • الحصول على الدعم من مواقع بعيدة
  • فرض قيود لضمان التزام البيانات في قاعدة البيانات بقواعد معينة

ومن المتوقع عمومًا أن يوفر نظام إدارة قواعد البيانات مجموعة من الأدوات المساعدة لأغراض إدارة قاعدة البيانات بكفاءة، بما في ذلك أدوات الاستيراد والتصدير والمراقبة وإلغاء التجزئة والتحليل. [ 32 ] ويُشار أحيانًا إلى الجزء الأساسي من نظام إدارة قواعد البيانات، الذي يتفاعل بين قاعدة البيانات وواجهة التطبيق، باسم محرك قاعدة البيانات .

غالبًا ما تحتوي أنظمة إدارة قواعد البيانات على معلمات تكوين قابلة للتعديل بشكل ثابت وديناميكي، مثل الحد الأقصى لحجم الذاكرة الرئيسية التي يمكن لقاعدة البيانات استخدامها على الخادم. ويتجه التوجه نحو تقليل التكوين اليدوي، وفي حالات مثل قواعد البيانات المدمجة، يُعدّ الوصول إلى إدارة معدومة أمرًا بالغ الأهمية.

تميل أنظمة إدارة قواعد البيانات الكبيرة للمؤسسات إلى زيادة حجمها ووظائفها، وقد استغرق تطويرها آلاف السنين البشرية طوال فترة استخدامها. [ أ ]

كانت أنظمة إدارة قواعد البيانات متعددة المستخدمين في بداياتها تسمح عادةً بوجود التطبيق على نفس الحاسوب، مع إمكانية الوصول إليه عبر أجهزة طرفية أو برامج محاكاة طرفية. وقد تطورت بنية العميل والخادم، حيث كان التطبيق موجودًا على جهاز العميل وقاعدة البيانات على الخادم، مما يسمح بتوزيع المعالجة. ثم تطورت هذه البنية إلى بنية متعددة الطبقات تضم خوادم التطبيقات وخوادم الويب ، مع واجهة المستخدم النهائي عبر متصفح الويب ، حيث تتصل قاعدة البيانات مباشرةً بالطبقة المجاورة فقط. [ 34 ]

يوفر نظام إدارة قواعد البيانات للأغراض العامة واجهات برمجة تطبيقات عامة (API)، ومعالجًا اختياريًا للغات قواعد البيانات مثل SQL، مما يسمح بكتابة تطبيقات تتفاعل مع قاعدة البيانات وتتعامل معها. أما نظام إدارة قواعد البيانات للأغراض الخاصة، فقد يستخدم واجهة برمجة تطبيقات خاصة، ويُصمم خصيصًا ويرتبط بتطبيق واحد. على سبيل المثال، يؤدي نظام البريد الإلكتروني العديد من وظائف نظام إدارة قواعد البيانات للأغراض العامة، مثل إدراج الرسائل وحذفها، ومعالجة المرفقات، والبحث في قوائم الحظر، وربط الرسائل بعناوين البريد الإلكتروني، وما إلى ذلك، إلا أن هذه الوظائف تقتصر على ما هو مطلوب لمعالجة البريد الإلكتروني.

طلب

سيكون التفاعل الخارجي مع قاعدة البيانات عبر برنامج تطبيقي يتفاعل مع نظام إدارة قواعد البيانات. [ 35 ] ويمكن أن يتراوح ذلك بين أداة قاعدة بيانات تسمح للمستخدمين بتنفيذ استعلامات SQL نصيًا أو بيانيًا، وموقع ويب يستخدم قاعدة بيانات لتخزين المعلومات والبحث عنها.

واجهة برمجة التطبيقات

يقوم المبرمج بكتابة التعليمات البرمجية للتفاعل مع قاعدة البيانات (التي تُسمى أحيانًا مصدر البيانات ) عبر واجهة برمجة التطبيقات (API) أو لغة برمجة قواعد البيانات . يجب أن يدعم نظام إدارة قواعد البيانات (DBMS) واجهة برمجة التطبيقات أو اللغة المختارة، ربما بشكل غير مباشر عبر معالج مسبق أو واجهة برمجة تطبيقات وسيطة. تهدف بعض واجهات برمجة التطبيقات إلى أن تكون مستقلة عن قواعد البيانات، ومن الأمثلة الشائعة على ذلك ODBC . تشمل واجهات برمجة التطبيقات الشائعة الأخرى JDBC و ADO.NET .

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

لغات قواعد البيانات هي لغات ذات أغراض خاصة، تسمح بواحدة أو أكثر من المهام التالية، والتي تُصنف أحيانًا على أنها لغات فرعية :

لغات قواعد البيانات خاصة بنموذج بيانات معين. ومن الأمثلة البارزة على ذلك:

  • تجمع لغة SQL بين وظائف تعريف البيانات ومعالجتها والاستعلام عنها في لغة واحدة. وكانت من أوائل اللغات التجارية للنموذج العلائقي، على الرغم من اختلافها في بعض الجوانب عن النموذج العلائقي كما وصفه كود (على سبيل المثال، يمكن ترتيب صفوف وأعمدة الجدول). أصبحت SQL معيارًا للمعهد الوطني الأمريكي للمعايير (ANSI) عام 1986، وللمنظمة الدولية للمعايير (ISO) عام 1987. ومنذ ذلك الحين، تُحسّن المعايير بانتظام، وتدعمها (بدرجات متفاوتة من التوافق) جميع أنظمة إدارة قواعد البيانات العلائقية التجارية الشائعة. [ 36 ] [ 37 ]
  • لغة OQL هي معيار لغة نموذج الكائنات (من مجموعة إدارة بيانات الكائنات ). وقد أثرت على تصميم بعض لغات الاستعلام الأحدث مثل JDOQL و EJB QL .
  • XQuery هي لغة استعلام XML قياسية يتم تنفيذها بواسطة أنظمة قواعد بيانات XML مثل MarkLogic و eXist ، وقواعد البيانات العلائقية ذات إمكانية XML مثل Oracle و Db2، وأيضًا بواسطة معالجات XML في الذاكرة مثل Saxon .
  • يجمع SQL/XML بين XQuery و SQL. [ 38 ]

قد تتضمن لغة قواعد البيانات أيضًا ميزات مثل:

  • إدارة تكوين محرك التخزين الخاص بنظام إدارة قواعد البيانات
  • العمليات الحسابية لتعديل نتائج الاستعلام، مثل العد والجمع والمتوسط ​​والفرز والتجميع والربط المرجعي
  • تطبيق القيود (على سبيل المثال، في قاعدة بيانات السيارات، السماح بنوع محرك واحد فقط لكل سيارة)
  • إصدار واجهة برمجة التطبيقات للغة الاستعلام، لتسهيل عمل المبرمجين

تخزين

يُعدّ تخزين قاعدة البيانات بمثابة الحاوية التي تُجسّد البيانات المادية لقاعدة البيانات. وهو يشمل المستوى الداخلي (المادي) في بنية قاعدة البيانات. كما يحتوي على جميع المعلومات اللازمة (مثل البيانات الوصفية ، و"البيانات المتعلقة بالبيانات"، وهياكل البيانات الداخلية ) لإعادة بناء المستوى المفاهيمي والمستوى الخارجي من المستوى الداخلي عند الحاجة. تحتوي قواعد البيانات، ككائنات رقمية، على ثلاثة مستويات من المعلومات التي يجب تخزينها: البيانات، والبنية، والدلالات. يُعدّ التخزين السليم لهذه المستويات الثلاثة ضروريًا للحفاظ على قاعدة البيانات واستدامتها على المدى الطويل. [ 39 ] تقع مسؤولية وضع البيانات في التخزين الدائم عمومًا على عاتق محرك قاعدة البيانات ، المعروف أيضًا باسم "محرك التخزين". على الرغم من أن نظام إدارة قواعد البيانات (DBMS) يصل عادةً إلى قاعدة البيانات من خلال نظام التشغيل الأساسي (وغالبًا ما يستخدم أنظمة ملفات نظام التشغيل كوسيط لتخطيط التخزين)، فإن خصائص التخزين وإعدادات التكوين بالغة الأهمية لتشغيل نظام إدارة قواعد البيانات بكفاءة، ولذلك يحرص مديرو قواعد البيانات على صيانتها بدقة. يتواجد نظام إدارة قواعد البيانات، أثناء تشغيله، دائمًا في أنواع مختلفة من التخزين (مثل الذاكرة والتخزين الخارجي). تُشفّر بيانات قاعدة البيانات والمعلومات الإضافية اللازمة، والتي قد تكون بكميات كبيرة جدًا، في وحدات بت. وعادةً ما توجد البيانات في وحدة التخزين في هياكل تبدو مختلفة تمامًا عن شكل البيانات على المستويين المفاهيمي والخارجي، ولكن بطرق تسعى إلى تحسين (بأفضل شكل ممكن) إعادة بناء هذه المستويات عند الحاجة إليها من قبل المستخدمين والبرامج، وكذلك لحساب أنواع إضافية من المعلومات المطلوبة من البيانات (على سبيل المثال، عند الاستعلام عن قاعدة البيانات).

تدعم بعض أنظمة إدارة قواعد البيانات تحديد ترميز الأحرف المستخدم لتخزين البيانات، بحيث يمكن استخدام ترميزات متعددة في قاعدة البيانات نفسها.

يستخدم محرك التخزين هياكل تخزين قواعد بيانات منخفضة المستوى متنوعة لترتيب نموذج البيانات وكتابته على الوسيط المختار. ويمكن استخدام تقنيات مثل الفهرسة لتحسين الأداء. التخزين التقليدي موجه نحو الصفوف، ولكن توجد أيضًا قواعد بيانات موجهة نحو الأعمدة وقواعد بيانات ترابطية .

مناظر مادية

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

النسخ

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

المحاكاة الافتراضية

مع تقنية المحاكاة الافتراضية للبيانات ، تبقى البيانات المستخدمة في مواقعها الأصلية، ويتم توفير وصول فوري إليها لإجراء التحليلات عبر مصادر متعددة. وهذا يُسهم في حل بعض الصعوبات التقنية، مثل مشاكل التوافق عند دمج البيانات من منصات مختلفة، وتقليل مخاطر الأخطاء الناتجة عن البيانات المعيبة، وضمان استخدام أحدث البيانات. علاوة على ذلك، فإن تجنب إنشاء قاعدة بيانات جديدة تحتوي على معلومات شخصية يُسهّل الامتثال لأنظمة حماية البيانات. مع ذلك، تتطلب تقنية المحاكاة الافتراضية للبيانات أن يكون الاتصال بجميع مصادر البيانات الضرورية فعالاً، لعدم وجود نسخة محلية من البيانات، وهو ما يُعدّ أحد أبرز عيوب هذه التقنية. [ 40 ]

حماية

يتناول أمن قواعد البيانات جميع جوانب حماية محتوى قاعدة البيانات، ومالكيها، ومستخدميها. ويتراوح ذلك بين الحماية من الاستخدامات غير المصرح بها لقاعدة البيانات، والحماية من الوصول غير المصرح به إليها من قبل جهات غير مصرح لها (مثل شخص أو برنامج حاسوبي).

تُعنى إدارة الوصول إلى قواعد البيانات بتحديد من يُسمح له (شخص أو برنامج حاسوبي) بالوصول إلى أي معلومات في قاعدة البيانات. قد تشمل هذه المعلومات كائنات محددة في قاعدة البيانات (مثل أنواع السجلات، أو سجلات محددة، أو هياكل بيانات)، أو عمليات حسابية محددة على كائنات معينة (مثل أنواع الاستعلامات، أو استعلامات محددة)، أو استخدام مسارات وصول محددة إلى الكائنات السابقة (مثل استخدام فهارس محددة أو هياكل بيانات أخرى للوصول إلى المعلومات). يتم ضبط ضوابط الوصول إلى قواعد البيانات بواسطة موظفين مُخوّلين (من قِبل مالك قاعدة البيانات) يستخدمون واجهات أمان مخصصة لأنظمة إدارة قواعد البيانات.

يمكن إدارة ذلك مباشرةً على أساس فردي، أو من خلال تخصيص الأفراد والصلاحيات للمجموعات ، أو (في النماذج الأكثر تطورًا) من خلال تخصيص الأفراد والمجموعات لأدوار تُمنح بدورها صلاحيات. يمنع أمن البيانات المستخدمين غير المصرح لهم من عرض قاعدة البيانات أو تحديثها. باستخدام كلمات المرور، يُسمح للمستخدمين بالوصول إلى قاعدة البيانات بأكملها أو إلى أجزاء منها تُسمى "المخططات الفرعية". على سبيل المثال، يمكن أن تحتوي قاعدة بيانات الموظفين على جميع البيانات المتعلقة بموظف معين، ولكن قد تُصرّح لمجموعة من المستخدمين بعرض بيانات الرواتب فقط، بينما يُسمح لآخرين بالوصول إلى سجل العمل والبيانات الطبية فقط. إذا كان نظام إدارة قواعد البيانات يوفر طريقة لإدخال البيانات وتحديثها بشكل تفاعلي، بالإضافة إلى الاستعلام عنها، فإن هذه الإمكانية تسمح بإدارة قواعد البيانات الشخصية.

يتناول أمن البيانات بشكل عام حماية أجزاء محددة من البيانات، سواء من الناحية المادية (أي من التلف أو التدمير أو الإزالة؛ على سبيل المثال، انظر الأمن المادي )، أو تفسيرها، أو أجزاء منها إلى معلومات ذات معنى (على سبيل المثال، من خلال النظر إلى سلاسل البتات التي تتكون منها، واستنتاج أرقام بطاقات ائتمان صالحة محددة؛ على سبيل المثال، انظر تشفير البيانات ).

تسجل سجلات التغييرات والوصول هوية من قام بالوصول إلى أي سمات، وما تم تغييره، ومتى تم التغيير. تتيح خدمات التسجيل إجراء تدقيق جنائي لقاعدة البيانات لاحقًا من خلال الاحتفاظ بسجل لحالات الوصول والتغييرات. في بعض الأحيان، يُستخدم رمز على مستوى التطبيق لتسجيل التغييرات بدلًا من تركها في قاعدة البيانات. يمكن إعداد نظام مراقبة لمحاولة اكتشاف الاختراقات الأمنية. لذلك، يجب على المؤسسات أن تأخذ أمن قواعد البيانات على محمل الجد لما يوفره من فوائد عديدة. سيتم حماية المؤسسات من الاختراقات الأمنية وأنشطة القرصنة مثل اختراق جدار الحماية، وانتشار الفيروسات، وبرامج الفدية. يساعد هذا في حماية المعلومات الأساسية للشركة، والتي لا يمكن مشاركتها مع جهات خارجية تحت أي ظرف من الظروف. [ 41 ]

المعاملات والتزامن

يمكن استخدام معاملات قواعد البيانات لتوفير مستوى معين من تحمل الأعطال وضمان سلامة البيانات بعد التعافي من عطل . تُعرَّف معاملة قاعدة البيانات بأنها وحدة عمل، تشمل عادةً عددًا من العمليات على قاعدة البيانات (مثل قراءة كائن قاعدة البيانات، أو الكتابة، أو الحصول على قفل أو تحريره ، إلخ)، وهو مفهوم تجريدي مدعوم في قواعد البيانات وأنظمة أخرى. لكل معاملة حدود محددة بوضوح فيما يتعلق بتنفيذات البرامج/التعليمات البرمجية التي تُدرج ضمنها (يحددها مبرمج المعاملة عبر أوامر خاصة بالمعاملات).

يصف الاختصار ACID بعض الخصائص المثالية لمعاملة قاعدة البيانات: الذرية ، والاتساق ، والعزل ، والمتانة .

الهجرة

قاعدة البيانات المبنية باستخدام نظام إدارة قواعد بيانات معين غير قابلة للنقل إلى نظام إدارة قواعد بيانات آخر (أي أن النظام الآخر لا يمكنه تشغيلها). مع ذلك، في بعض الحالات، يُفضّل نقل قاعدة البيانات من نظام إدارة قواعد بيانات إلى آخر. وتتمثل الأسباب الرئيسية في الجوانب الاقتصادية (إذ قد تختلف التكاليف الإجمالية للملكية بين أنظمة إدارة قواعد البيانات المختلفة)، والوظيفية، والتشغيلية (إذ قد تختلف إمكانيات أنظمة إدارة قواعد البيانات المختلفة). يتضمن النقل تحويل قاعدة البيانات من نوع نظام إدارة قواعد بيانات إلى آخر. وينبغي أن يحافظ هذا التحويل (إن أمكن) على التطبيق المرتبط بقاعدة البيانات (أي جميع برامج التطبيقات ذات الصلة) سليمًا. وبالتالي، يجب الحفاظ على المستويين المفاهيمي والمعماري الخارجي لقاعدة البيانات أثناء التحويل. وقد يُفضّل أيضًا الحفاظ على بعض جوانب المستوى الداخلي للمعمارية. قد يكون نقل قاعدة بيانات معقدة أو كبيرة مشروعًا معقدًا ومكلفًا (مرة واحدة) بحد ذاته، وهو ما يجب أخذه في الاعتبار عند اتخاذ قرار النقل. هذا على الرغم من وجود أدوات قد تُسهّل عملية النقل بين أنظمة إدارة قواعد البيانات المختلفة. عادةً، يوفر مورد نظام إدارة قواعد البيانات أدوات للمساعدة في استيراد قواعد البيانات من أنظمة إدارة قواعد البيانات الشائعة الأخرى.

البناء والصيانة والضبط

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

عندما تصبح قاعدة البيانات جاهزة (أي بعد تحديد جميع هياكل البيانات والمكونات الأخرى اللازمة)، يتم عادةً ملؤها ببيانات التطبيق الأولية (تهيئة قاعدة البيانات، والتي تُعد عادةً مشروعًا منفصلاً؛ وفي كثير من الحالات باستخدام واجهات أنظمة إدارة قواعد البيانات المتخصصة التي تدعم الإدخال المجمع) قبل تشغيلها. في بعض الحالات، تبدأ قاعدة البيانات بالعمل وهي خالية من بيانات التطبيق، وتتراكم البيانات أثناء تشغيلها.

بعد إنشاء قاعدة البيانات وتهيئتها وتعبئتها بالبيانات، يلزم صيانتها. قد يتطلب الأمر تغيير بعض معايير قاعدة البيانات، وضبطها لتحسين الأداء؛ كما قد يتم تغيير هياكل بيانات التطبيق أو إضافة هياكل جديدة إليها، وكتابة برامج تطبيقية جديدة ذات صلة لتعزيز وظائف التطبيق، وما إلى ذلك.

النسخ الاحتياطي والاستعادة

قد يُرغب أحيانًا في إعادة قاعدة البيانات إلى حالة سابقة (لأسباب عديدة، مثل اكتشاف تلف قاعدة البيانات نتيجة خطأ برمجي، أو تحديثها ببيانات خاطئة). ولتحقيق ذلك، تُجرى عملية نسخ احتياطي بشكل دوري أو مستمر، حيث تُحفظ كل حالة مطلوبة لقاعدة البيانات (أي قيم بياناتها وتكوينها في هياكل بيانات قاعدة البيانات) في ملفات نسخ احتياطي مخصصة (توجد تقنيات عديدة لتحقيق ذلك بكفاءة). عندما يقرر مسؤول قاعدة البيانات إعادة قاعدة البيانات إلى تلك الحالة (مثلاً، بتحديد تلك الحالة بنقطة زمنية معينة كانت عليها قاعدة البيانات)، تُستخدم هذه الملفات لاستعادة تلك الحالة.

التحليل الثابت

يمكن تطبيق تقنيات التحليل الثابت للتحقق من البرمجيات أيضًا في مجال لغات الاستعلام. على وجه الخصوص، تم توسيع إطار التفسير المجرد ليشمل لغات الاستعلام لقواعد البيانات العلائقية كوسيلة لدعم تقنيات التقريب السليم. [ 42 ] يمكن ضبط دلالات لغات الاستعلام وفقًا لتجريدات مناسبة لمجال البيانات المحدد. لتجريد أنظمة قواعد البيانات العلائقية تطبيقات عديدة مهمة، لا سيما لأغراض أمنية، مثل التحكم الدقيق في الوصول، ووضع العلامات المائية، وما إلى ذلك.

ميزات متنوعة

قد تتضمن ميزات نظام إدارة قواعد البيانات الأخرى ما يلي:

  • سجلات قاعدة البيانات – يساعد هذا في الاحتفاظ بسجل للوظائف المنفذة.
  • مكون رسومي لإنتاج الرسوم البيانية والمخططات، وخاصة في نظام مستودع البيانات.
  • مُحسِّن الاستعلامات – يُجري تحسينًا على كل استعلام لاختيار خطة استعلام فعّالة (ترتيب جزئي (شجرة) للعمليات) تُنفَّذ لحساب نتيجة الاستعلام. قد يكون خاصًا بمحرك تخزين مُعيَّن.
  • أدوات أو روابط لتصميم قواعد البيانات، وبرمجة التطبيقات، وصيانة برامج التطبيقات، وتحليل ومراقبة أداء قواعد البيانات، ومراقبة تكوين قواعد البيانات، وتكوين أجهزة نظام إدارة قواعد البيانات (قد يمتد نظام إدارة قواعد البيانات وقاعدة البيانات ذات الصلة عبر أجهزة الكمبيوتر والشبكات ووحدات التخزين) ورسم خرائط قواعد البيانات ذات الصلة (خاصة لنظام إدارة قواعد البيانات الموزع)، وتخصيص التخزين ومراقبة تخطيط قواعد البيانات، وترحيل التخزين، وما إلى ذلك.

تتزايد الدعوات إلى نظام موحد يضم جميع هذه الوظائف الأساسية ضمن إطار عمل واحد للبناء والاختبار والنشر لإدارة قواعد البيانات والتحكم في المصادر. واستنادًا إلى تطورات أخرى في صناعة البرمجيات، يسوّق البعض هذه العروض تحت مسمى " DevOps لقواعد البيانات". [ 43 ]

التصميم والنمذجة

تتمثل المهمة الأولى لمصمم قواعد البيانات في إنشاء نموذج بيانات مفاهيمي يعكس بنية المعلومات المراد تخزينها في قاعدة البيانات. ومن الأساليب الشائعة لتحقيق ذلك تطوير نموذج علاقات الكيانات ، غالبًا باستخدام أدوات الرسم. كما يُعد استخدام لغة النمذجة الموحدة (UML ) أسلوبًا شائعًا آخر . يعكس نموذج البيانات الناجح بدقة الحالة المحتملة للعالم الخارجي الذي يتم نمذجته؛ فعلى سبيل المثال، إذا كان بإمكان الأشخاص امتلاك أكثر من رقم هاتف، فسيتيح ذلك تسجيل هذه المعلومة. يتطلب تصميم نموذج بيانات مفاهيمي جيد فهمًا عميقًا لمجال التطبيق؛ ويتضمن عادةً طرح أسئلة معمقة حول الأمور التي تهم المؤسسة، مثل: "هل يمكن أن يكون العميل موردًا أيضًا؟"، أو "إذا تم بيع منتج بنوعين مختلفين من التغليف، فهل هما نفس المنتج أم منتجان مختلفان؟"، أو "إذا سافرت طائرة من نيويورك إلى دبي عبر فرانكفورت، فهل هي رحلة واحدة أم رحلتان (أو ربما ثلاث رحلات)؟". تُحدد الإجابات على هذه الأسئلة تعريفات المصطلحات المستخدمة للكيانات (العملاء، المنتجات، الرحلات، أجزاء الرحلات) وعلاقاتها وخصائصها.

قد يتطلب إعداد نموذج البيانات المفاهيمي أحيانًا مدخلات من عمليات الأعمال ، أو تحليل سير العمل في المؤسسة. وهذا يساعد في تحديد المعلومات المطلوبة في قاعدة البيانات، والمعلومات التي يمكن الاستغناء عنها. على سبيل المثال، يساعد ذلك في تحديد ما إذا كانت قاعدة البيانات بحاجة إلى الاحتفاظ بالبيانات التاريخية بالإضافة إلى البيانات الحالية.

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

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

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

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

نماذج

مجموعة صور لخمسة أنواع من نماذج قواعد البيانات

نموذج قاعدة البيانات هو نوع من نماذج البيانات التي تحدد البنية المنطقية لقاعدة البيانات، وتحدد بشكل أساسي كيفية تخزين البيانات وتنظيمها ومعالجتها. وأكثر الأمثلة شيوعًا على نماذج قواعد البيانات هو النموذج العلائقي (أو ما يُعرف في لغة SQL بالنموذج العلائقي)، والذي يستخدم تنسيقًا قائمًا على الجداول.

تتضمن نماذج البيانات المنطقية الشائعة لقواعد البيانات ما يلي:

تجمع قاعدة البيانات العلائقية الكائنية بين البنيتين المرتبطتين.

تشمل نماذج البيانات المادية ما يلي:

وتشمل الطرازات الأخرى ما يلي:

يتم تحسين النماذج المتخصصة لأنواع معينة من البيانات:

وجهات نظر خارجية ومفاهيمية وداخلية

النظرة التقليدية للبيانات [ 44 ]

يوفر نظام إدارة قواعد البيانات ثلاثة عروض لبيانات قاعدة البيانات:

  • يُحدد المستوى الخارجي كيفية رؤية كل مجموعة من المستخدمين النهائيين لتنظيم البيانات في قاعدة البيانات. ويمكن أن تحتوي قاعدة البيانات الواحدة على أي عدد من طرق العرض على المستوى الخارجي.
  • يُوحّد المستوى المفاهيمي ( أو المستوى المنطقي ) مختلف وجهات النظر الخارجية في رؤية شاملة متوافقة. [ 45 ] وهو يُقدّم توليفًا لجميع وجهات النظر الخارجية. وهو خارج نطاق اهتمام مُستخدمي قواعد البيانات النهائيين، ويُعدّ ذا أهمية خاصة لمطوري تطبيقات قواعد البيانات ومديريها.
  • المستوى الداخلي (أو المستوى المادي ) هو التنظيم الداخلي للبيانات داخل نظام إدارة قواعد البيانات. وهو معني بالتكلفة والأداء وقابلية التوسع وغيرها من الأمور التشغيلية. ويتعامل مع تخطيط تخزين البيانات، باستخدام هياكل تخزين مثل الفهارس لتحسين الأداء. وفي بعض الأحيان، يخزن بيانات العروض الفردية ( العروض المادية )، المحسوبة من بيانات عامة، إذا كان هناك مبرر للأداء لهذا التكرار. ويوازن بين متطلبات أداء جميع العروض الخارجية، حتى وإن كانت متضاربة، في محاولة لتحسين الأداء العام لجميع الأنشطة.

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

ترتبط بنية قاعدة البيانات ثلاثية المستويات بمفهوم استقلالية البيانات ، الذي كان أحد أهم الدوافع الأولية للنموذج العلائقي. [ 45 ] وتتلخص الفكرة في أن التغييرات التي تُجرى على مستوى معين لا تؤثر على العرض في مستوى أعلى. فعلى سبيل المثال، لا تؤثر التغييرات في المستوى الداخلي على برامج التطبيقات المكتوبة باستخدام واجهات المستوى المفاهيمي، مما يقلل من تأثير إجراء تغييرات مادية لتحسين الأداء.

يُوفّر المنظور المفاهيمي مستوىً من التوجيه غير المباشر بين المستويين الداخلي والخارجي. فهو من جهة يُقدّم رؤيةً مشتركةً لقاعدة البيانات، مستقلةً عن هياكل العرض الخارجية المختلفة، ومن جهة أخرى يُجرّد تفاصيل كيفية تخزين البيانات أو إدارتها (المستوى الداخلي). من حيث المبدأ، يُمكن تمثيل كل مستوى، بل وكل عرض خارجي، بنموذج بيانات مختلف. عمليًا، عادةً ما يستخدم نظام إدارة قواعد البيانات نموذج البيانات نفسه لكلٍّ من المستويين الخارجي والمفاهيمي (مثل النموذج العلائقي). أما المستوى الداخلي، المخفي داخل نظام إدارة قواعد البيانات والذي يعتمد على تنفيذه، فيتطلب مستوىً مختلفًا من التفصيل ويستخدم أنواعًا خاصة به من هياكل البيانات.

بحث

تُعدّ تقنية قواعد البيانات موضوعًا بحثيًا نشطًا منذ ستينيات القرن الماضي، سواء في الأوساط الأكاديمية أو في مجموعات البحث والتطوير التابعة للشركات (مثل مركز أبحاث IBM ). تشمل الأنشطة البحثية النظرية وتطوير النماذج الأولية . ومن أبرز المواضيع البحثية: النماذج ، ومفهوم المعاملة الذرية، وتقنيات التحكم في التزامن ذات الصلة ، ولغات الاستعلام وأساليب تحسين الاستعلام ، وتقنية RAID ، وغيرها.

يضم مجال أبحاث قواعد البيانات العديد من المجلات الأكاديمية المتخصصة (على سبيل المثال، ACM Transactions on Database Systems -TODS، Data and Knowledge Engineering -DKE) والمؤتمرات السنوية (مثل ACM SIGMOD ، ACM PODS ، VLDB، IEEE ICDE).

انظر أيضاً

ملحوظات

  1. تشير هذه المقالة إلى أن مدة تطوير الإصدار التاسع من DB2 وحدها استغرقت خمس سنوات وشارك فيها 750 شخصًا. [ 33 ]

مراجع

  1. أولمان و ويدوم 1997 ، ص. 1.
  2. "تحديث التعريف والمعنى" . قاموس ميريام-ويبستر . مؤرشف من الأصل في 25 فبراير 2024.
  3. "تعريف ومعنى الاسترجاع" . قاموس ميريام-ويبستر . مؤرشف من الأصل في 27 يونيو 2023.
  4. "تعريف الإدارة ومعناها" . قاموس ميريام-ويبستر . مؤرشف من الأصل في 6 ديسمبر 2023.
  5. تسيتشيزريس ولوخوفسكي 1982 .
  6. بينون-ديفيز 2003 .
  7. نيلسون ونيلسون 2001 .
  8. باخمان 1973 .
  9. "TOPDB فهرس قاعدة البيانات الأعلى" . pypl.github.io .
  10. "قاعدة بيانات، اسم" . قاموس أكسفورد الإنجليزي على الإنترنت . مطبعة جامعة أكسفورد. يونيو 2013. تم الاطلاع عليه في 12 يوليو 2013 .(الاشتراك مطلوب.)
  11. شركة آي بي إم (أكتوبر 2013). "يوفر نظام إدارة المعلومات (IMS) 13 من آي بي إم، خوادم المعاملات وقواعد البيانات، أداءً عاليًا وتكلفة إجمالية منخفضة للملكية" . تم الاطلاع عليه بتاريخ 20 فبراير 2014 .
  12. ١ ٢ ٣ ٤ "الجلسة العامة الأولى حول قواعد البيانات العلائقية: السنوات الأولى" (ملف PDF) (مقابلة). أجراها بيرتون غراد. متحف تاريخ الحاسوب. ١٢ يونيو ٢٠٠٧. تاريخ الاطلاع: ٣٠ مايو ٢٠٢٥ .
  13. كود 1970 .
  14. هيرشي وإيستوب 1972 .
  15. شمال 2010 .
  16. تشايلدز 1968أ .
  17. تشايلدز 1968ب .
  18. MA Kahn؛ DL Rumelhart؛ BL Bronson (أكتوبر 1977). دليل مرجعي لنظام إدارة المعلومات MICRO (الإصدار 5.0) . معهد علاقات العمل والصناعة (ILIR)، جامعة ميشيغان وجامعة واين ستيت.
  19. "ما هي لغة الاستعلامات المهيكلة (SQL)؟" . شركة IBM . تاريخ الاسترجاع: 18 مارس 2026. في سبعينيات القرن الماضي، قام عالما شركة IBM، دونالد تشامبرلين وريموند بويس، بتطوير وتقديم لغة SQL. نشأت هذه اللغة من مفهوم النماذج العلائقية، وكان اسمها في البداية لغة الاستعلامات الإنجليزية المهيكلة (SEQUEL) قبل أن يتم اختصارها إلى SQL.
  20. "الجدول الزمني للذكرى الثلاثين لشركة أوراكل" (ملف PDF) . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 20 مارس 2011. تم الاطلاع عليه بتاريخ 23 أغسطس 2017 .
  21. ١ ٢ ٣ "الجلسة العامة لأنظمة إدارة قواعد البيانات العلائقية: السنوات الأخيرة" (ملف PDF) (مقابلة). أجراها بيرتون غراد. متحف تاريخ الحاسوب. ١٢ يونيو ٢٠٠٧. تاريخ الاطلاع: ٣٠ مايو ٢٠٢٥ .
  22. مقابلة مع واين راتليف . تاريخ فوكس برو. تم الاطلاع عليه بتاريخ 12 يوليو 2013.
  23. تطوير نظام إدارة قواعد بيانات كائنية التوجه؛ بورتلاند، أوريغون، الولايات المتحدة؛ الصفحات: 472-482؛ 1986؛ رقم ISBN 0-89791-204-7
  24. جوردان، ميغان. "زمن استجابة قواعد بيانات NoSQL" . ScyllaDB . تم الاطلاع عليه بتاريخ 9 يونيو 2025 .
  25. "SQL مقابل NoSQL: مقارنة شاملة للميزات والاختلافات والمزيد" . www.testgorilla.com . تم الاطلاع عليه بتاريخ 9 يونيو 2025 .
  26. "شرح أنواع قواعد بيانات NoSQL: الرسم البياني | TechTarget" . إدارة بيانات البحث . تم الاطلاع عليه في 1 يوليو 2026 .
  27. غريفز، ستيف. "قواعد بيانات COTS للأنظمة المدمجة" مؤرشفة في 14 نوفمبر 2007 في Wayback Machine ، مجلة Embedded Computing Design ، يناير 2007. تم استرجاعها في 13 أغسطس 2008.
  28. الجدل في الذكاء الاصطناعي بقلم إياد رهوان، غييرمو ر. سيماري
  29. "دلالات لغة OWL DL" . تم الاطلاع عليه بتاريخ 10 ديسمبر 2010 .
  30. كونولي وبيج 2014 ، ص 64.
  31. كونولي وبيج 2014 ، ص 97-102.
  32. كونولي وبيج 2014 ، ص 102.
  33. تشونغ وآخرون 2007 .
  34. كونولي وبيج 2014 ، ص 106-113.
  35. كونولي وبيج 2014 ، ص 65.
  36. تشابل 2005 .
  37. "لغة الاستعلامات المهيكلة (SQL)" . شركة آي بي إم. 27 أكتوبر 2006. تم الاطلاع عليه بتاريخ 10 يونيو 2007 .
  38. فاغنر 2010 .
  39. ^ رامالهو، جي سي؛ فاريا، ل.؛ هيلدر، س.؛ كوتادا، م. (31 ديسمبر 2013). "مجموعة أدوات الحفاظ على قاعدة البيانات: أداة مرنة للتطبيع ومنح الوصول إلى قواعد البيانات" . المكتبة الوطنية بالبرتغال . جامعة مينهو.
  40. ^ بايهو، ساتو؛ تومينين، بيكا؛ روكمان، جيري. يليكرالا، ماركوس؛ باجولا، جحا؛ سيكافيرتا، هاني (2022). "فرص جمع بيانات المدينة للمدن الذكية" . IET المدن الذكية . 4 (4): 275-291 . دوى : 10.1049 / smc2.12044 . ISSN 2631-7680 . S2CID 253467923 .  
  41. ديفيد واي. تشان؛ فيكتوريا تشيو؛ ميكلوس أ. فاسارهيلي (2018). التدقيق المستمر : النظرية والتطبيق (الطبعة الأولى ). بينغلي، المملكة المتحدة: دار إميرالد للنشر. ISBN   978-1-78743-413-4. OCLC 1029759767 . 
  42. هالدر وكورتيسي 2011 .
  43. بن ليندرز (28 يناير 2016). "كيف تتناسب إدارة قواعد البيانات مع منهجية DevOps" . تم الاطلاع عليه بتاريخ 15 أبريل 2017 .
  44. itl.nist.gov (1993) تعريف التكامل لنمذجة المعلومات (IDEFIX) مؤرشف في 3 ديسمبر 2013 في Wayback Machine . 21 ديسمبر 1993.
  45. 1 2 التاريخ 2003 ، الصفحات 31-32.

مصادر

للمزيد من القراءة