2011-01-18 3 views

답변

0

이 충분하지만이지만 불필요하게 쿼리하는 것이 어렵습니다. 예를 들어 누군가가 "1kg에 몇 킬로그램이 들어 있는지, 아니면 1 밀리그램에 있는지"를 묻는 경우를 상상해보십시오. 서로를 참조하는 "킬로그램"을 가진 많은 행을 가져야하거나 필요한 수준에 도달 할 때까지 쿼리를 두 번 실행해야합니다.

일반적으로 연결 테이블에서 그렇게합니다.

Units (unit_ID, Name, unit_Type, unit_Group, IsDeleted)

"IsFactorOf"의 unit_ID 아동 유닛에 FK이다 IsFactorOf(unit_ID, parent_ID, factor)

이 PARENT_ID 부모 장치에 FK (자식 - 인 : 그래서, 열 당신의 이름을 사용하여, 그것은 뭔가를 할 것입니다 부모는 factor 요소와 관련이 있습니다. '자식은 부모의 배'입니다. 두 키가 모두 PK를 만듭니다.

이제 각 변환에 대해 IsFactorOf를 입력하여 동일한 유형의 사용 가능한 단위에 킬로의 양을 정의 할 수 있습니다. 물론, 당신은 두 가지 방식으로 변환을거야 ...

1

alt text

이것은 UnitSymbol 당신이 메트릭, 제국 등 혼합 예를 tblsp = 테이블 스푼을 위해 케이스하지 않은, 독특한 것으로 가정 제국, 미터, 캐나다, 미국 등일 수 있습니다.이 경우 UnitID (integer)을 기본 키로 사용하십시오.

관련 문제