2011-09-06 3 views
3

안녕하세요 저는 mysql과 java에 처음 익숙합니다. jpeg 파일과 작은 덩어리의 파일 해시 값을 저장하고 싶습니다. 나는 작은 덩어리의 해시 값 (100을 숫자로 저장)을 가지고 있으며, 이제이 작은 덩어리들에 대해서도 jpeg 파일을 저장하려고합니다. 내 질문은 각 레코드에 대해 파일을 반복해서 저장해야합니까 아니면 한 번 파일을 저장하고 파일과 관련된 레코드에 연결할 수 있습니까? 그렇다면 어떻게 안내해 주시겠습니까?mysql의 여러 행에 대해 단일 레코드를 저장하는 더 좋은 방법은 무엇입니까

답변

2

나는 당신이하고 싶은 것을 완전히 모르겠다는 것을 인정해야한다. 그러나 당신을 올바르게 이해한다면 이것이 내가하는 일이다.

jpg 파일에 대한 데이터가있는 테이블 하나 (예 : tblJpgs)는 Naved가 제안한 경로와 파일 이름, 추가 설명 및 파일에 대한 유용한 정보가 될 수 있습니다. 이 표에는 jpg 파일 당 하나의 행이 있고 각 행에는 고유 한 ID가 있습니다.

그런 다음 모든 청크에 대해 다른 테이블 (예 : tblChunks)을 갖게됩니다. 각 행을 tblJpgs.id와 연결하는 열이 있어야합니다. 그런 다음 청크 자체가있는 열이 있습니다. 이 표에는 각 청크에 대해 하나의 행이 있지만 하나의 jpg 파일에 대해 많은 행이 있습니다.

이렇게하면 데이터베이스 구조의 중심에있는 한 위치에만 정보를 저장하게됩니다. 청크로 각 행에 jpg 파일이나 경로 및 파일 이름을 저장하면이 기본 데이터베이스 구조에 위배되므로 피해야합니다.

4

컴퓨터에 파일을 저장하고 경로를 데이터베이스에 저장할 수 있습니다.
"varchar" 데이터를 취하는 테이블에 imagePath라고하는 필드가 1 개 있다고 가정합니다. 이미지의 경로를 저장하고 런타임에 이미지를 검색 할 수 있습니다. 이렇게하면 동일한 파일을 여러 번 저장하지 않아도됩니다. 그러나 이름이 같지만 데이터가 다른 이미지는 무시됩니다. 이를 위해서는 파일 이름에 기본 키를 사용해야합니다. 이해하는데 도움이되기를 바랍니다.

관련 문제