음...
아래 짱구님의 답변에 많은 도움 되셨으리라 믿구...
Paradox와 dBase의 삭제시 차이점을 간단히 말씀드리자면...
흔히들 삭제하면 복구 할 수 있으리라고 생각합니다.
물론 저두 그랬었구...
dBase에서 자료를 삭제하면... 일반 파일을 삭제 했을 때
처럼 삭제표시만 하구... 실제로 Physical data는 삭제
되지 않습니다.
이것은 추후 사용자가 복구를 할 수 있도록한 일종의 배려(?)
죠...
그렇기 때문에 dBase의 데이터는 DbiUndeleteRecor로 복구가
가능합니다.
그렇기 때문에 DB에서 자료를 삭제해도 Packing을 하기 전에는
DB의 크기에 아무런 영향을 주지 않는것이지요...
하지만...
Paradox는 얘기가 좀 틀립니다.
Paradox라는 녀석은 사용자가 데이터를 삭제하게 되면...
AutoDeleting이 되어 버립니다.
즉, 영원히 복구가 불가능 해 진다는 것이죠...
그러니까 Paradox에서는 삭제를 하기전에 엄청 신중에 신중을
기해야 합니다.
하지만... 해당 Session이 종료되기 전에는 가능 할 수(?)도
있죠...
Paradox에서는 데이터를 삭제하면... Deleted.db라는 Temp DB가
Private 디렉토리에 생성됩니다.
이 DB를 Session을 종료하기 전에 기존의 Table에 Add 하시게
되면... 복구가 가능하죠...
하지만 Session이 종료됨과 동시에 이 DB는 사라집니다.
만약 Paradox DB에서 Undelete 기능을 구현하고 싶은 분이라면...
백업본을 이용하실것을 권합니다.
삭제 작업이 시작되면 삭제된 내용을 삭제하기 전에 먼저
백업 DB에 저장을 해 놓구... 사용자가 원할 때 복구를 시켜
줄 수 있도록 하는 방법이 가장 이상적이고 안전한 방법이라
하겠습니다.
그럼 참고가 되셨는지...
|