
MyPli
는 6개의 주요 테이블로 구성된 관계형 데이터베이스를 사용하여 사용자, 플레이리스트, 비디오, 태그, 좋아요 등의 데이터를 관리합니다. 이 구조는 애플리케이션의 주요 기능을 지원하는 데 초점을 맞추고 있습니다.
1. User 테이블
컬럼 이름 |
데이터 타입 |
설명 |
id |
int |
고유 사용자 ID (Primary Key) |
email |
varchar(191) |
사용자 이메일 |
password |
varchar(191) |
해싱된 비밀번호 |
nickname |
varchar(191) |
사용자 닉네임 |
profileImage |
varchar(191) |
프로필 이미지 URL |
authProvider |
varchar(191) |
인증 제공자 (Google 등) |
createdAt |
datetime(3) |
계정 생성일 |
updatedAt |
datetime(3) |
계정 수정일 |
- 설명: 사용자 정보를 저장하며, 이메일 및 닉네임을 기반으로 식별됩니다.
2. Playlist 테이블
컬럼 이름 |
데이터 타입 |
설명 |
id |
int |
고유 플레이리스트 ID (Primary Key) |
userId |
int |
플레이리스트 작성자 ID |
title |
varchar(191) |
플레이리스트 제목 |
description |
varchar(191) |
플레이리스트 설명 |
coverImage |
varchar(191) |
커버 이미지 URL |
likesCount |
int |
좋아요 수 |
createdAt |
datetime(3) |
생성일 |
updatedAt |
datetime(3) |
수정일 |
- 설명: 각 사용자별로 생성된 플레이리스트 정보를 관리합니다.
3. Video 테이블
컬럼 이름 |
데이터 타입 |
설명 |
id |
int |
고유 비디오 ID (Primary Key) |
playlistId |
int |
속한 플레이리스트 ID |
youtubeId |
varchar(191) |
유튜브 비디오 ID |
title |
varchar(191) |
비디오 제목 |
channelName |
varchar(191) |
유튜브 채널명 |
thumbnailUrl |
varchar(191) |
썸네일 URL |
duration |
int |
재생 시간(초) |
order |
int |
재생 순서 |
createdAt |
datetime(3) |
추가일 |
- 설명: 플레이리스트에 포함된 비디오 정보를 저장합니다.
4. Like 테이블
컬럼 이름 |
데이터 타입 |
설명 |
id |
int |
고유 좋아요 ID (Primary Key) |
userId |
int |
좋아요를 누른 사용자 ID |
playlistId |
int |
좋아요가 눌린 플레이리스트 ID |
createdAt |
datetime(3) |
좋아요 누른 시간 |
- 설명: 특정 사용자가 특정 플레이리스트에 좋아요를 누른 데이터를 관리합니다.
5. Tag 테이블