당신에게 주어진 임의의 관련 데이터를 좀 더 간결한 범주로 퍼널해야한다고 가정 해 봅시다.관련 데이터를 매핑하고 정규화하는 몇 가지 방법은 무엇입니까?
예 - 다음 데이터가 제공됩니다. 참고 - 기타 관련, 원주 데이터의 개수가있을 수 있습니다 :
Customer Product Category
========== ========= =================================
Customer A Product A Cat 1
CustomerA Product B Category 1
Cust-A Product C Totally Lame & Unrelated Grouping
작업 - 통합하고 깨끗하고 미리 정의 된 그룹으로 위의 정상화 :
CustomerA
Category1
ProductA
ProductB
ProductC
제발 돈 ' 완성 된 데이터가 어떻게 유지 될지 걱정하지 마십시오. 그룹화 규칙을 유지하고 관리하는 방법에 중점을 둡니다.
한 가지 가정 : 데이터베이스를 사용하여 그룹화 규칙을 유지할 수 없습니다. 따라서 우리가 "정규화"라고 말하면 관계형 데이터베이스 정규화 규칙에 관해 말하지 않습니다. 그러나 오히려 우리는 무작위 데이터를 일관된 상태로 만들기 위해 데이터 입력에서 불일치를 제거하려고합니다 (위에서 볼 수 있듯이).
그럼 사용 가능한 옵션은 무엇입니까? 기술 무신론자 :
XML?
구성 파일?
설정 파일 (컴파일 여부)?
Ini 파일?
코드?
등
목록 전문가 각 답변에 대한 & 단점. 그리고 이것이 실제로 excersize이지만, 현실 세계의 문제입니다. 따라서 귀하의 고객/고용주가 귀하에게이 일을 맡겼다 고 가정하십시오.
djna의 의견을 통해 좀 더 명확하게 설명해야합니다 : "데이터를 미리 정상화하고, 미리 데이터를 정규화해야한다는 것을 알고 있습니다. "... 그 의미는 무엇을 의미합니까? 형식은 무엇입니까? 아니면 모든 값을 이미 알고 있으며 입력 값을 올바른 값과 비교해야합니까? 두 번째 코드 블록?은 고객 및 Catego에 대해 1-n 관계가 있음을 의미합니다. 카테고리, 제품은 물론이고? 우리가 그걸 알아 내야한다고? – back2dos
XML & c. 간단한 데이터 저장소로 볼 수 있습니다. 많은 플랫폼에 XML을 처리 할 수있는 라이브러리가 있기 때문에 이러한 저장소 (저장소와 함께 사용)는 데이터베이스를 구성합니다. 그룹화 규칙이 데이터베이스에 저장되지 않는다는 요구 사항의 목적은 무엇입니까? 단순히 RDBMS를 배제하려는 의도입니까? 룰 저장 장치가 쓰기 전용이라는 귀하의 의도입니까? 다른 것? – outis