android DB 테이블을 설계하는데 도움이 필요합니다.

조회수 2471회

안녕하세요. android DB를 이용해서 흔히 게임에서 볼 수 있는 '도전과제' 비슷한 것을 구현해보고자 합니다. DB 테이블을 설계하는데 마음에 들지 않는 부분이 있어서 이렇게 도움을 얻고자 질문을 올립니다.

지금 구현해놓은 DB 테이블은 다음과 같습니다. 예를 들어 1번 '완벽주의자'는 한 문제도 틀리지 않고 문제를 해결했을 때 달성하는 도전 과제이고, 2번 '가장 빠른 기록'은 지금까지 가장 빨리 문제를 푼 기록을 경신할때 달성하는 도전 과제이며 3번 '오늘의 신기록'은 오늘 기록 중에서 가장 빠른 기록을 경신했을 때 달성하는 도전과제 입니다. 물론 도전 과제는 이 외에도 더 많이 존재합니다.

이미지

문제는 DB 테이블이 일관성이 없다는 점입니다. 예를 들면 2번과 3번처럼 시간 기록을 경신하는 도전과제는 value에 기록을 경신했을 때 시간을 저장해 놓는데요. 1번 같은 경우는 시간 기록을 저장할 필요가 없기 때문에 항상 null로 존재합니다. 이렇게 시간과 관련된 과제는 value 항목에 해당 시간을 입력하고 관련이 없는 과제는 value를 null로 놔두는 편이 나은가요?

아니면 시간 기록을 저장해두는 별도의 테이블을 만들어서(1:1 관계인 테이블) 테이블이 둘인 DB로 저장하는 편이 나은가요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)