💪 Today I Learned

rDBMS

  • 테이블 간 관계가 형성된 데이터베이스

나는 사실 디비를 잘 모른다. 2학년 1학기 때 수업을 듣긴 했는데 공부를 안하기도 했고, 그 이후 프로젝트 진행할 때도 다루지를 않았다. 연구실에서 데이터 분석 공부를 할 때 필요성을 느꼈고 꼭 배워보고 싶었는데 드디어 제대로 해볼 기회가 생겼다.
위에서 정의했듯이 rDB는 테이블 간 관계가 형성된 데이터베이스를 뜻한다. 이것을 관리하는 rDBMS의 예로는 MySQL / postgreSQL / Oracle 등이 있다.

데이터 모델링

  • 정제된 데이터를 만들기 위한 과정

SQL은 항상 정제된 데이터를 필요로 한다. 데이터가 없다면 어떻게 쿼리문을 사용하겠는가. 따라서 데이터 모델링 과정이 꼭 필요하고 이는 쉽게 말해 현실 세계를 표로 바꿔주는 작업이라고 보면 된다. 그러기 위해서는 분석 모델 -> 논리 모델 -> 물리 모델의 과정을 거친다. 인스타그램 페이지로 데이터 모델링을 진행하면 다음과 같다.

  1. 분석 : 페이지 내 모든 요소들 (사용자 닉네임, 프로필 사진, 게시물 사진, 좋아요 수 등)

  2. 논리

    • Entity : attribute 중 연관된 것들의 집합 (사용자 / 게시물 / 댓글)
    • Attribute : 분석 과정에서의 대부분 요소들
    • Relation : entity 사이의 관계
  3. 물리

    • Table : 엑셀의 Sheet
    • Column
    • PK, FK, join 등

가장 중요한 것은 중복을 최소화하는 정규화 과정이다.

🏃 한마디

오늘은 소프트 스퀘어드 3주차 수업을 듣고 왔다. 집에 와서 배운 내용을 바로 포스팅하려 했으나 시간이 너무 늦어 내일 써야겠다. 인스타그램으로 데이터 모델링 과정 설명을 듣고 각자 유튜브 데이터 모델링을 진행했는데 생각보다 릴레이션 도출하는 것이 너무 어려웠다. 계속 눈에 보이는 페이지 중심으로 생각해서 더 힘들었던 것 같다. 3주차 과제 진행할 때는 꼭 entity 중심으로 사고해야겠다.