2009-12-03 5 views
0

이미지 및 오디오 클립이있는 데이터베이스를 만들고 관리하려고합니다. 나는 이것이 최선의 아이디어가 아니라는 것을 알고 있으며 더 나은 옵션이 있다는 것을 안다. 그러나 데이터를 프로그래밍과 분리시키는 것이 가장 쉬운 방법이고 나는 코드를 작성하는 것이 아니다. 따라서 응용 프로그램이 호출하는 데이터베이스를 편집 할 수있는 응용 프로그램이 필요하며 응용 프로그램에서 임의의 오디오 또는 이미지 파일을 호출해야합니다. 나는 단지 SQL 편집자를 알아야한다.BLOB 데이터 유형의 SQLite 3 데이터베이스 관리에 적합한 응용 프로그램이 있습니까?

답변

0

대용량 파일을 데이터베이스에 저장하는 것이 좋지 않을 경우 성능이 저하되고 응용 프로그램의 메모리 제한이 날아갈 수 있습니다. 또한 파일 시스템에서와 같은 방식으로 데이터베이스에서 스트리밍 할 수 없습니다.

대신이 방법을 고려해보십시오. Alex가 제안했듯이 파일 이름을 나타내는 별도의 파일과 문자열로 작업하십시오. 코더가 XCode에서 폴더 참조로 유지하는 단일 디렉토리에 데이터베이스와 파일을 둘 수 있습니다. 따라서 변경 한 폴더의 모든 컨텐츠가 코딩 프로젝트에 자동으로 추가됩니다. 기존 파일을 변경하면 XCode의 버그로 인해 다시 빌드하기 전에 Clean BUild를 수행해야하거나 변경된 자산 (주로 DB 문제)을 복사하지 않습니다.

그러면 SQLLite 클라이언트를 사용하여 파일 이름 및 기타 데이터베이스의 데이터베이스를 쉽게 유지 관리 할 수 ​​있습니다. "자료실"은 훌륭한 독립형 응용 프로그램입니다.

나는 Git과 같은 소스 제어 시스템을 사용하여 변경 사항을 확인할 수 있으므로 프로그래머는 파일을 전자 메일로 보내지 않고도 프로젝트를 즉시 업데이트 할 수 있습니다.

0

대신 Core Data을 사용할 수 있습니다. 기본적으로 SQLite 백엔드를 사용합니다. BLOB를 사용하는 대신 응용 프로그램의 Documents 폴더에있는 객체에 대한 경로 인 NSString*을 저장하면됩니다. 저장된 이미지 또는 다른 대형 2 진 데이터 오브젝트를 검색하려면 경로 값에서 NSData* 인스턴스를 직접로드 할 수 있습니다. 대용량 파일을 데이터베이스 외부에 보관하면 성능이 훨씬 향상됩니다.