인프런 커뮤니티 질문&답변

류재안님의 프로필 이미지
류재안

작성한 질문수

도대체 왜? 도대체 어떻게! DB 설계와 데이터 다루기

ERD로 보는 스토리와 테이블이라는 등장인물

[ERD로 보는 스토리와 테이블이라는 등장인물]태그정보 테이블 설계관련

작성

·

202

1

[ERD로 보는 스토리와 테이블이라는 등장인물](17:53) 부분관련 문의드립니다.

안녕하세요. db설계에 대한 개념이 별로 없어서 질문드립니다.

 

태그정보의 경우, 연재요일과 같이 실적성으로 만들어야 한다고 하셨는데요.

태그정보의 코드/태그정보 테이블외에 작품번호/태그정보 테이블을 추가로 만들어야 할 지, 아니면 연재요일 테이블과 같이 작품번호/태그정보 테이블 하나만 만들면 되는 것일까요?

 

그리고 연재요일 테이블과 같이, 이런 류의 테이블은 별도의 요일에 대한 정보(코드/요일)테이블이 따로 없이 바로 실적테이블 형태로 구성을 하나요?

답변 1

0

안녕하세요 류재안님.

1.웹소설별태그실적 테이블을 새로 하나 만드는 것을 권장합니다.

표현하자면, "태그정보(참조)-웹소설별태그실적(실적)-웹소설정보(마스터)" 이겠네요. 웹소설별태그실적 테이블은 태그정보와 웹소설정보 각각의 PK를 복합키로 가진 테이블이 되겠죠.(작품번호+tgcd)

위의 테이블 3개 모두 만들고 운영해야 하는 테이블입니다.

 

2.연재요일 테이블의 경우, 언급하신 것처럼 코드/요일 정보를 가진 테이블을 새로 만들어 작품번호+요일코드 형태로 복합키를 생성해도 상관없습니다. 다만 태그 정보와는 달리 '요일'이라는 정보는 일~토까지 더 이상 늘어나지 않는 상식적이고 제한적인 값을 가지고 있으므로 코드값을 부여하지 않고 그대로 쓰거나, 혹은 코드값을 쓰더라도 테이블이 아닌 데이터 수준에서 월(MO),화(TU),수(WE) 등과 같이 값 자체를 하나의 규칙처럼 정의해 쓰기도 합니다.(테이블이 없어도 명세서에 기재된 데이터 정의 내용을 바탕으로)

참고로, 대용량데이터를 다루는 데이터웨어하우스의 경우 코드값이 따로 정의되어 있더라도 성능의 문제로 인해 코드와 값 모두를 실적테이블에 함께 저장해 놓는 경우도 종종 있습니다.(조인해 가져오기보다는 그대로 출력해 보여주는 것이 더 빠르기 때문이며, 코드테이블에 수정이 일어나지 않는다는 전제 조건도 있어야합니다만.)

 

류재안님의 프로필 이미지
류재안

작성한 질문수

질문하기