Istnieje wiele implementacji języka SQL (SQL Server, mysql, Oracle itp.), Ale nie ma innego języka, który służyłby temu samemu celowi w tym sensie, że byłby językiem ogólnego przeznaczenia zaprojektowanym do relacyjnego przechowywania i pobierania danych .
Istnieją obiektowe bazy danych, takie jak db4o , i podobne tak zwane bazy danych noSQL, które odnoszą się do prawie każdego mechanizmu przechowywania danych, który nie opiera się na SQL, ale najczęściej do produktów open source, takich jak Cassandra, luźno opartych na koncepcji Google Bigtable .
Istnieje również wiele produktów bazodanowych specjalnego przeznaczenia, takich jak CDF, ale prawdopodobnie nie musisz się o nie martwić - jeśli ich potrzebujesz, będziesz o tym wiedzieć.
Żaden z nich nie jest równoważny z SQL.
Nie oznacza to, że są „lepsi” lub „gorsi” - po prostu nie są tacy sami. Dennis Forbes napisał ostatnio świetny post, w którym omówił szereg dziwnych twierdzeń, jakie pojawiają się w SQL. Utrzymuje (i zgadzam się), że te skargi pochodzą głównie od ludzi i sklepów, którzy albo wybrali niewłaściwe narzędzie do pracy, albo nie używają prawidłowo ich SQL DBMS (nie jestem już nawet zaskoczony, gdy ja zobacz inną bazę danych SQL, w której każda kolumna to a varchar(50)
i nigdzie nie ma ani jednego indeksu ani klucza).
Jeśli wdrażasz kolejny portal społecznościowy i nie przejmujesz się zbytnio zasadami ACID , koniecznie zacznij szukać produktów takich jak db4o. Jeśli jednak tworzysz system biznesowy o znaczeniu krytycznym, zdecydowanie zalecam dwa razy przemyślenie, zanim dołączysz do refrenu „SQL jest do bani”. Najpierw przeprowadź badania, dowiedz się, jakie funkcje mogą, a jakich nie mogą obsługiwać różne produkty.
Edytuj - byłem zajęty pisaniem odpowiedzi i nie otrzymałem aktualizacji pytania od kilku minut. Powiedziawszy to, SQL jest zasadniczo nierozerwalnie związany z samym DBMS. Jeśli uruchamiasz produkt bazodanowy SQL, uzyskujesz do niego dostęp za pomocą SQL, kropka.
Być może szukasz abstrakcji w składni; Linq to SQL, Entity Framework, Hibernate / NHibernate, SubSonic i wiele innych narzędzi ORM zapewniają własną składnię podobną do SQL, która nie jest do końca SQL. Wszystko to „kompiluje się” do SQL. Jeśli uruchomisz SQL Server, możesz także napisać CLR Functions / Procedures / Triggers, co pozwala na pisanie kodu w dowolnym języku .NET, który będzie działał wewnątrz bazy danych; jednak w rzeczywistości nie jest to substytut SQL, a raczej jego rozszerzenie.
Nie znam żadnego pełnego „języka”, który można nałożyć na bazę danych SQL; Oprócz przełączenia się na inny produkt bazodanowy, w końcu zobaczysz SQL na potoku.