테이블 설계관련 문의드려요
504
작성한 질문수 38
안녕하세요.
테이블 설계하다보니 궁금증이 생겼습니다.
예를들면,
User ----< JoinCall >---- Call
이런식으로 User, JoinCall, Call도 계속 늘어나는 상황입니다.
특정 User가 참여한 Call 중에서 특정 callStatus만 찾아내려 하는데 검색 속도를 높이기 위해서는 JoinCall에도 callStatus가 들어가야 할 것 같습니다.
검색속도롤 높이기 위해 이런식으로 중복 데이터가 있게 설계를 하는 경우도 있을까요?
확인 부탁드립니다.
감사합니다.
답변 5
0
Call에 대한 정의가 명확하지 않아서 좀더 설명해 주셔야 할 것 같습니다. 속도는 문제가 없어 보이는 것이 UserId가 PK일 것입니다. 그리고 CallId가 무엇인지는 모르지만 이것도 PK이기 때문에 두 조건을 만족하는 도메인 내에서 특정 status를 찾는 겁니다. 많아봤자 몇천개 정도? 만일 한 User의 JoinCall 갯수가 수십만개로 간다면 그 때는 CallStatus를 별도 테이블로 독립시키고 JoinCall 테이블에 참여시켜서 CallStatus 조차도 PK로 검색될 수 있게 하면 되겠습니다.
0
네. 여러가지 방법이 있겠어요. Joincall에. CallStatus가 추가도는게 중복이라고 생각하시지만 중복이라기 보다는 역정규화라고 볼 수 있어요.
User에 대해서 UserCallStatus테이블을 만들어서 사용할 수도 있죠. 사용자 입장에서 보기 위해서는 Call은 도움이 안되잔아요. 결국 useeid가 들어간 어떤 테이블이 필요한 거죠
0
아... 제 질문이 명확하지 않았네요.
일단 화상회의라고 보면 될 것 같습니다.
하나의 화상회의에 여러명의 유저가 접속한다고 가정하면
User에는 User정보가 들어갑니다.
JoinCall에는 User별로 화상회의 Room에 들어가기위해 부여된 패스워드가 있습니다.
Call에는 Room이름이나 화상회의 상태정보(생성되었음/시작했음/끝났음)도 들어갑니다.
한 유저가 참여하고 있는 모든 Call들에 대해 상태별로 빠르게 검색하려면 JoinCall에 상태정보를 중복으로 넣어야 가능할 것 같아서 질문드렸습니다.
날짜 등으로 검색하게 제한을 두는 방법도 있겠지만 전체를 보기에는 상태별 검색이 더 좋아보이네요.
실습소실행안되요
0
36
1
ORA-01017 오류 때문에 진도가 못나가고있습니다.!
0
37
2
제공된 홈페이지 로그인 ,출력값, 건의사항 오류
1
46
1
강의가 부족한 것이 아니라, 누구나 쉽게 이해할 수 있도록 매우 단순하게 설계된 것입니다.
0
19
0
맥북용 자료 부탁드립니다.
0
37
2
로그인이 안되네요
0
33
1
22번문제 질문있습니다.
0
48
2
아키타입 환경설정중 오류
0
43
2
실전 모의고사 난이도
1
61
1
Intersect로 봄학기에 등록된 수업 검색 영상에서 궁금한 점이 있습니다.
0
46
2
오타가 있는거같습니다.
0
64
2
Toad for Oracle Trial 버전을 지원하지 않는것으로 보입니다.
0
63
1
28번 커리큘럼 제목 오타 있어요.
0
56
1
Sales 테이블에 복합키로 기본키를 구성하는 이유가 무엇인가요?
0
418
2
RootModel에 대한 질문
0
254
2
시 군 구로 나눈 이유가 궁금합니다.
0
364
2
인덱스 테이블에 대해서 질문이 있습니다.
0
406
2
1. stored procedure 는 언제 쓰면 좋은가요 ? / 2. 대댓글 테이블 설계
0
890
1
상품 테이블 설계에서 컬러, 사이즈 테이블의 PK 구성 질문
0
464
3
멀티 필터 select를 위한 설계
0
321
2
안녕하세요 SP_Sgg_Delete 프로시저 관련 질문드립니다.
0
314
2
궁금중 여쭤봅니다.
0
308
1
SP_Sgg_Add 관련 문의드립니다.
0
202
1
코드 업로드 해주실 수 있으신가요?
0
385
3





