Існує багато реалізацій SQL (SQL Server, mysql, Oracle та ін.), Але не існує іншої мови, яка служить тій самій цілі в сенсі, що це мова загального призначення, призначена для реляційного зберігання та пошуку даних .
Є об'єкт база даних , такі як db4o , і є подібні так звані NoSQL бази дані , які відносяться до будь-якого механізму зберігання даних , які НЕ покладаються на SQL, але найбільш часто з відкритим вихідним кодом продукти , як Кассандра заснованих на вільно від Google Bigtable концепції.
Є також ряд баз даних спеціального призначення, таких як CDF, але вам, мабуть, не потрібно турбуватися про них - якщо вам потрібен, ви знаєте.
Жодне з них не еквівалентне SQL.
Це не означає, що вони "кращі" або "гірші" - вони просто не однакові. Нещодавно Денніс Форбс написав чудовий пост, розбивши ряд дивних претензій, що випливають із SQL. Він стверджує (і я згоден), що ці скарги в основному виникають від людей і магазинів, які або вибрали неправильний інструмент для роботи в першу чергу, або не використовують належним чином SQL СУБД (я навіть не здивований, коли я перегляньте іншу базу даних SQL, де кожен стовпець є varchar(50)
а ніде немає жодного індексу чи ключа).
Якщо ви впроваджуєте ще один веб-сайт у соціальних мережах і не надто переймаєтесь принципами ACID , усіма силами почніть вивчати такі продукти, як db4o. Якщо ви розробляєте критичну для місії бізнес-систему, настійно рекомендую подумати двічі перед тим, як приєднатися до хору "SQL sucks". Зробіть спочатку дослідження, з’ясуйте, які особливості різних продуктів можуть, а що не можуть підтримувати.
Редагувати - Я був зайнятий написанням своєї відповіді, і не отримував оновлення запитання за кілька хвилин. Сказавши це, SQL по суті невіддільний від СУБД. Якщо ви запускаєте продукт бази даних SQL, то ви отримуєте доступ до нього за допомогою SQL, період.
Можливо, ви шукаєте абстракції над синтаксисом; Linq до SQL, Entity Framework, Hibernate / NHibernate, SubSonic та безліч інших інструментів ORM надають власний SQL-подібний синтаксис, що не зовсім SQL. Усі ці "складання" в SQL. Якщо ви запускаєте SQL Server, ви також можете написати CLR функції / процедури / тригери, що дозволяє писати код на будь-якій мові .NET, яка буде працювати всередині бази даних; однак це насправді не замінює SQL, а більше розширення до нього.
Я не знаю жодної повної "мови", якою ви зможете нанести вершину бази даних SQL; окрім переходу на інший продукт бази даних, ви врешті-решт побачите SQL у трубі.