23.06.20
엔티티 연관 관계; JPA
- User : Ad = 1 : N
- User : Web_Info = 1 : N
- User : Web_Like = 1 : N
- User : Web_View = 1 : N
- Web_Info : Web_Eps = 1 : N
- Web_Info : Web_Like = 1 : N
- Web_Info : Web_View = 1 : N
- Web_Eps : Web_View = 1 : 1
User
- 유저(일반)
- 유저가 여러 개의 관심 웹툰을 지정할 수 있음
- 유저가 웹툰을 조회한 경우도 DB에 저장
- 유저가 여러 웹툰을 조회할 수 있음
- 웹툰을 조회할 땐, 웹툰의 여러 회차 중 하나의 회차만이 가장 최근 조회 데이터가 될 예정
- 유저(작가)
- 유저가 여러 개의 웹툰을 제작할 수 있음
- 유저(기업)
- 유저가 여러 광고를 낼 수 있음
- 유저(관리자)
Web_Info
- 웹툰이 여러 유저에게 관심 지정받을 수 있음.
- 관심을 받은 개수는 따로 로직을 만들고, 숫자로 따로 속성에 저장
- 웹툰이 여러 유저에게 조회될 수 있음.
- 관심과 마찬가지로 조회수는 따로 속성에 저장
- 웹툰이 여러 회차를 갖을 수 있음
Web_Eps
- 해당 회차가 조회됐음을 Web_View에 저장
관심 웹툰
- 일반 유저가 특정 웹툰들을 간편하게 보기 위해서 본인 계정과 연결한 웹툰들
관심+
버튼을 클릭하여 구동(관심 선택/해제)- 관심을 받은 웹툰은 몇 명의 유저에게 관심을 받았는지 기록
관심 웹툰 테이블(web_like)
- User와 Web_Info의 N:M 관계를 해소하는 테이블
- 비식별 관계로 구현하기 위해 관심 웹툰만의 id(식별자)를 별도로 설정
- wen_info에 몇 명의 유저가 관심을 갖는지 알 수 있는 count 속성을 추가
- cnt 값을 관심 웹툰 테이블이 아닌 웹툰 info 테이블에 넣으면 성능이 향상 될 것이라고 생각함.
- 이를 위해서 관심 버튼 클릭 시 카운팅하는 로직을 구현할 필요가 있음.
'Projects > [clone] 네이버 웹툰' 카테고리의 다른 글
06. 느낀점 (0) | 2023.06.21 |
---|---|
06. api 정리 (0) | 2023.06.21 |
06. git fetch 와 git pull 의 차이 (0) | 2023.06.21 |
03. server 틀 제작 (0) | 2023.06.20 |
02. ERD 작성 (0) | 2023.06.16 |