В чем разница между HashSet < T > и список < T & gt ;?

Существует множество реализаций 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 на трубе.

146
задан nawfal 28 May 2014 в 10:42
поделиться