erDiagram
USER ||--o| USERS_ADDONS : "1:1 설정"
USER ||--o{ SOCIAL_ACCOUNT : "N:1 연동"
USER ||--o{ BOOK_DIARY : "작성"
USER ||--o{ MY_BOOKCASE : "소유"
USER ||--o{ BOOK_DIARY_COMMENTS : "댓글 작성"
USER ||--o{ BOAST_BOARD : "게시"
USER ||--o{ USER : "부모-자녀 (Self-Join)"
BOOK_INFO ||--o{ BOOK_DIARY : "참조"
BOOK_INFO ||--o{ MY_BOOKCASE : "참조"
BOOK_INFO ||--o{ BOOKMARK : "찜"
BOOK_INFO ||--o{ BOOK_INFO_REVIEW : "리뷰"
BOOK_DIARY ||--o{ BOOK_DIARY_COMMENTS : "포함"
BOAST_BOARD ||--o{ BOAST_LIKE : "좋아요"
| 엔티티명 (Entity) | 설명 (Description) | 주요 속성 (Property) | 관계 (Relation) |
|---|---|---|---|
| User | 사용자 기본 정보 | userId(PK), userName, userPw, userAge, userIsParent |
1:N → BookDiary, MyBookcase, 1:1 → UsersAddons, 1:1(Self) → User(Parent) |
| SocialAccount | 소셜 로그인 연동 정보 | socialNo(PK), provider, providerId, userId(FK) |
N:1 → User |
| UsersAddons | 사용자 부가 설정 | uANo(PK), uAGoAL(목표권수), userId(FK) |
1:1 → User |
| BookInfo | 도서 공통 정보 | biId(PK), biTitle, biAuthor, biPublisher, biIsbn, biImgLink |
1:N → BookDiary, MyBookcase, Bookmark |
| MyBookcase | 내 책장 (독서 상태) | mbId(PK), mbIsCompleted(완독여부), mbEndAt, userId(FK), biId(FK) |
N:1 → User, N:1 → BookInfo |
| Bookmark | 관심 도서 (찜) | bmId(PK), userId(FK), biId(FK) |
N:1 → User, N:1 → BookInfo |
| BookDiary | 독서 기록장 (일기) | bdId(PK), bdTitle, bdContent, bdImgFilepath, userId(FK), biId(FK) |
N:1 → User, N:1 → BookInfo, 1:N → BookDiaryComments |
| BookDiaryComments | 기록장 댓글 | bdCId(PK), bdCContent, bdId(FK), userId(FK) |
N:1 → BookDiary, N:1 → User |
| BoastBoard | 자랑하기 게시글 | bbId(PK), bbTitle, bbContent, bbImgFilepath, userId(FK), biId(FK) |
N:1 → User, N:1 → BookInfo, 1:N → BoastLike |
| BoastLike | 게시글 좋아요 | bLikeId(PK), userId(FK), bbId(FK) |
N:1 → User, N:1 → BoastBoard |
| BookInfoReview | 도서 한줄평 | biRId(PK), biRContent, biId(FK), userId(FK) |
N:1 → BookInfo, N:1 → User |
사용자 정보와 계정 설정, 부모-자녀 관계를 정의합니다.
userId (PK): 사용자 아이디 (String)userPw: 비밀번호userName: 이름userAge: 나이userIsParent: 부모 여부 (Boolean)userParent: 부모 계정 참조 (Self-Join, 자녀 계정일 경우 부모의 ID 저장)provider: 소셜 서비스 제공자 (Naver, Google 등)providerId: 소셜 고유 식별 번호userId (FK): 연결된 서비스 계정uAGoal: 개인별 월간 독서 목표 권수 (기본값 10)userId (FK): 해당 설정을 가진 사용자시스템에서 공통으로 사용하는 도서 데이터입니다.
biId (PK): 도서 고유 번호biTitle: 제목 / biAuthor: 저자 / biPublisher: 출판사biIsbn: ISBN 번호 (외부 API 매칭 핵심 키)biImgLink: 도서 썸네일 이미지 URLbiContent: 도서 줄거리 및 설명사용자가 도서를 읽으며 생성하는 데이터입니다.
mbIsCompleted: 완독 여부 (T/F)mbEndAt: 완독 날짜 및 시간userId (FK), biId (FK): 특정 유저가 특정 도서를 서재에 담음userId (FK), biId (FK): 찜한 도서 정보bdTitle, bdContent: 일기 제목 및 내용bdImgFilepath: 업로드한 독서 활동 이미지 경로userId (FK), biId (FK): 누가 어떤 책에 대해 썼는지 기록bdCContent: 댓글 내용bdId (FK): 대상 일기 / userId (FK): 작성자