السلام عليكم مقدمة اول شي يجب ان نعرفه هو ان كل من فريق mysql و فريق الpostgreSQL يعمل من اجل ان يجعل انتاجه هو الأفضل و يجب ان نعرف ايضا ان لكل من قواعد البيانات التالية مستعملين و ذلك حسب رغبة المستعمل و حسب متطلبات البرنامج او المشروح المطلوب انجازه فإذار اردت السرعة فعليك بالmysql اما اذا اردت اكثر امكانيات فعليك بالPostgreSQL جدول مقارنة بين القاعدتين
المقارنات PostgreSQL mySQL تكامل استعلامات SQL بعض الإستعلامات لا تعمل تسمح ببعض الإستعلامات المعروفة (standard SQL) السرعة بطيئ سريع Sub-selects نعم لا Transactions نعم نعم في حال استعمال جداول من نوع innoDB نسخ قواعد بيانات نعم نعم قابلية Foreign Keys نعم لا Views نعم لا Stored procedures نعم لا Triggers نعم لا Unions نعم لا Full joins نعم لا Constraints نعم لا Windows support نعم نعم Vacuum نعم لا ODBC نعم نعم JDBC نعم نعم Different table types لا نعم
المقارنات
نعم
لماذا اختار MySQL كل مبرمج و كل صاحب مشروع يريد ان يكون مشروعه ناجح و يريد ان ينفذ كل نقاط مشروعه كاملة : ثم يجب ان نستعرض احتياجات المشروع و متطلباته و مدى بساطته ( يقصد ببساطة هنا : بساطة الإستعلامات الSQL ) بالتالي يجب استعمال mySQL اولا لأنها تلبي هذه البساطة و ثانيا لأنها اسرع من الpostgreSQL بدرجات انت تستعمل mySQL كقاعدة بيانات لمشروعك اذن انت ترتكز على ادارة اللإستعلامات ( insert , delete , update ) من الكود البرمجي لمشروعك و لا حاجة لك ان تكون ادارة الإستعلامات من قاعدة البيانات (postgreSQL) و بالتالي ستكون هذه الأدراة للإستعلامات اسرع من ادارة الإستعلامات في الpostgreSQL بماذا تمتاز الMySQL ؟ [*]mysql اسرع من postgreSQL[*]تصميم الجداول اسهل[*]ادارة الإستعلامات من الكود البرمجي[*]الإستنساخ في الmySQL يتم مراقبته[*]لا تشترط الmySQL عملية الإفراغ للمحتوى او ما يسمى بالVacuum لماذا اختار postgreSQL يستعمل المبرمجين الpostgreSQL لإحساسهم الشديد بأن الذي يريدونه غير متوفر في الmySQL و بالتالي فهم لا يبحثون على ما تمتاز به الmysql من ( سرعة , ... ما يتميز به الmySQL) فهم (المبرمجين) يبحثون عن اشياء اخرى لا تتوفر الا في الpostgreSQL مثال : انا استعمل في مشروعي بعض الForeign Keys او الtrigges او بعض الviews و كل هذع غير مسموح بها في الmysql و كل هذه ايضا تغنين عن كثير من الخطوات التي سأقوم بها في الكود البرمجي و الفرق واضح بين الmySQL و الpostgreSQL اذ انه في الmySQL لا يمكن تنفيذ الsub-select و بذلك الpostgreSQL تدعم اكثر نوعيات من الإستعلامات و الANSI SQL مما يمكنها من عمل دوال SQL معقدة للغاية ما يميز الpostgreSQL [*]تصميم الجدوال اصعب من الmySQL[*]بعيد كل البعد عن بقية القواعد مثل الmssql و الoracle[*]استعمال الأجراءات المخزنة (procedures)[*]استعمال اللغات الأجرائية في السيرفر[*]Transactions[*]التعامل مع البيانات الجغرافية روابط مفيدة http://www.postgresql.org/docs/7.4/static/tutorial-inheritance.html http://builder.com.com/5100-6388-1045125.html