- 모델링 리뷰 반영 후 V0완성
- 완성된 모델링 데이터베이스 다이어그램 주소 https://dbdiagram.io/d/6176b8da6239e14647819222----
- 모델링을 진행하면서 어떻게 데이터를 뽑아 쓸 건지 역시 고려하면서 설계를 할 줄 알아야한다는 사실
피드백 내용
postgresql DB 컨벤션
? 1> 테이블 이름은 소문자 복수형, 대문자 X, 2> 컬럼명은 대문자 X '_' 로 연결 3> 외래키는 단수로 쓰기정규화의 기준은 재사용이 아니다.
타입으로 분리되는 것들은 정규화 과정을 거쳐야한다.
EX> 고용 형태 - 정규직, 인턴, 파트타임 등 한 번밖에 데이터가 쓰이지 않더라도 텍스트로 기입할만한 데이터가 아니라면 전면 정규화 과정을 거치는게 맞다.
3.댓글과 대댓글을 구분하게 위한 자기 참조 1:N관계
댓글과 대댓글을 구분하기 위해 자기 자신을 참조하는 컬럼을 만들면 된다.
하나의 댓글은 0개 N개 이상의 대댓글을 가질 수 있다. 1:N 관계
EX> 댓글 commnets 테이블에 컬럼으로 reference_id(nullable)를 넣고
메인 댓글은 null 값을 대댓글은 참조 id를 넣어주면 2번 메인 댓글에 대한 대댓글, 3번 메인 댓글에 대한 대댓글을 구분할 수 있다.
post_lieks 테이블에 컬럼으로
user_id/post_id/style(6개의 좋아요 스타일)
post_style을 정규화 테이블로
Id style. -(1:1 관계)- post_like
1 좋아요 1번유저(user_id) - 1번 글(post_id) - post_style_id(1번)
2 너무좋아요
3 넘넘 좋아요
4 실망이에요
유니크값을 통해 유저 당 포스트에 하나의 좋아요만 할 수 있도록 설정하기
즉, 중복되면 안되는 컬럼 조합을 PRIMARY KEY 혹은 UNIQUE INDEX로 설정한다.
ALTER TABLE BOARD_LIKE ADD UNIQUE INDEX (BOARD_IDX, USER_IDX)
유저 이미지와 포스트 이미지에 대한 entity 관계 재 설정하기
성질이 다른 테이블은 분리하는 것이 기본
ENUM 테이블에 대해서
- 뭘 했는지 기록해야 남는 다는 걸 기억했다는 것
- 텐션을 최대치로 끌어올리자아~
- 데이터 넣고 명세서 job api 명세서 뽑아보기
오타가 있네요 시간은 나를 기다리주주않는다! 꺄륵