문제

누구나 나에게 "후드 아래"에 사용 된 구조와 알고리즘을 자세히 설명하는 리소스에 대한 포인터를 줄 수 있습니까? .NET 데이터 세트 수업?

현재 데이터 세트 클래스와 같은 일반적인 메모리 데이터 구조를 구현하지 않은 언어로 작업하고 있습니다. 결국 직접 구축해야 할 수도 있지만 (광범위하지는 않지만) 해킹을 시작하기 전에 기존 시스템이 어떻게 구성되는지 더 잘 알고 싶습니다. (고맙습니다 Douglas Hofstadter)

나는 그것을 읽고있다 모노 구현, 그러나 다른 링크, 기사 또는 아이디어는 감사 할 것입니다.

도움이 되었습니까?

해결책

반사판을 발사하고 소스로 곧바로 가십시오 ...

다른 팁

당신은 합법적으로 할 수 있습니다 Microsoft에서 데이터 세트의 원래 소스 코드를 다운로드하십시오, 원래 의견을 포함하여 모든 것에 액세스 할 수 있습니다. 그러나 유사한 시스템/제품을 구현하는 경우 신중하게 공부해야합니다. 라이센스 소스 코드를 보면서 위반하지 않을 가능성이 높습니다.

반사기는 이용 가능합니다 http://www.red-gate.com/products/reflector/index.htm, 데이터 세트가 구현되는 방식을 정확하게 볼 수 있습니다.

또한 DataAdapter, 특히 dbdataadapter.fill, datatable, 특히 datatable.load 및 Datarow 및 DBDataReader를보고 싶을 것입니다. 그런 다음 sqldataadapter, sqlcommand 등과 같은 특정 구현을 살펴볼 수 있습니다.

데이터 세트는 손톱처럼 보이는 모든 것에 대한 오래된 격언의 증거입니다. .NET에서 과도하게 사용되었습니다. 특히 웹 서비스와 클라이언트간에 데이터를 전송하는 데 사용하지 마십시오. 상호 작용하지 않습니다.

ADO.NET 데이터 세트의 주요 데이터 구조는 다음과 같습니다 빨간색 나무

복잡하지만 작업에 대한 최악의 실행 시간이 좋으며 실제로 효율적입니다. O (log n) 시간을 검색, 삽입 및 삭제할 수 있습니다. 여기서 N은 트리의 총 요소 수입니다. 간단히 말해서, 빨간색 검정 트리는 트리의 균형이 합리적으로 균형을 잡기 위해 지능적으로 삽입하고 제거하는 이진 검색 트리입니다.

Programming Ado.net 2.0 Core Reference라는 책에는 논의 된 많은 문제 및 내부 데이터 구조를 포함하여 데이터 세트에 대한 훌륭한 설명이 있습니다.

데이터 세트의 주요 구현은 빨간색/검은 색 셀프 밸런싱 트리에 의존합니다.

이 책에서 언급 한 다른 큰 경고는 문자열 비교를 사용하여 적절한 열에 대한 조회 테이블을 검색하기 때문에 문자열을 통한 데이터 코드 조회가 효율적으로 구현되지 않았다는 것입니다. 행의 수를 하드 코딩하여 두 테이블과 열에서 조회 성능이 상당히 높아질 수 있습니다. 물론 이것은 당신이 당신을 위해 그것을 할 도구를 작성하지 않는 한 유지 보수 악몽입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top