Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

postgreSQL mysql oracle मतभेद

कुछ साल पहले मुझे एक अनुवाद इंजन लिखना था; आप इसे sql का एक सेट खिलाते हैं और यह वर्तमान में जुड़े इंजन की बोली में अनुवाद करता है। मेरा इंजन Postgres (AKA PostgreSql), Ingres, DB2, Informix, Sybase, और Oracle - oh, और ANTS पर काम करता है। सच कहूँ तो, Oracle मेरा सबसे कम पसंदीदा है (उस पर अधिक नीचे) ... दुर्भाग्य से आपके लिए, mySql और SQL सर्वर सूची में नहीं हैं (उस समय न तो एक गंभीर RDBMS माना जाता था - लेकिन समय बदल जाता है)।

इंजन की गुणवत्ता या प्रदर्शन की परवाह किए बिना - और बैकअप बनाने और पुनर्स्थापित करने में आसानी - यहाँ अंतर के प्राथमिक क्षेत्र हैं:

  • डेटाटाइप
  • सीमा
  • अमान्य
  • आरक्षित शब्द
  • शून्य शब्दार्थ (नीचे देखें)
  • उद्धरण शब्दार्थ (एकल उद्धरण ', दोहरा उद्धरण ", या कोई भी)
  • विवरण पूर्णता शब्दार्थ
  • कार्य शब्दार्थ
  • तारीख प्रबंधन ('अब' और इनपुट/आउटपुट फ़ंक्शन प्रारूप जैसे निरंतर कीवर्ड सहित)
  • क्या इनलाइन टिप्पणियों की अनुमति है
  • अधिकतम विशेषता लंबाई
  • विशेषताओं की अधिकतम संख्या
  • कनेक्शन शब्दार्थ / सुरक्षा प्रतिमान।

सभी रूपांतरण डेटा पर आपको बोर किए बिना, यहां एक डेटाटाइप के लिए एक नमूना है, lvarchar:

oracle=varchar(%x) sybase=text db2="long varchar" informix=lvarchar postgres=varchar(%x) ants=varchar(%x) ingres=varchar(%x,%y)

मेरे विचार में, सबसे बड़ी बात, अशक्त प्रबंधन है; Oracle चुपचाप रिक्त इनपुट स्ट्रिंग्स को शून्य मानों में परिवर्तित करता है। ... कहीं, बहुत समय पहले, मैंने एक लेख पढ़ा था जिसे किसी ने "द सेवेंटीन मीनिंग्स ऑफ नल" या कुछ ऐसे के बारे में किया था और वास्तविक बिंदु यह है कि नल बहुत मूल्यवान हैं और एक शून्य स्ट्रिंग और एक खाली स्ट्रिंग के बीच का अंतर है उपयोगी और गैर तुच्छ! मुझे लगता है कि ओरेकल ने इस पर बहुत बड़ी गलती की है; किसी और का यह व्यवहार नहीं है (जो मैंने कभी देखा है)।

मेरा दूसरा सबसे कम पसंदीदा एएनटीएस था क्योंकि अन्य सभी के विपरीत, उन्होंने सही वाक्यविन्यास के लिए मूर्खतापूर्ण नियमों को लागू किया जो बिल्कुल कोई और नहीं करता है और जबकि वे मानक के पूर्ण पालन प्रदान करने वाली एकमात्र डीबी कंपनी हो सकते हैं, वे भी शाही दर्द हैं कोड लिखने के लिए बट।

दूर और दूर मेरा पसंदीदा पोस्टग्रेज है; यह _real_world_ स्थितियों में बहुत तेज़ है, इसका बहुत अच्छा समर्थन है, और यह खुला स्रोत / मुफ़्त है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीएल-एसक्यूएल में () कैसे काम करता है?

  2. CONCAT () Oracle में फंक्शन

  3. एसक्यूएल:एक विशिष्ट चयन द्वारा यूनियन और ऑर्डर का उपयोग कैसे करें?

  4. पीएलएसक्यूएल में प्रतिबिंब?

  5. COLLATION () Oracle में फंक्शन