게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
질문: db 테이블 만들 때 cross-reference 자주 써도되나요
게시물ID : programmer_6607짧은주소 복사하기
작성자 : 오늩의유머
추천 : 0
조회수 : 442회
댓글수 : 4개
등록시간 : 2014/11/19 03:37:36
옵션
  • 본인삭제금지
평소에 늘 제목은 질문을 요약하자고 주장하고 다녔는데
질문이 길어서 한 문장에 요약이 안되네요ㅎㅎ

프로젝트 때문에 처음으로 DB를 쓰게 됐습니다. 
SQL도 있고, 다양한 NoSQL도 많이 있는데,
최근 추세가 NoSQL이 규모확장성도 좋고 이것저것 좋다고 해서
쓰고는 싶지만, 아직까지 NoSQL을 어떻게 최대한 활용할지 몰라서
일단 관계형 DB로 만들어놓고 필요에 따라서 조금씩 NoSQL로 옮기면 되지 않을까 하고 생각하고 있습니다.
(그래도 되겠지요?)

먼저 테이블들을 만들려고 하는데 맨 처음부터 막히네요. 

질문: db에서 (SQL 등) 테이블 만들 때 cross-reference를 써야 할 경우가 있는데
가능하면 많이 쓰는 게 좋은가요, 아니면 꼭 필요할 때만 쓰는 게 좋은가요?

예를 들어, 쇼핑몰에서 사용자, 주문, 상품명이 있다고 하면,
사용자별로 주문내역을 알아야 할 때도 있고, 
어떤 주문을 한 사용자 명을 알아야 할 때도 있을 테니까,
서로 참조를 하면 검색시간을 줄일 수 있을 것 같은데요…

 사용자 홍길동: 주문1, 주문2, 주문3….
주문1: 발주자 홍길동
주문2: 발주자 홍길동
주문3: 발주자 홍길동

이런 식으로 주문표에다가 사용자도 추가하고, 사용자 표에다가 주문 내용을 추가하는 것은 표 관리에 안좋을 테니까,
주문 내역표에다가만 사용자를 참조하는 컬럼을 만들고, 
나중에 사용자가 한 주문 내역 목록이 필요하면, 
주문 내역표를 쭉 살피면서 그 사용자가 한 주문을 찾아야 할 것 같은데요. 
그러려면 주문내역 항목 갯수만큼 검색을 해야 하는데, 그런 식으로 테이블을 
만들어도 괜찮나요?
그러다가 나중에 항목이 늘어나면 페이지 하나 여는데도 엄청 시간이 오래 걸리게 되는 건 아닌지
걱정이 돼서요ㅎㅎ

고수님들의 의견을 부탁드립니다. 
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호