2012-01-06 2 views
4

'직원'데이터베이스에서 작업 중이며 입력란이 합산되기 시작했습니다 (20 명). 데이터베이스가 서로 다른 UI에서 채워야 할 말 :대형 데이터베이스 테이블을 분할하는시기는 언제입니까?

개인 정보 UI를 :는 생일, 성, 성별 등

고용 세부 UI로 '직원'테이블의 필드를 채 웁니다이의 필드를 채 웁니다 직원 번호, 고용일, 학년 수준 등의 '직원'테이블

하나의 UI에서 모든 필드를 채우면 지저분하고 스크롤해야하는 매우 긴 형식이됩니다. .

이 작은 테이블을 직원의 관련 정보 (즉, UI에 따라 논리적으로 분할)를 캡처 할 수 있도록이 테이블을 여러 개의 작은 테이블로 분할하려고합니다.

테이블은 직원 ID로 결합됩니다. 일대일 관계으로 테이블을 분할하는 것이 일반적으로 좋지 않지만 (multiple-database-tables), 직원 정보가 여러 INSERT 문에 캡처되도록 논리적으로 테이블을 분할 할 수 있다는 것을 알고 있습니다.

감사합니다.

+2

보기를 사용해보십시오. – Maheep

답변

6

귀하의 데이터 모델은 편의를 위해 UI가 부과 한 규칙을 준수해서는 안됩니다. 주어진 UI 구성 요소의 열 집합을 줄이는 한 가지 방법은보기를 사용하는 것입니다 (대부분의 데이터베이스에서 간단한보기를 사용하여 INSERT/UPDATE/DELETE 수 있습니다). 다른 하나는 SELECT *을 피하는 것입니다. 테이블 열의 하위 집합을 항상 선택할 수 있습니다.

2

"직원 정보가 여러 INSERT 문에서 캡처되도록 논리적으로 테이블을 분할 할 수 있습니까?"

어떻게 도움이 될까요?

20 개 필드는 비교적 개이고, 관계형 데이터베이스의 필드 수는 개입니다. 얼마 전에 개발자가 하나의 테이블에 대해 3,000 개의 필드 (실제로는 RDBMS의 기능을 능가 했음)가있을 것으로 예상되는 질문이있었습니다. 이러한 상황에서, 표.

작은 수의 열에 대해서만 하위 열 집합이 채워지는 경우 (예 : 회사 담당자에게 고유 한 특성이있는 경우) 테이블을 분할 할 수도 있습니다.

그러나 지금까지 제공된 정보에서 표를 분할 할 분명한 이유가 없습니다.

0

간단히 말하면 데이터 모델을 표준화하려고합니다. 정규화는 40 년 전에 EF Codd에서 개발 한 관계형 데이터 모델의 이론적 기반을 형성 한 테이블로의 체계적인 데이터 재구성입니다. 정규화되지 않은 레벨과 첫 번째, 두 번째, 세 번째 등 정규화 된 레벨이 있습니다.

정규화는 데이터베이스 성능을 저하시키는 것으로 잘못 판단되어 많은 데이터베이스 상점에서 거의 고려되지 않았습니다.

정규화를 다루는 IBM 사이트에서 도움이 될만한 훌륭한 요약을 발견했습니다. http://publib.boulder.ibm.com/infocenter/idshelp/v10/topic/com.ibm.ddi.doc/ddi56.htm

나중에 CJ Date에서 개정 된 원본 Codd 책은 불행히도 쉽게 접근 할 수 없습니다. 나는 "데이터베이스 시스템 : 설계, 구현 & 관리, 권위자 : Rob, P. & Coronel, C.M"을 추천 할 수있다. 나는이 교과서를 사용하는 데이터베이스 디자인 수업을 TA로 진행했으며 계속 참고로 사용했습니다.

관련 문제