도서 대출 관리 시스템
ERD 설계
Ref
Book - Author -> N : M
Book - Publisher -> N : 1
Book - Category -> N : M
Book - Loan -> N : M
Member - Loan -> 1 : N
영화 예매 시스템
ERD 설계
Ref
Movie - Order - Ticket -> 1 : N 1 : N
Cinema - Theater -> 1 : N
Ticket - Movie -> N : 1
Movie - Theater -> 1 : N
Movie - Cinema -> N : M
Theater - Cinema -> N : 1
과제 - 데이터 모델링
인스타그램은 사진을 업로드하고, 사람들이 서로 댓글을 달며 서로 follow 관계를 만들 수 있는 사진 SNS 서비스입니다. 여러분이 인스타그램의 초기 개발팀에 속해 있었다고 가정하겠습니다. 다행히도 모든 기능과 프로토타입은 완성되어 있습니다. 백엔드 개발자로서 데이터베이스의 스키마를 디자인해야 한다면, 어떻게 스키마 디자인을 하는 게 좋을까요?
[그림] 인스타그램 예시
1. 게시물(Post) 작성 기능
인스타그램에서는 여러 개의 사진(A)을 올릴 수 있습니다. 사진을 업로드할 때, 사진을 설명하는 간단한 글(C)이 올라갑니다.
2. 게시물에 댓글 달기 및 좋아요 기능
게시물이 업로드되면 다른 사용자는 이 게시물에 댓글(E)을 달 수 있고, 좋아요(B)를 눌러 관심을 표할 수 있습니다.
3. 해시태그 기능
게시물에 #감성 #맛집 등의 해시태그(D)를 남길 수 있으며, 이 해시태그를 누르면 이 해시태그가 사용된 모든 게시물을 한 데 모아 볼 수 있습니다.
4. follow 기능
인스타그램에서 친구 관계는 팔로워(follower)와 팔로잉(following)으로 나뉩니다. 김코딩이 최해커를 following 하면, 최해커의 피드가 김코딩의 홈 화면에 나타납니다. 최해커의 입장에서는 김코딩이 follower로 추가됩니다.
Bare minimum requirement
인스타그램의 스키마를 작성해 보세요. 파워포인트도 좋고, 종이로 그려서 사진을 찍어 제출해도 좋습니다. 스크린샷을 General 채널에 업로드하여 공유합니다.