2012-11-19 2 views
0

DB 디자인에 대한 질문이 있습니다.테이블을 분리해야합니까?

지방 및 국가에 대한 정보를 저장하고 싶습니다. 처음에는이 모든 정보를 하나의 테이블 (General_info)에 저장할 수 있다고 생각했습니다. 그런 다음이 테이블의 각 레코드에 대해; 국가에 속하는 열의 값을 반복해야합니다.

또 다른 아이디어는이 테이블을 두 개의 테이블 (General_info_countrygeneral_info_province)으로 분리하는 것입니다. 3 열만 있고 다른 하나는 10을 넘는 첫 번째 테이블입니다.

어떻게해야합니까? 어떤 접근 방식이 더 효율적입니까?

+0

조회 표입니까? 변화 할 가능성이 있습니까? 지방 정보와 별도로 국가 정보를 사용해야합니까? – Oded

+0

두 가지 샘플 디자인을 보여줄 수 있습니까? 네가 묻는 것을 시각화하기가 어렵다. –

답변

3

첫 번째 접근법 (큰 테이블 하나)의 가장 큰 문제점은 한 국가 정보가 변경되면 여러 행을 업데이트해야하므로 실수로 일관성이없는 정보로 끝날 수 있다는 것입니다.

두 번째 방법은 정규화되어 더 나은 관계형 디자인으로 간주됩니다.

0

관계가 일대일이고 일대일로 유지되면 두 가지 방법으로 갈 수 있습니다. 하지만 하나 하나 많으면 물론 분할해야하고 많은 부분에 외래 키가 있어야합니다.

질문이 하나가되어 질문이 생기면 얼마나 자주 사용 하시겠습니까? 모든 속성들?

두 테이블을 자주 함께 사용하려는 경우 쿼리에 많이 참여해야하므로 분할하지 말 것을 제안합니다.

하지만 두 테일을 혼자 사용하지 않고 두 테이블의 정보를 함께 사용하면 시간을 절약 할 수 있습니다.

관련 문제