그것은 역사 / 진화론과 시장의 힘의 이유의 조합입니다
몇 년 전에 Microsoft에서 근무하는 동안 개발에 여러 가지 데이터가 제공되었다는 것이 분명했습니다. 각 오퍼링은 다음과 같은 특정 시장 또는 사용 사례를 목표로합니다.
액세스는 양식 및 보고서를 사용하여 응용 프로그램을 구축 할 수있는 카드 색인 시스템에 익숙한 데스크톱 사용자를 대상으로했습니다. SQL은 자연스럽게 추가되었습니다. 이것은 모두 'JET'이라는 자체 로컬 컴퓨터 데이터베이스 엔진을 사용했습니다. 결국 JET는 부적절했습니다. 포도 덩굴에 관한 단어는 (신뢰할 수있는) 소스 컨트롤이 없다는 것이 소스 의 큰 덩어리를 잃어 버렸다는 것을 의미했습니다 .
FoxPro는 관계형 데이터보다 빠른 속도를 원하는 데스크톱 사용자를 대상으로합니다.
SQL Server는 엔터프라이즈에 필요한 모든 규모 / 전력 / 가용성 등을 갖춘 엔터프라이즈 / 서버 측 '큰'데이터베이스 시스템입니다. IIRC, MS는 MSSQL을 빌드 할 Sybase 6 버전을 라이센스했습니다.
시간이 지남에 따라 일부 경계가 흐려졌습니다. 예를 들어 SQL Server는 이제 데스크톱 컴퓨터에서 실행할 수 있지만 사용 사례는 그대로 남아 있습니다.
따라서 이것은 Microsoft에 의해 생성 된 데이터베이스 제품인 3 개의 '백엔드'를 제공합니다.
믹스에 추가하기 위해 다음과 같은 시스템에 액세스하기 위해 다양한 레벨의 개발자 API가 제공되었습니다.
처음에는 API 방식이별로 없었습니다. 응용 프로그램 내부에 코드를 작성했습니다 (FoxPro / Access). VBA는 한 가지 방법이었습니다.
Microsoft는 경쟁 시스템에 연결하기 위해 MS ODBC를 구현하여 Windows가 Oracle, Sybase 등과 같은 큰 데이터베이스와 통신 할 수 있도록했습니다. Excel은 ODBC 도구를 얻는 데 유용한 앱 중 하나였습니다. 큰 DB에서 데이터를 가져 와서 조작하고 제품 차트 / graphs 등 많은 데이터베이스 벤더들이 이종 클라이언트가 연결할 수 있도록 ODBC를 구현하게되었으므로이 전략은 어느 정도 성공을 거두었습니다. ODBC는 최저 공통 분모를 나타내는 것으로 간주 될 수 있습니다.
다른 팀은 당시 가장 인기있는 MS 개발자 제품인 VB를 통해 액세스 할 수있는 로컬 용 DAO (데이터 액세스 개체) 및 원격 용 RDO (원격 데이터 개체)와 같은 데이터베이스 엔진에 액세스하는 고유 한 방법을 만들기 시작했습니다.
이러한 다양한 API를 합리화하고 단일 / 통일 된 매우 유연한 데이터베이스 액세스 API를 제공하려는 내부 노력으로 인해 OLEDB가 제공되었지만 많은 C ++ 템플릿을 사용하기가 매우 어려웠습니다.
VB에서는 OLEDB를 사용할 수 없었으므로 ADO는 ActiveX 기술을 사용하여 개발되었으므로 Access, Excel, VB를 의미하는 COM / OLE / ActiveX를 수행 할 수있는 모든 것에 의해 재사용이 가능해졌으며 ASP는 데이터베이스를 사용할 수있게되었습니다.
.NET 시대로 옮겨 감에 따라 ADO는 자연스럽게 .NET 환경으로 옮겨져 다양한 이점을 얻었습니다.
LINQ의 등장으로 실제 데이터베이스 액세스 메커니즘은 문제가되지 않았습니다.
주의 사항-얼마 전에 떠났으므로 기억이 조금 흐릿합니다.