SQL (SQL Server, mysql, Oracle 등)의 많은 구현이 있지만 관계형 데이터 저장 및 검색을 위해 설계된 범용 언어 라는 의미에서 동일한 목적 을 제공하는 다른 언어 는 없습니다. .
있다 객체 데이터베이스 와 같은 db4o는은 , 유사한 소위가 되는 NoSQL 단지 데이터 저장 메커니즘에 대한 참조 데이터베이스 하지 않는 SQL에 의존하는,하지만 같은 가장 일반적으로 오픈 소스 제품 카산드라는 구글에 느슨하게를 기반으로 Bigtable을 개념.
CDF와 같은 특수 목적의 데이터베이스 제품도 많이 있지만 걱정할 필요가 없습니다. 필요한 경우 알 수 있습니다.
이들 중 어느 것도 SQL과 동일하지 않습니다.
그렇다고 "더 나쁘다"거나 "더 나쁘다"는 의미가 아니라 동일하지 않습니다. Dennis Forbes는 최근 SQL에 대해 떠오르는 여러 가지 이상한 주장을 분류 하는 훌륭한 게시물을 작성했습니다 . 그는 이러한 불만이 처음부터 잘못된 도구를 선택했거나 SQL DBMS를 제대로 사용하지 않는 사람들과 상점에서 비롯된 것이라고 주장합니다 (그리고 저는 동의합니다). 모든 열이있는 다른 SQL 데이터베이스를 참조하십시오.varchar(50)
하나의 인덱스 나 키가 아닌 .)
또 다른 소셜 네트워킹 사이트를 구현하고 있고 ACID 원칙에 너무 관심이 없다면 db4o와 같은 제품을 살펴보기 시작하십시오. 그러나 미션 크리티컬 비즈니스 시스템을 개발하는 경우 "SQL 짜증"코러스에 참여하기 전에 두 번 생각 하는 것이 좋습니다. 먼저 조사를 수행하고 다양한 제품이 지원할 수있는 기능과 지원할 수없는 기능을 찾으십시오.
편집-답변을 작성 하느라 바빴고 몇 분 동안 질문 업데이트를받지 못했습니다. 그러나 SQL은 본질적으로 DBMS 자체와 분리 할 수 없습니다. SQL 데이터베이스 제품을 실행하는 경우 SQL, 기간으로 액세스합니다.
아마도 당신은 구문에 대한 추상화를 찾고있을 것입니다. Linq to SQL, Entity Framework, Hibernate / NHibernate, SubSonic 및 기타 ORM 도구는 모두 SQL이 아닌 고유 한 SQL 유사 구문을 제공합니다. 이 모든 것이 SQL로 "컴파일"됩니다. SQL Server를 실행하는 경우 데이터베이스 내에서 실행되는 모든 .NET 언어로 코드를 작성할 수있는 CLR 함수 / 프로 시저 / 트리거를 작성할 수도 있습니다. 그러나 이것은 실제로 SQL을 대체하는 것이 아니라 확장에 가깝습니다.
SQL 데이터베이스 위에 레이어링 할 수있는 완전한 "언어"를 알지 못합니다. 다른 데이터베이스 제품으로 전환하지 않으면 결국 파이프에서 SQL을 보게 될 것입니다.