بالنسبة ل SQL هي لغة استعلام لقواعد البيانات العلائقية RDBMS. كل قاعدة بيانات فيها جداول فيها حقول (أعمدة) ومدخلات (صفوف) ضمن مخطط مصمم مسبقا schema بأن الحقل الفلاني من نوع كذا وكذا. هذه اللغة عيارية وتحكمها معايير ISO. إن كان هناك جدول للمقالات مثلا ولكل مقالة مستخدم فإننا نضع رقم معرف المستخدم صاحب المقالة فقط وهذا ما يسمى المفتاح الغريب foreign key وتجلب بيانات المستخدم باتساق في عملية تعرف باسم الربط JOIN ومن هنا جاءت العلائقية. الاستعلامات والتعديلات والإضافات تحكمها قواعد صارمة تسمى ACID
http://en.wikipedia.org/wik...
في المقابل NoSQL (أو فعليا NoRel) تتكون من مجموعات collections من الوثائق documents دون مخطط مسبق إلزامي. يشار لكل وثيقة بمعرف فريد مولد تلقائيا (لهذا تسمى قواعد أو مخازن أزواج المفاتيح والقيم key/value) الوثيقة يمكن أن تكون تركيب حر معقد به حقول متعددة من أنواع مختلفة مثلا مجموعة المستخدمين يمكن أن تكون على صورة {معرف:1، الاسم:أحمد، الهواية: [المطالعة، الجري]} وفيها أيضا {معرف:2، الاسم: زهير، الصورة: رمز1.png} ولا تدعم قيود ACID بل BASE
http://en.wikipedia.org/wik...
تشير الدراسات أن أغلب التطبيقات لا تحتاج العلائقية ولا تستفيد من ACID.
الأمثلة التي ذكرتها كلها من النوع الأول والفرق بينها أن تنفيذ للمعايير بطرق مختلفة من شركات مختلفة مثل بيبسي وكوكاكولا.
يضاف إليها Sqlite و postgresql
التعليقات