18

بالنسبة ل SQL هي لغة استعلام لقواعد البيانات العلائقية RDBMS. كل قاعدة بيانات فيها جداول فيها حقول (أعمدة) ومدخلات (صفوف) ضمن مخطط مصمم مسبقا schema بأن الحقل الفلاني من نوع كذا وكذا. هذه اللغة عيارية وتحكمها معايير ISO. إن كان هناك جدول للمقالات مثلا ولكل مقالة مستخدم فإننا نضع رقم معرف المستخدم صاحب المقالة فقط وهذا ما يسمى المفتاح الغريب foreign key وتجلب بيانات المستخدم باتساق في عملية تعرف باسم الربط JOIN ومن هنا جاءت العلائقية. الاستعلامات والتعديلات والإضافات تحكمها قواعد صارمة تسمى ACID

http://en.wikipedia.org/wiki/ACID

في المقابل NoSQL (أو فعليا NoRel) تتكون من مجموعات collections من الوثائق documents دون مخطط مسبق إلزامي. يشار لكل وثيقة بمعرف فريد مولد تلقائيا (لهذا تسمى قواعد أو مخازن أزواج المفاتيح والقيم key/value) الوثيقة يمكن أن تكون تركيب حر معقد به حقول متعددة من أنواع مختلفة مثلا مجموعة المستخدمين يمكن أن تكون على صورة {معرف:1، الاسم:أحمد، الهواية: [المطالعة، الجري]} وفيها أيضا {معرف:2، الاسم: زهير، الصورة: رمز1.png} ولا تدعم قيود ACID بل BASE

http://en.wikipedia.org/wiki/Eventual_consistency

تشير الدراسات أن أغلب التطبيقات لا تحتاج العلائقية ولا تستفيد من ACID.

الأمثلة التي ذكرتها كلها من النوع الأول والفرق بينها أن تنفيذ للمعايير بطرق مختلفة من شركات مختلفة مثل بيبسي وكوكاكولا.

يضاف إليها Sqlite و postgresql

-2

صديقي جميل

و لكن يبقى ما هو الفرق بين mysql و sql

إن كنت تقصد بقولك sql المنتج الذي اسمه microsoft sql server فالفرق بينهما كما ذكرت لك هو أنهما تنفيذ للغة العيارية من شركتين مختلفتين كالفرق بين البيبسي والكواكولا أو كالفرق بين بورلاند سي++ ومايكروسوفت سي++ في فيجوال ستديو.

إن كنت تريد المقارنة بين المنتجات ف mysql حر ومفتوح المصدر ويعمل على كل المنصات (كذلك ماريا و postgresql و sqlite وكلها لها وجاهتها ومجال استخدامها المختلف والواضح)

في المقابل microsoft sql server هو منتج احتكاري مملوك يحتوي على ما يسمى قفل البائع vendor lock-in فهو يسجن المستفيد فيه مثلا تحتاج خادوم بنظام ويندوز سيرفر حتى تشغله ... كذلك تحتاج دفع رخصة له ولنظام التشغيل ولبيئة التطوير ...إلخ فهل فيه ما يستحق كل هذا؟

كلهم قواعد بيانات ,, لكل واحدة منهن مميزات وعيوب .

ملاحظة : اوراكل هي لغة برمجة كاملة الشي المشترك بينهم هو جمل sql الاساسية .

يمكنك الاطلاع على هذا الموضوع قد يفيدك .

http://db-engines.com/en/system/Microsoft+SQL+Server%3BMySQL%3BOracle

وهذا ايضا

https://www.udemy.com/blog/oracle-vs-mysql-vs-sql-server/

فهو يتكلم عن تاريخ ومميزات كل واحدة فيهن


برمجة

المواضيع والنقاشات المتعلقة بالبرمجة بشكل عام او لغات البرمجة التي لايوجد لها مجتمعات فرعية.

16.5 ألف متابع