Существует множество реализаций SQL (SQL Server, mysql, Oracle и т. д.), но нет другого языка , который служит с той же целью в смысле являющийся языком общего назначения , предназначенным для хранения и извлечения реляционных данных .
Существуют базы данных объектов , такие как db4o , и есть похожие так называемые базы данных noSQL , которые относятся только к любому механизму хранения данных, который не полагается на SQL, но чаще всего открывается -source, такие как Cassandra , основанные на концепции Bigtable от Google.
Существует также ряд специальных продуктов для баз данных, таких как CDF, но вы, вероятно, вам не нужно беспокоиться о них - если вам это нужно, вы узнаете.
Ни один из них не эквивалентен SQL.
Это не значит, что они " лучше "или" хуже "- они просто не то же самое. Деннис Форбс написал отличную статью , недавно разбив ряд странных претензий на SQL. Он утверждает (и я согласен), что эти жалобы происходят в основном от людей и магазинов, которые либо выбрали неправильный инструмент для работы в первую очередь, либо неправильно используют свои SQL-СУБД (я больше не удивляюсь, когда я см. другую базу данных SQL, где каждый столбец является varchar(50)
, и нигде нет ни одного индекса или ключа.
Если вы реализуете еще один сайт социальной сети и не слишком озабочены ACID , обязательно начните искать такие продукты, как db4o. Однако, если вы разрабатываете критически важную бизнес-систему, я очень высоко рекомендую вам дважды подумать, прежде чем присоединиться к хору «SQL sucks». Сначала сделайте исследование, узнайте, какие функции могут поддерживать и не могут поддерживать различные продукты.
Изменить - я был занят написанием своего ответа и не получил вопрос с нескольких минут. Сказав это, SQL по существу неотделима от СУБД. Если вы запустите продукт базы данных SQL, вы получите доступ к нему с помощью SQL, period.
Возможно, вы ищете абстракции по синтаксису; Linq to SQL, Entity Framework, Hibernate / NHibernate, SubSonic и множество других инструментов ORM предоставляют собственный SQL-подобный синтаксис, который не совсем соответствует SQL. Все они «скомпилируются» для SQL. Если вы запустите SQL Server, вы также можете написать CLR Functions / Procedures / Triggers, который позволяет писать код на любом языке .NET, который будет работать внутри базы данных; однако это не является заменой SQL, а больше расширением для него.
Я не знаю ни одного полного «языка», который вы можете сложить поверх базы данных SQL; если вы перейдете к другому продукту базы данных, вы, в конце концов, увидите SQL на трубе.