흥미로운 질문 ...
두 가지 분명한 경로가 있습니다
id load_kW fuel_consumption_tonnes
--------------------------------------------------
1 1154 89.4
2 1199 54.2
이것은 인간이 읽기 쉽게, 그리고 매우 논리적이다. 그러나 일부 수치가 "킬로", 다른 수치가 "톤"인 경우, 해당 수치를 "수치"표에 맞게 변환해야합니다. 이 프로세스는 "무손실"이어야하며 멱등 원이어야합니다. 예를 들어, "89403 kilos"의 수치는 "89.4 tonnes"가 아니지만 편의상 킬로미터에서 톤으로 돌릴 수 있습니다. 일반적으로 반 직관적 인 반올림 작업이 있습니다.당신이 그것을 필요로하는 경우에, "단위"테이블로
id load load_unit fuel_consumption fuel_consumption_unit
--------------------------------------------------
1 1154 kW 89403 kg
2 1199 kW 54.2 t
:
unit_id unit_name
--------------------
kg kilogramme
t Tonne
그러나,이 모델은 인간의 실패에 열려 그런 경우에는
, 당신은 스키마를 변경할 수 있습니다 - "load"열을 수정하지 않고 "load_unit"열을 쉽게 변경하여 데이터를 깨뜨릴 수 있습니다. 이를 피하기 위해 데이터 모델에 실제로 할 수있는 것은 없습니다. 또한 공통 쿼리를 매우 까다롭게 만듭니다. 일관된 측정 단위로 "로드"총을 검색하려고합니다.
이 경우 원본 데이터가 위의 형식 인 "raw_readings"과 모든 판독 값을 일관된 측정 단위로 변환하여 채워지는 "normalized_readings"라는 두 개의 테이블이 있어야합니다.
SI 시스템의 기본 단위와 축척 만 저장하려는 경우 또는 가속도'm/(s^2) '와 같은 결합 된 단위가 필요할 경우에도 유용 할 수 있습니다. 그런 다음 SI 시스템을 모델링하는 테이블을 갖는 것이 좋습니다. – SpaceTrucker