<div style="text-align:left;">안녕하세요. 디비 설계 중 막히는 부분이 있어 질문드립니다. </div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">우선 구현하고자 하는 시스템은 아래와 같습니다. </div> <div style="text-align:left;"> <ul><li>많은 수의 구성원이 있습니다. 약 1000명 이상입니다. (선수라고 칭합니다. ) </li> <li>선수들간의 대결이 이뤄집니다.(권투경기같은 스포츠 생각하시면 됩니다.)</li> <li>해당 경기데이터를 수집하여 DB화 합니다.</li></ul><div><br></div> <ul><li>사용자가 103이라는 선수를 선택하면 103이라는 선수와 나머지 선수들 간의 경기 횟수와 승률이 표시됩니다.(아래 표와 같이)</li></ul></div> <div style="text-align:center;"> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201804/1523732372eda51a3f940a4431a1232b6eb42a2169__mn319369__w441__h181__f16672__Ym201804.png" width="441" height="181" alt="ScreenClip [3].png" style="border:none;" filesize="16672"></div> <div style="text-align:left;"><br></div><br></div> <div style="text-align:center;"><br></div> <div><br></div> <div><br></div> <div><br></div>이제 데이터를 수집해서 DB에 저장하는 작업을 하는 중인데 <div><br></div> <div>설계를 어떻게 해야 할지 잘 감이 안잡힙니다. </div> <div><br></div> <div>두 가지 방법을 생각했는데요. 둘 다 이건 아닌데 싶습니다. </div> <div><br></div> <div>우선 선수 코드가 아래와 같이 있구요. </div> <div><br></div> <div><br><div> <div><img src="http://thimg.todayhumor.co.kr/upfile/201804/15237323725a1daa961371406693803041142c9bdd__mn319369__w385__h187__f17696__Ym201804.png" width="385" height="187" alt="ScreenClip [4].png" style="border:none;" filesize="17696"></div> <div><br></div> <div><br></div> <div><br></div> <div>경기 번호를 매기고 모든 경기를 기록 한 후 필요할 때 연산 하려고 하다가 </div> <div><br></div> <div>데이터 연산에 따른 성능 저하가 클 것 같아서 승수만 기록하려고 합니다. </div> <div><br></div> <div><br></div> <div><br></div> <div>우선 첫 번째로 생각했던 방법입니다. </div> <div><br></div> <div><img src="http://thimg.todayhumor.co.kr/upfile/201804/1523732373db9bbf162039465986a1e5ead15fa945__mn319369__w306__h149__f12449__Ym201804.png" width="306" height="149" alt="ScreenClip [5].png" style="border:none;" filesize="12449"></div> <div><br></div> <div><br></div> <div>101과 102의 대결에서 101이 승리했다면 위의 1열에 승수를 +1 합니다.</div> <div><br></div> <div>같은 매치업에서 102가 승리했다면 위의 표에서 4열에 승수를 +1 합니다.</div> <div><br></div> <div>101과 102의 승률을 얻어 올 때는 (101의 승수 + 102의 승수)를 총 경기수로 잡고 계산합니다. </div> <div><br></div> <div><br></div> <div>제가 문제라고 생각한 부분입니다.</div> <div> <ul><li>선수가 많아 각 매치업마다 두 개의 row를 만들어야 해서 row양이 과도하게 많아짐</li> <li>각 매치업의 승수를 구할 때마다 두 개의 row를 검색하고 연산해야함. </li></ul></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div>두 번째로 생각한 방법입니다. </div> <div><br></div> <div><img src="http://thimg.todayhumor.co.kr/upfile/201804/1523732373cffbf3bd30f448bba8e4c29d836fb421__mn319369__w414__h155__f15264__Ym201804.png" width="414" height="155" alt="ScreenClip [6].png" style="border:none;" filesize="15264"></div></div> <div><br></div> <div> <div>101과 102의 대결이 입력되었다면 두 선수의 코드를 비교합니다. </div> <div><br></div> <div>낮은 숫자의 코드(101)를 선수로, 높은 숫자의 코드(102)를 상대선수로 잡습니다. </div> <div><br></div> <div>총 경기 수에 +1을 합니다.</div> <div><br></div> <div>101의 승리시에만 선수 승수에 +1을 합니다.</div> <div><br></div> <div><span style="font-size:9pt;">101과 102의 승률을 얻어 올 때는 총 경기 수와 선수 승수를 이용해 계산합니다.</span></div></div></div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;">제가 느끼는 문제점</span></div> <div> <ul><li>105의 승률을 검색한다고 하면 105는 선수 칼럼에도, 상대선수 칼럼에도 존재합니다. 양측 다 찾아서 승률을 구해야 합니다.</li> <li>뭔가 이상하다고 느껴집니다. 더 좋은 방법이 있을 듯합니다..</li></ul></div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;">디비를 잘 모르는 초보자인데 제가 봐도 조금 이상한거 같아 질문 드립니다. </span></div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;">이러한 목적을 가진 시스템이 드물지는 않을 거 같은데 어떻게 설계를 해야할 지 감이 잡히지 않습니다.. </span></div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;">어떤 키워드로 찾아봐야 할지도 모르겠네요. </span></div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;">몇 일간 고민하고 찾아보고 하는데 제 능력으로는 이게 최선이라 도움 요청드립니다. </span></div> <div><span style="font-size:9pt;"><br></span></div> <div>확실하지 않더라도 생각 말씀해주시면 해당 키워드로 찾아보겠습니다. </div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;">고수님들의 도움이 필요합니다 ㅜㅜ</span></div> <div><span style="font-size:9pt;"><br></span></div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.