2010-04-13 7 views
1

스프레드 시트에서 가져온 데이터베이스에 숫자 세트를 저장해야합니다.데이터베이스에 다른 상태를 가질 수있는 숫자 값을 저장하는 방법은 무엇입니까?

때때로 숫자는 숫자입니다. 그러나 다른 경우에는 값이 "누락", "해당 없음"또는 공백이 될 수 있으며 이들 모두가 다른 것을 나타냅니다.

이러한 숫자를 데이터베이스에 저장하는 좋은 방법은 무엇입니까? 원래 나는 N/A만을 설명해야했습니다. 그래서 나는 그것을 수입 할 때 -1로 만들었습니다 (숫자가 분명히 음수가 될 수없는 경우에만 작동합니다). 다른 상태에 대해 다른 음수를 사용할 수 있습니다. 그러나, 그것은 나에게는 clunky 것처럼 보인다.

숫자를 문자열로 저장 한 다음 사용 시간에 변환을 적용해야합니까? 각 값의 다른 상태를 저장하는 일치하는 테이블을 만들어야합니까?

답변

4

당신은 두 개의 필드가 필요합니다 - 상태와 수를 처음부터 나쁜 디자인을 -1을했다 사용

+0

이 보이는 값. 따라서이 Q는 Scott과 관련이 없지만 모두에 해당됩니다. 20 개의 열이있는 경우 20 개의 여분의 상태 열이 필요하며 총 40 개입니까? 너무 많이 보인다. 그래서 원래 상태를 저장하는 별도의 테이블을 갖는 것이 더 깔끔할 것이라고 생각했습니다. 이견있는 사람? –

+0

숫자는 상태가 숫자가 아닌 것처럼 별도의 테이블에 있어야합니다. 숫자 필드에 입력 할 내용이 없습니다. – Mark

2

을 : 당신은 NULL을 사용하고 있어야하고,이 시점에서 그 이유에 대한 상태 코드를 저장하는 보조 열을 추가 할 수 있습니다 NULL 값이 있습니다.

0

문자열을 저장하지 않고 사용하는 경우 최악입니다. 데이터를 사용할 때마다 (영원히) 변환 할 리소스를 사용해야하기 때문입니다.

스토어 두 개의 필드 : 나는 두 필드의 상태와 수를 필요에 동의

NumberValue number 
NumberStatus char(1) -"M"=missing, "N"=n/a, "B"=blank, "V"=have a numeric value 
1

이유 포함 (그래서 KM과 스콧 동의) 당신은 스프레드 시트에서 숫자 아무것도하지만이있는 경우 (이것은 -1과 NULL을 포함합니다), SUM과 average 같은 집계 함수는 정답을주지 못할 것입니다.

숫자가있을 때 누락, N/A 및 숫자가 포함 된 상태를 제공하는 추가 필드가 있으면이 상태를 쿼리 할 수 ​​있습니다. NULL을 사용

는 누락 및 N/A를 구별하지 않을 여기 myuch 사용하지 않은 합의가 나는 두 개의 열이 필요하다는처럼

관련 문제