android DB 테이블 설계 관련 질문입니다.(꼭 안드로이드 환경이 아니더라도...)
조회수 1843회
안녕하세요. DB 테이블 설계하는데 잘 모르는게 많아서 도움 부탁드립니다.
예를 들어 올림픽 기록 수상 기록을 관리하는 DB를 다음과 같이 만들었습니다. type 열을 둔 이유는 육상 또는 수영 경기별로 자료를 처리해야 하기 때문입니다.
그런데 같은 DB를 다음과 같이 생성할 수도 있습니다. 이 경우에는 각 경기별로 자료를 처리하려면 game 열을 읽어들여서 'athletics_'으로 시작하는지 또는 'swimming_'으로 시작하는지 검사하여 육상 또는 수영 경기별로 자료를 처리할 수 있습니다.
전자는 테이블 열이 하나 더 많은 대신 유형을 구분하는 코드를 넣을 필요가 없고 후자는 유형 구분 코드가 들어가는 대신 테이블 열이 하나 줄어듭니다.
두 테이블 설계 중에 무엇이 바람직한가요?
DB 테이블은 반드시 제3정규형으로 만들어야 하나요?
꼭 제3정규형으로 만들어야 한다면 전자의 테이블에서 name, type, game 열은 각각 이행적 함수 종속이 존재하나요?
댓글 입력