요소 | 타입 | 기타 |
---|---|---|
ID | bigInt | |
name | varchar(30) | |
질문 or 답변 문항 | varchar(50) | - 질문 답변 문항은 50자를 넘어가지 않기 때문에, 50자로 정했다. |
description | varchar(30) |
설문 문항db를 짜다가 설문문항 id를 seq로 쓴다는 얘기가 나왔다. 하지만 문항seq 같은 경우에, 만일 문항이 추가된다거나 하면 어떤식으로 순서가 변화될지 모른다.
예를 들어보자.
당신이 좋아하는 음료는?
만약 여기에 우리가 라떼를 넣는다고 하자. 이때, 라떼는 어찌됐던 기타 보다는 위 순서여야하고, 라떼도 커피 종류이기 때문에 아메리카노 밑에 넣는게 적절할 것 같다. 그렇다면 라떼의 순서는 2가 되고, 나머지 문항들은 뒤로 밀려야한다.
이 순서를 id값으로 한다면 id를 바꿔야하는 일이 생긴다. 이 설문 문항 db가 어떤식으로 미래에 쓰일지 모르는것인데, 변화될 수도 있는 값을 id로 넣을 수 없다. 그래서 seq컬럼을 따로 만들어서 넣어주었다.
지금의 answer과 question은 M:N 관계가 된다. “그렇다/매우그렇다/보통...”