MYSQL

24.8.27(ERD 작성)

박현국 2024. 8. 27. 23:05
조건
  • 일정은 작성 유저명, 할일 제목, 할일 내용, 작성일, 수정일 필드를 갖고 있습니다.
  • 일정에 댓글을 달 수 있습니다.
  • 댓글은 댓글 내용, 작성일, 수정일, 작성 유저명 필드를 갖고 있습니다.
  • 유저를 저장, 단건 조회, 전체 조회, 삭제할 수 있습니다.
  • 유저는 유저명, 이메일, 작성일, 수정일 필드를 갖고 있습니다.
  • 일정은 이제 작성 유저명 필드 대신 유저 고유 식별자 필드를 가집니다.
  • 일정을 작성한 유저는 추가로 일정 담당 유저들을 배치할 수 있습니다.

이 요구사항들을 토대로 하면, 이런 식의 ERD 가 그려진다.

먼저

일정과 댓글의 관계는 : @OneToMany , @ManyToOne

일정과 유저의 관계는 : @ManyToOne, @OneToMany

일정담당매니저는 일정과 유저의 중간테이블이다. (중간테이블 생성이유는 @ManyToMany 로 했을때와 달리 수정요소가 있을때 중간테이블이 일정과 유저테이블에 대한 FK를 가지고 있어서, 컨트롤하기가 쉬워져, 확장성에 좋다.

-> 결국 일정매니저와 (일정, 유저) 의 관계는 : @ManyToOne, @OneToMany 이다.

 

아직 4개의 테이블로만 ERD 를 짜봤는데, 그래도 머리가 터진다. SQL 을 포함하여, DB 관련된 부분들은 추가 학습이 많이 필요하다고 느꼈다. 하지만 아직은 때가 아니다. SPRING 을 어느정도 마스터 하고 해야한다. ㅎㅇㅌ

'MYSQL' 카테고리의 다른 글

24.7.11 (MYSQL 3주차, JAVA)  (0) 2024.07.11
24.7.8 TIL (MYSQL 1주차~2주차)  (0) 2024.07.08