닉네임, 비밀번호, 프로필 사진
업무 내용, 세부내용, 날짜 및 시간, 우선순위, 완료유무, 남은 업무 개수, 완료된 업무 개수
카테고리명, 아이콘, 색깔
포커스 시간, 날짜
앱 색깔, 앱 글꼴, 앱 언어
사용자(users)
닉네임, 비밀번호, 프로필 사진
업무(tasks)
업무 내용, 세부내용, 날짜 및 시간, 카테고리, 우선순위, 완료유무, 남은 업무 개수, 완료된 업무 개수
카테고리(categories)
카테고리명, 아이콘, 색깔
포커스(focuses)
포커스 시간, 날짜
세팅(settings)
앱 색상, 앱 글꼴, 앱 언어
먼저, 위에서 분류한대로 테이블을 생성한다. mock 데이터도 넣어본다.
users
| id | 닉네임 | 비밀번호 | 프로필 사진 |
|---|---|---|---|
| 1 | iiingkeep | kkkkk | url1 |
| 2 | dalpong | nnnnn | url2 |
tasks
| id | 내용 | 세부내용 | 날짜 | 카테고리 | 우선순위 | 완료 유무 | 남은 개수 | 완료개수 |
|---|---|---|---|---|---|---|---|---|
| 1 | 자바 공부 | 2챕터 | 2024-12-08 08:00:00 | 공부 | 1 | 1 | 2 | 1 |
| 2 | 달리기 | 30분 | 2024-12-08 19:00:00 | 운동 | 2 | 0 | 2 | 1 |
| 3 | 장보기 | 양파 | 2024-12-08 20:00:00 | 집안일 | 3 | 0 | 2 | 1 |
categories
| id | 카테고리명 | 아이콘 | 색깔 |
|---|---|---|---|
| 1 | 공부 | 아이콘1 | 노랑 |
| 2 | 운동 | 아이콘2 | 파랑 |
| 3 | 집안일 | 아이콘3 | 초록 |
focuses
| id | 시간 | 날짜 |
|---|---|---|
| 1 | 1시간 | 2024-12-07 |
| 2 | 1시간 | 2024-12-07 |
| 3 | 2시간 | 2024-12-08 |
app_colors
| id | 색상명 |
|---|---|
| 1 | 흰색 |
| 2 | 검정색 |
| 3 | 회색 |
app_typographies
| id | 글꼴명 |
|---|---|
| 1 | 궁서체 |
| 2 | 굴림체 |
| 3 | 돋움체 |
app_languages
| id | 언어명 |
|---|---|
| 1 | 한국어 |
| 2 | 영어 |
| 3 | 중국어 |
위에 생성된 테이블에서 중복 데이터를 찾아 테이블을 분리 및 생성한다.
내 임의로 진행한 과정이며 이유를 밑에 적어놓았다.
이 과정으로 수정되거나 생성된 테이블은 아래와 같다.
tasks
| id | 내용 | 세부내용 | 날짜 | 카테고리 id (FK) | 우선순위 | 완료 유무 |
|---|---|---|---|---|---|---|
| 1 | 자바 공부 | 2챕터 | 2024-12-08 08:00:00 | 1 | 1 | 1 |
| 2 | 달리기 | 30분 | 2024-12-08 19:00:00 | 2 | 2 | 0 |
| 3 | 장보기 | 양파 | 2024-12-08 20:00:00 | 3 | 3 | 0 |
tasks
강사님이 설계한 최종 버전 DB이다.
위에서 내가 진행한 과정과 강사님이 진행한 과정을 비교하며 내가 다르게 설계한 이유도 함께 기재했다.
users
| id | 닉네임 | 비밀번호 | 프로필 사진 |
|---|---|---|---|
| 1 | iiingkeep | kkkkk | url1 |
| 2 | dalpong | nnnnn | url2 |
tasks
| id | 내용 | 세부내용 | 마감 시간 | 카테고리 id (FK) | 우선순위 | 완료 유무 | 사용자 id |
|---|---|---|---|---|---|---|---|
| 1 | 자바 공부 | 2챕터 | 2024-12-08 08:00:00 | 1 | 1 | TRUE | 1 |
| 2 | 달리기 | 30분 | 2024-12-08 19:00:00 | 2 | 2 | FALSE | 1 |
| 3 | 장보기 | 양파 | 2024-12-08 20:00:00 | 3 | 3 | FALSE | 1 |
categories
| id | 카테고리명 | 아이콘 | 색깔 |
|---|---|---|---|
| 1 | 공부 | 아이콘1 | 1 |
| 2 | 운동 | 아이콘2 | 1 |
| 3 | 집안일 | 아이콘3 | 2 |
categories_colors
| id | 색상 |
|---|---|
| 1 | 빨강 |
| 2 | 노랑 |
| 3 | 파랑 |
focus_histories
| id | 시간 (단위: 분) | 날짜 | 사용자 id |
|---|---|---|---|
| 1 | 60 | 2024-12-07 12:00:00 | 1 |
| 2 | 60 | 2024-12-07 14:00:00 | 1 |
| 3 | 120 | 2024-12-08 12:00:00 | 1 |
tasks
categories_colors
focus_histories
app
** 요구사항 UI의 경우 강의 자료를 그대로 가져와야해서 생략했습니다.
이 게시글은 박재성님의 비전공자도 이해할 수 있는 DB 설계 입문/실전 강의를 토대로 작성되었습니다.
https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-db-%EC%84%A4%EA%B3%84-%EC%9E%85%EB%AC%B8/dashboard