본문 바로가기

Database/Postgresql

Instagram DB practice(1)

(유데미 stephen grider 강사의 sql, postgresql 강의를 참고했습니다)

 

Instagram_DB.pdf
0.21MB

DB 설계 자체는 그렇게 어렵지 않았다. 이전에도 미니프로젝트 등에서 

몇번 해 봤기 때문에... 

(그런데 웃긴건 ORM을 몇번 썼다고 SQL을 다 까먹었더라... 

그래서 지금 더 SQL쪽을 하고 있다)

 

사실 Instagram 전부를 했다기 보다는

 

그냥 포스팅, 유저정보 정도?

 

우선 내가 짜보고 강의를 통해 확인했는데, 

두세가지 정도 알게된 사실이 있다.

 

1.  created_at 과 updated_at 둘다 쓰지 않을때도 많다!

 

- 사실 내가 DB 설계할때는 거의 이 두가지(생성날자, 업뎃날자)는 쌍으로 붙어 다녔는데

updated_at은 '좋아요' 기능 혹은 '해쉬태그' 기능에는 필요가 없다.

왜냐. 좋아요는 업데이트라는 기능이 없고, 좋아요를 한번 더 누르면 좋아요가 취소되기 때문이다.

또한 '내가 최근 좋아요를 누른 글 목록' 같은 기능은 있지만, '내가 최근 좋아요 취소한 목록'

이라는건 없기 때문.

 

2. UNIQUE값 설정에 신경쓰기

 

예를들어 내가 가수 성시경씨(최근에 유튜브 먹방을 봐서 그냥 생각난 사람이다)를 팔로워 한다고 생각해보면, 팔로워 기능은 한번만 동작하고, 팔로우를 한번 하면 취소 이외의 기능은 없다.

물론 애플리케이션 단에서 이러한 기능을 구현하겠지만, DB에서도 팔로우 하는 사람은 동일한 값이 존재해서는 안되기에, UNIQUE값을 설정하는 것이다.

 

DB 설계에 있어서, 프론트, 백엔드 엔지니어 등과 협업이 매~우 중요한 이유다

(사실 DB 설계변경은 굉장히 어렵다. 나도 팀 프로젝트에서 그걸 간과했다가 큰코다친적이 많다)

 

3. Utility not found : Utility file not found. Please correct the Binary Path in the Preferences dialog

 

PG admin에서 Restore 기능으로 더미데이터를 넣으려고 하니 이런 메시지가 떴는데,

처음엔 식겁했지만 사실 별문제 아니다.

그냥 이 PGadmin과 Postgresql 경로설정이 잘 안맞는것일 뿐이다.

 

맨 위 메뉴 file -> preferences 에서 왼쪽 메뉴 Path(중간쯤 위치)의 바이너리 패스를 누르고

본인이 설치한 버전의 바이너리 패스를 Postgresql 설치 위치 bin폴더를

설정해주면 잘 된다.

 

더미데이터를 입력했고 앞으로 Postgresql을 이용한 공부를 해 나갈것이다.

'Database > Postgresql' 카테고리의 다른 글

Index가 무엇인가? 그리고 장 단점 정리  (0) 2023.04.29
Postgresql 내부 살펴보기  (0) 2023.04.28