DB를 설계하면서 의문은
피그마로 만들어놓은 체크리스트를 데이터화시킬 경우 체크리스트의 선택지 하나하나 지정해줘야하는지, 그리고 지정해준다면 int값으로 해줘되나
여행일정 관리의 지역과 여행지 추천 지역.. 이것도 고민 따로 지역 테이블을 만들어야하나 우리나라 관광지를 하나하나 내가 개발하기 편하도록 지역id 값으로 만들고 싶은데 2개로 만드는 것이 맞을까
관계도 설정은 어떻게..?
하면서 고민도 많고 추가할 것도 많고.. 그러다보니 생각이 복잡해져서 뭐가 뭔지 더 헷갈리는 것 같다.. 일단 기능 구현 시작하고, 수정해가면서 해야 머리 정리도 되고 눈으로 보면서 해야 내가 생각한게 맞는지 직접 확인할 수 있을 것같다..
현 상태는 관계도 설정을 어떻게 할지.. 필수, 선택? 식별자, 비식별자? 허허
하나 해결하면 다음 문제가 배로 생기는 것 같다
구글링해보니 식별자 관계는 자식 테이블이 부모 테이블의 기본키를 외래키로 적용하여, 이 외래키가 자식 테이블의 기본 키의 일부가 되는 관계를 말한다.
대신 자식 테이블이 기본키로 사용시 null값이 있으면 안되고, 자식 테이블의 레코드가 존재하려면 반드시 부모 테이블의 레코드가 존재해야 한다.
부모와 자식의 관계가 밀접하기에 자식 테이블의 독립적인 생존이 어렵다!
- 강한 연결관계
- 자식 주식별자의 구성에 포함됨
- 실선 표현
비식별자 관계는 자식 테이블이 부모 테이블의 기본키를 외래키로 사용하되, 외래키가 자식 테이블의 기본키에는 포함되지 않는 관계 / 자식 테이블의 기본키는 독립적이며 부모 테이블의 기본키와는 별도로 정의되고 비식별자 관계에서는 자식 레코드가 부모 테이블의 레코드와 연결될 수 있지만, 부모 테이블의 기본키는 자식 테이블의 기본키를 식별하는 데 필요하지 않다.
- 약한 연결관계
- 자식 일반속성에 포함
- 점선표현
라고 해서 유연성을 위하여 비식별자 관계로 연결
https://dogfoot-er.tistory.com/43
ERDcloud - https://www.erdcloud.com/
테이블이 동떨어지지 않게끔 생각을 많이 했고, 최대한 연관성으로 연결해봄
사용자 입장에서 생각해서 테이블을 짰더니 회원 중심으로 테이블이 구성되었다.