2009-04-08 6 views
0

나는 새로운 접근 방식을 사용하여 db 응용 프로그램을 설계하고 있습니다. (atleast novel me ... :))XML에서 DataRelation을 저장 하시겠습니까?

그래서 나는 같은 연구를하고 있습니다.

.NET 3.5 ADO.NET 데이터 집합을 사용하여 데이터로 작업하고 XML로 오프라인으로 저장합니다.

먼저이 접근법은 심각한 (작은 DB, 4-5 명의 사용자, ~ 25 개의 테이블 ~ 각각 3-4k 레코드) 애플리케이션에 적합합니다.

둘째, 오프라인 XML 파일에 datarelation을 정확히 저장하려면 어떻게해야합니까?

감사합니다.

소우 라브.

답변

3

각각 3-4k 행이있는 테이블은 xml에 대해 "작음"이라고 부르는 것이 아닙니다. 특히 xml에서 올바른 데이터로 바로 이동하는 것은 쉽지 않습니다 ...

SQL Server Express Edition과 같은 데이터베이스를 고려한 적이 있습니까? 무료이며,이 직업까지.


재 저장; inbuilt serialization을 사용하는 경우 DataSet이 자동으로 작동합니다. 물론 xml은 DataSet에만 적용됩니다 ... 나는 솔직히 DataSet/xml 접근 방식을 권장하지 않습니다.

0

초 마크 제안. XML 경로를 지키지 마십시오. 앱이 언제/어떻게 성장할 것인지는 아마 알 수 없습니다. xml을 사용하면 데이터의 무결성을 보호하기 위해 트랜잭션을 점검하고 제약 조건을 검사하지 않아도됩니다.

데이터베이스는 단순한 덤프 스토리지가 아닙니다. 일부 무료 Express db 버전을 사용하십시오. 이렇게하면보다 전문적인 DBMS 버전으로 쉽게 마이그레이션 할 수 있습니다.

1

질문에 대답하려면 (마크와 동의하지만 XML을 데이터 저장 영역으로 사용해서는 안 됨).

ID와 href는 일반적으로 XML로 관계를 만드는 데 사용됩니다 (계층 적이며 관계형이 아니므로 다시 XML을 사용하면 안됩니다). 작은 예를 들어

:

<region name="South Africa" id="region_1"> 
    <manager ref="#employee_1"/> 
</region> 

<employee name="John Doe" id="employee_1" region="#region_1"> 
    <manages> 
     <employee ref="#employee_2" /> 
    </manages> 
</employee> 

<employee name="Cyril Smith" id="employee_2" region="#region_1"> 
    <manages /> <!-- code monkey --> 
</employee> 
+0

다른 사람들이 XML을 악용하지 않는 경우이를 수행하는 방법을 알 수 있도록 답변했습니다. –

0

내가 다른 포스터에 동의합니다. 나는 당신의 상황에서 XML을 가지고 가지 않을 것이다. 다른 것을 제안하려면 SQLlite : http://www.sqlite.org/과 .NET ADO : http://sqlite.phxsoftware.com/을 사용해보십시오. 그것은 매우 강력한 데이터베이스는 아니지만 무료이며 작업이 완료됩니다.

그러나 앞으로 귀하의 앱 데이터베이스의 크기가 커질수록 (더 많은 사용자, 더 많은 사용법 등) SQL 또는 MySQL과 같은 더 강력한 데이터베이스를 사용해야합니다.

어떤 이유로 든 XML에 절대적으로 묶여 있다면 Jonathan의 제안에 동의 할 것입니다.

관련 문제