[실습] 화면 UI 디자인을 보고 DB 설계해보기

2025. 8. 21. 16:50개발/DB

반응형

* 이 글은 개발 공부를 위한 블로그글로 지식전달보다는 개발 공부 일지에 초점이 맞춰져 있으니 유의하시길 바랍니다.

UI 하나하나보고 데이터 파악하기

- 프론테엔드 개발자에게 하나하나 어떤 데이터를 뜻하는 지 물어봐야 함.

- 보통 피그마 많이 사용함.

- 프론트에서 고정적으로 데이터를 저장할 수도 있고, 자주 바뀌는 데이터라면 백엔드에 데이터를 저장하고 프론트로 가지고 가게 할 수도 있다. 이 부분은 그때그때마다(서비스마다) 다르다.

- 프론트와의 소통이 아주 중요해보인다. 자주자주 물어보고 확인하는 과정이 꼭 필요하다.

*역정규화개념이 있을 수 있다. 테이블을 나눠주지 않고 데이터를 사용하는 경우인데, 이는 나중에 데이터베이스를 숙달한 후에, 다시 공부하는 것을 추천한다.

데이터를 파악하고 나서부터는 6가지 규칙을 적용해준다.

- 날짜 데이터는 정확한 시간을 기록해두는 것이 좋다.

 

JSCODE 게시판

1. ui보고 데이터 파악 및 6가지 규칙에 따라 테이블 분리

사용자(users) id username email password 프로필이미지url 자기소개
게시글(posts) id 게시글 작성자,user_id(FK) 작성 날짜 제목 소제목 내용
해시태그(hashtags) id hashtag_name        
posts_hashtags id posts_id(FK) hashtags_id(FK)      
팔로우(follows) id 팔로우 한 사람,user_id(FK) 팔로우 받은 사람,user_id(FK)      
좋아요(likes) id 좋아요 누른 사람,user_id(FK) 좋아요 누른 게시글, posts_id(FK)      
댓글(comments) id 댓글 작성자,user_id(FK) 작성날짜 내용 어떤 게시글의 댓글, posts_id(FK)  

2. erdcloud로 자료화

JSCODE 투두리스트

1. ui보고 데이터 파악 및 6가지 규칙에 따라 테이블 분리

- 자주 조회되지 않는 데이터는 프론트에서 저장한다. 백엔드에서 조회한 다음 보내주는 작업을 하는 경우는 데이터가 자주 바뀌는 경우이다.

- 프론트에서 고정해서 보여주실래요? 백엔드에서 조회해서 데이터를 보내주실래요?

사용자(users) id username password 이미지        
임무(tasks) id 제목 내용 마감 날짜 우선순위 완료여부(treu: 완료. false: 완료x 카테고리, categories_id(FK) 사용자, user_id(FK)
카테고리(categories) id 카테고리이름 이미지 색깔 color_id(FK)        
colors(색깔) id 색깔코드            
집중 시간 히스토리(Focus_histories) id 집중한 시간 기록 날짜 사용자, user_id(FK)        

2. erdcloud로 자료화

반응형