Es gibt viele Implementierungen von SQL (SQL Server, MySQL, Oracle usw.), aber es gibt keine andere Sprache , die denselben Zweck erfüllt, im Sinne einer Allzwecksprache, die für das Speichern und Abrufen relationaler Daten entwickelt wurde .
Es gibt Objektdatenbanken wie db4o und ähnliche sogenannte noSQL- Datenbanken, die sich auf nahezu jeden Datenspeichermechanismus beziehen, der nicht auf SQL basiert , sondern auf Open-Source-Produkten wie Cassandra, die lose auf Googles Bigtable- Konzept basieren .
Es gibt auch eine Reihe von speziellen Datenbankprodukten wie CDF, aber Sie müssen sich wahrscheinlich keine Sorgen machen - wenn Sie eines benötigen, wissen Sie es.
Keines davon entspricht SQL.
Das bedeutet nicht, dass sie "besser" oder "schlechter" sind - sie sind einfach nicht gleich. Dennis Forbes hat kürzlich einen großartigen Beitrag geschrieben , in dem er einige der seltsamen Behauptungen aufschlüsselt, die gegen SQL aufgetaucht sind. Er behauptet (und ich stimme zu), dass diese Beschwerden größtenteils von Personen und Geschäften stammen, die entweder das falsche Tool für den Job ausgewählt haben oder ihr SQL-DBMS nicht richtig verwenden (ich bin nicht einmal mehr überrascht, wenn ich Sehen Sie sich eine andere SQL-Datenbank an, in der jede Spalte eine ist varchar(50)
und es nirgendwo einen einzigen Index oder Schlüssel gibt.
Wenn Sie eine weitere Website für soziale Netzwerke implementieren und sich nicht zu sehr mit den ACID- Prinzipien befassen , sollten Sie sich auf jeden Fall mit Produkten wie db4o befassen . Wenn Sie jedoch ein geschäftskritisches Geschäftssystem entwickeln, empfehle ich Ihnen dringend , zweimal darüber nachzudenken, bevor Sie sich dem "SQL sucks" -Chor anschließen. Machen Sie zuerst die Recherche und finden Sie heraus, welche Funktionen die verschiedenen Produkte unterstützen können und welche nicht.
Bearbeiten - Ich war mit dem Schreiben meiner Antwort beschäftigt und habe das Fragen-Update erst nach wenigen Minuten erhalten. Allerdings ist SQL im Wesentlichen untrennbar mit dem DBMS selbst verbunden. Wenn Sie ein SQL-Datenbankprodukt ausführen, greifen Sie mit SQL-Punkt darauf zu.
Vielleicht suchen Sie nach Abstraktionen über die Syntax; Linq to SQL, Entity Framework, Hibernate / NHibernate, SubSonic und eine Vielzahl anderer ORM-Tools bieten alle ihre eigene SQL-ähnliche Syntax, die nicht ganz SQL ist. Alle diese "kompilieren" zu SQL. Wenn Sie SQL Server ausführen, können Sie auch CLR-Funktionen / Prozeduren / Trigger schreiben, mit denen Sie Code in einer beliebigen .NET-Sprache schreiben können, die in der Datenbank ausgeführt wird. Dies ist jedoch kein wirklicher Ersatz für SQL, sondern eher eine Erweiterung.
Mir ist keine vollständige "Sprache" bekannt, die Sie über eine SQL-Datenbank legen können. Wenn Sie nicht zu einem anderen Datenbankprodukt wechseln, wird SQL möglicherweise in der Pipe angezeigt.