ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ERD 설계하기
    프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 17. 20:43
    반응형

     

    회원과 그룹은 N:M 관계입니다.(회원은 여러 그룹을 가질 수 있고 그룹은 여러 회원을 가질 수 있습니다.)

    (중간 테이블을 활용하여 1:N, M:1로 풀어냈습니다.)

     

    회원과 회원 아이콘은  1:N 관계입니다. (회원은 여러 개의 아이콘을 가질 수 있습니다)

     

    그룹과 그룹아이콘은 1:N 관계입니다. (그룹은 여러 개의 아이콘을 가질 수 있습니다)

     

    그룹과 운동 루틴은 1:N관계입니다. (그룹은 여러 개의 운동 루틴을 가질 수 있습니다)

     

    운동 루틴과 룸은 1 : 1 관계입니다. ( 룸은 하나의 운동 루틴을 가지고 있습니다)

     

    루틴과 루틴 디테일은 1 : N 관계입니다.  (루틴은 여러 개의 운동 디테일을 가질 수 있습니다)

     

    그룹과 룸은 1:1 관계입니다. (그룹은 한개의 룸을 가질 수 있습니다)

     

    룸과 룸에 참여자는 1 : N 관계입니다. (룸은 여러 명의 참여자를 가질 수 있습니다)

     

    멤버 그룹과 운동은 1 : N 관계입니다. (멤버 그룹은 여러 개의 운동한 날짜와 시간을 가지고 있습니다)

     

    운동과 운동 디테일은 1 : N 관계입니다. ( 운동한 날짜와 시간은 여러 개의 운동 동작 이름과 횟수를 가지고 있습니다)

     

    설계 이후 고민해볼 점

    랭킹을 산정하거나 그룹, 회원의 총 운동시간을 찾기 위해서는 3번 정도의 join이 발생할 것 같습니다.

     

    이때 데이터가 많아진다면 느려지지 않을까? 라고 생각을 하게 되었습니다.

     

    따라서 반정규화도반정 규화도 고려해 보았지만 아직 얼마나 데이터가 쌓일지 짐작지 되지 않기 때문에 우선 정규화된 설계를 통해 진행해보고 성능이 잘 나오지 않는다면 반정규화도 고려해보려고 합니다.

     

     

    반응형

    댓글

Designed by Tistory.