มีหลายการใช้งานของ SQL (SQL Server, MySQL, Oracle, ฯลฯ ) แต่ไม่มีอื่นใดอีกภาษาที่ให้บริการวัตถุประสงค์เดียวกันในความรู้สึกของการถูกเป็นภาษาอเนกประสงค์ที่ออกแบบมาสำหรับการจัดเก็บข้อมูลเชิงสัมพันธ์และการดึง
มีฐานข้อมูลวัตถุเช่นdb4oและมีฐานข้อมูลnoSQLที่คล้ายกันซึ่งอ้างถึงกลไกการจัดเก็บข้อมูลใด ๆ ที่ไม่ต้องพึ่งพา SQL แต่ผลิตภัณฑ์โอเพ่นซอร์สส่วนใหญ่เช่นCassandraยึดตามแนวคิดBigtableของ Google อย่างหลวม ๆ
นอกจากนี้ยังมีผลิตภัณฑ์ฐานข้อมูลที่มีวัตถุประสงค์พิเศษมากมายเช่น CDF แต่คุณอาจไม่จำเป็นต้องกังวลเกี่ยวกับสิ่งเหล่านี้หากคุณต้องการคุณจะรู้
ไม่มีสิ่งเหล่านี้เทียบเท่ากับ SQL
นั่นไม่ได้หมายความว่าพวกเขา "ดีขึ้น" หรือ "แย่ลง" แต่มันไม่เหมือนกัน เดนนิสฟอร์บส์ได้เขียนโพสต์ที่ยอดเยี่ยมเมื่อไม่นานมานี้ได้ทำลายการอ้างสิทธิ์แปลก ๆ จำนวนหนึ่งที่เกิดขึ้นกับ SQL เขายืนยัน (และฉันยอมรับ) ว่าข้อร้องเรียนเหล่านี้ส่วนใหญ่มาจากผู้คนและร้านค้าที่เลือกเครื่องมือผิดสำหรับงานตั้งแต่แรกหรือไม่ได้ใช้ SQL DBMS อย่างถูกต้อง (ฉันไม่แปลกใจอีกต่อไปเมื่อฉัน ดูฐานข้อมูล SQL อื่นโดยที่ทุกคอลัมน์เป็นvarchar(50)
และไม่มีดัชนีหรือคีย์เดียวทุกที่)
หากคุณกำลังใช้งานเว็บไซต์เครือข่ายสังคมอื่นและไม่ได้กังวลกับหลักการของกรดมากเกินไปให้เริ่มมองหาผลิตภัณฑ์เช่น db4o อย่างไรก็ตามหากคุณกำลังพัฒนาระบบธุรกิจที่มีความสำคัญอย่างยิ่งยวดฉันขอแนะนำอย่างยิ่งให้คุณคิดทบทวนก่อนที่จะเข้าร่วมคอรัส "SQL sucks" ทำการวิจัยก่อนค้นหาว่าคุณสมบัติใดบ้างที่ผลิตภัณฑ์ต่างๆสามารถรองรับและไม่สามารถรองรับได้
แก้ไข - ฉันยุ่งอยู่กับการเขียนคำตอบและไม่ได้รับการอัปเดตคำถามภายในสองสามนาที ต้องบอกว่าโดยพื้นฐานแล้ว SQL แยกไม่ออกจาก DBMS เอง หากคุณเรียกใช้ผลิตภัณฑ์ฐานข้อมูล SQL คุณจะเข้าถึงด้วย SQL ระยะเวลา
บางทีคุณอาจกำลังมองหาสิ่งที่เป็นนามธรรมมากกว่าไวยากรณ์ Linq ไปยัง SQL, Entity Framework, Hibernate / NHibernate, SubSonic และโฮสต์ของเครื่องมือ ORM อื่น ๆ ล้วนมีไวยากรณ์คล้าย SQL ของตัวเองซึ่งไม่ใช่ SQL ซะทีเดียว "คอมไพล์ดาวน์" ทั้งหมดนี้เป็น SQL หากคุณเรียกใช้ SQL Server คุณยังสามารถเขียน CLR Functions / Procedures / Triggers ซึ่งช่วยให้คุณสามารถเขียนโค้ดในภาษา. NET ใด ๆ ที่จะทำงานภายในฐานข้อมูล อย่างไรก็ตามนี่ไม่ใช่สิ่งทดแทน SQL แต่เป็นส่วนขยายเพิ่มเติม
ฉันไม่ทราบถึง "ภาษา" แบบเต็มใด ๆ ที่คุณสามารถวางทับบนฐานข้อมูล SQL ได้ ขาดการเปลี่ยนไปใช้ผลิตภัณฑ์ฐานข้อมูลอื่นในที่สุดคุณจะเห็น SQL บนท่อ