나는 세 개의 열 표, 있다고 가정 ID (기본 키, 신원), A, 지금 Bnull 값
을, 그들은 일반적인 칼럼 - 아무것도 공유하지 가정, 나는 3 가지 방법이 있다고 가정 현명 :
방법 1 : C, D, E
방법 2 : F, G, H, I가
방법 3 : J
I 한 테이블 할 수 : ID를하는 ,
여기서 M은 메소드 (또는 메소드 ID)의 이름입니다.
그러나 방법 3의 90 %가 사용되면 많은 null 값이 있습니다.
이것이 문제입니까? 그렇다면 이것을 설정하는 더 좋은 방법이 있습니까?
각 메소드를 자체 테이블 엔티티로 만들면 각 ID에 정확히 일치하는 메소드가 하나씩 있는지 확인하려면 어떻게해야합니까?
하나의 테이블로 유지한다면 M이 1이면 C, D, E 만 채워지고 F 쓰루 J는 NULL인지 확인하려면 어떻게해야합니까? OK
, 일부 사람들이하기 어려운 추상적으로 생각했던 것 같다, 그래서 나는 위의 적용 임의의 구체적인 예를 만듭니다 : 운동을 수행하는 사람들의
한다고 가정 내가 가진 기록을.
각 레코드에는 항상 이벤트를 고유하게 식별하는 ID (TIME_STARTED 및 TIME_ENDED)가 있습니다.
그러나 어떤 운동을했는지에 따라 다른 속성이 필요할 수 있습니다.
타원형 : 세 개의 연습이 있었다 가정 INCLINE, LEVEL, SPEED는
철커덕 : User_Weight, 담당자, 지연, Extra_Weight
이죽은 리프트 : 각 ID의 경우
을 Weight_Lifted 만이있을 수 있습니다 하나의 "방법". 이것을 적용하면 위의 질문을 참조하십시오.
방법으로 무엇을 의미합니까? 테이블에 ID, A, B 만 있으면 c, d, e, f, g, h, i, j, m은 어디에서 왔습니까? – YavgenyP
여기에 잘못된 질문을하고있을 수 있습니다. "X 데이터를 저장해야합니다. 최적의 스키마는 무엇입니까?" 문맥이 없기 때문에 도움이 되기는 어렵 기 때문에 ABCDEFGHIJM이 무엇인지 전혀 모르겠지만 아주 잘못된 방향으로 가고있는 것처럼 들립니다. –
시운전을 기록하고 ID, A 및 B가 항상 모든 실행의 일부라고 가정합니다. 그러나 실행이 방법 1로 수행 된 경우 C, D 및 E 열에 값을 저장해야합니다. 두 번째 방법이 F, G, H, I 등의 열을 필요로하는 경우와 다른 데이터 유형이 될 수 있습니다. – user17753