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

قاعدة بيانات القيم المتعددة هي نوع من قواعد بيانات NoSQL ومتعددة الأبعاد . وهي تُعتبر عادةً مرادفة لـ PICK ، وهي قاعدة بيانات طُوّرت في الأصل كنظام تشغيل Pick .

تشمل قواعد البيانات متعددة القيم منتجات تجارية من شركات مثل Rocket Software وRevelation و InterSystems و Northgate Information Solutions وONgroup [ 1 ] وغيرها. تختلف هذه القواعد عن قواعد البيانات العلائقية في أنها تدعم وتشجع استخدام السمات التي تقبل قائمة من القيم، بدلاً من أن تكون جميع السمات أحادية القيمة. غالبًا ما تُصنف مع MUMPS ضمن فئة قواعد البيانات ما بعد العلائقية ، على الرغم من أن نموذج بياناتها أقدم من النموذج العلائقي . على عكس أدوات SQL-DBMS، يمكن الوصول إلى معظم قواعد البيانات متعددة القيم باستخدام لغة SQL أو بدونها .

تاريخ

صمّم دون نيلسون نموذج بيانات MultiValue في أوائل ومنتصف ستينيات القرن العشرين. [ 2 ] عمل ديك بيك ، وهو مطوّر برامج في شركة TRW ، على أول تطبيق لهذا النموذج لصالح الجيش الأمريكي عام 1965. اعتبر بيك البرنامج ملكًا عامًا لأنه كُتب لأغراض عسكرية، وكانت هذه أول قضية تتعلق بقواعد بيانات MultiValue تُنظر فيها المحاكم. [ 3 ]

كتب كين سيمز لغة DataBASIC، المعروفة أحيانًا باسم S-BASIC، في منتصف سبعينيات القرن العشرين. استندت هذه اللغة إلى لغة Dartmouth BASIC ، ولكنها تميزت بميزات محسّنة لإدارة البيانات. وقد أمضى سيمز وقتًا طويلًا في لعب لعبة Star Trek (وهي لعبة حاسوب نصية مبكرة كُتبت في الأصل بلغة Dartmouth BASIC) أثناء تطوير اللغة، وذلك لضمان عمل DataBASIC بالشكل الذي يرضيه. [ 4 ]

كانت ثلاثة من تطبيقات MultiValue - PICK الإصدار R77، وMicrodata Reality [ 5 ] 3.x، وPrime Information 1.0 - متشابهة للغاية. وعلى الرغم من محاولات التوحيد القياسي، لا سيما من قِبل International Spectrum وجمعية مصنعي Spectrum، اللتين صممتا شعارًا موحدًا للاستخدام، [ 6 ] إلا أنه لا توجد معايير موحدة لتطبيقات MultiValue. ونتيجةً لذلك، تباينت هذه التطبيقات، مع وجود بعض التداخل بينها. ويمكن تصنيف مسارات تطوير قواعد بيانات MultiValue إلى ثلاثة مسارات: مسارٌ مُستمد من PICK R83، وآخر من Microdata Reality، وثالث من Prime Information. [ 7 ] ونظرًا لهذه الاختلافات، تدعم بعض التطبيقات عدة إصدارات من هذه اللغات. ويمكن الاطلاع على محاولة لتوثيق أوجه التشابه والاختلاف في مرجع قواعد البيانات ما بعد العلائقية (PRDB). [ 8 ]

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

مثال على نموذج البيانات

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

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

يتم تخزين البيانات باستخدام ملفين منفصلين: "ملف" لتخزين البيانات الأولية و"قاموس" لتخزين تنسيق عرض البيانات الأولية.

على سبيل المثال، لنفترض وجود ملف (جدول) يُسمى "PERSON". يحتوي هذا الملف على خاصية تُسمى "eMailAddress". يمكن لحقل "eMailAddress" تخزين عدد متغير من عناوين البريد الإلكتروني في سجل واحد. يمكن تخزين القائمة [joe@example.com, jdb@example.net, joe_bacde@example.org] والوصول إليها عبر استعلام واحد عند الوصول إلى السجل المرتبط.

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

لغة أساسية متعددة القيم

لغة البرمجة متعددة القيم الأساسية (المعروفة الآن باسم mvBasic ) هي عائلة من لغات البرمجة الشائعة (والقابلة للنقل) في جميع قواعد البيانات متعددة القيم المشتقة من نظام التشغيل Pick الأصلي. وتُعرف الاختلافات بين هذه التطبيقات باسم "النكهات" .

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

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

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

يقوم المترجم النموذجي mvBasic بتحويل مصدر البرنامج إلى كائن تنفيذي P-code ويعمل في مترجم، مع كون D3 FlashBasic [ 10 ] و jBASE [ 11 ] استثناءات ملحوظة.

لغة الاستعلام متعددة القيم

تُعرف لغة الاستعلام MultiValue بأسماء عديدة على مر السنين، منها ENGLISH وACCESS وAQL وUniQuery وRetrieve وCMQL، والتي تتوافق مع تطبيقاتها المختلفة. وتختلف هذه اللغة عن لغة SQL في عدة جوانب. يُنفذ كل استعلام على قاموس واحد ضمن المخطط، والذي يمكن اعتباره ملفًا افتراضيًا أو بوابة إلى قاعدة البيانات لعرض البيانات.

قائمة الأشخاص الذين تبدأ أسماؤهم بـ "Van..."

ستُدرج العبارة أعلاه جميع عناوين البريد الإلكتروني لكل شخص يبدأ اسمه الأخير بـ "Van". سيتم إخراج مدخل واحد لكل شخص، مع عدة أسطر تُظهر عناوين البريد الإلكتروني المتعددة (دون تكرار بيانات أخرى عن الشخص).

انظر أيضاً

مراجع

  1. "ONgroup" . www.ongroup.com .
  2. نيلسون، دون (1965). "لغة ونظام استرجاع المعلومات العامة (GIRLS)" (PDF) .{{cite journal}}يتطلب الاستشهاد بالمجلة ( مساعدة )|journal=
  3. ^ "خريجو البيانات الجزئية" . www.microdata-alumni.org .
  4. سيسك، جوناثان (1987). بيك بيسك: دليل المبرمج . تاب بوكس.
  5. "الصفحة الرئيسية" . www.northgate-is.com .
  6. "رمز متعدد القيم" .
  7. ^ ولثويس، داون (2002). "شجرة عائلة متعددة القيم" (PDF) .{{cite journal}}يتطلب الاستشهاد بالمجلة ( مساعدة )|journal=
  8. "مرجع قواعد البيانات ما بعد العلائقية" .
  9. نيلسون، دون (1964). "لغة ونظام استرجاع المعلومات المعمم (GIRLS)" (PDF) .{{cite journal}}يتطلب الاستشهاد بالمجلة ( مساعدة )|journal=
  10. "مقدمة إلى D3" .
  11. "تجميع jBase" .