드로우홀릭 더베이직
안녕하세요.
궁금한 것이 있어 문의드립니다.
예를들면, 임의의 테이블에 위치라는 필드가 있습니다.
여기서 1번 레코드에 값을 넣고 싶은데, 이때 값이 단일 값이 아니라, x/y/z 방향의 값 3개를 (10,5,8) 위치 필드에 넣고 싶은데 가능할까요?
필드를 위치x, 위치y, 위치z 이렇게 3개 만들어서 값을 넣는 방법이 맞을지 아니면 다른 방법이 있을지 궁금합니다.
위 예는 값이 고정된 갯수라 아는 상태인데 만약 값이 좀 긴 경우(1,2,3,4,5,6,7,8,9.... 또는 1D 룩업테이블 비슷) 는 필드에 어떻게 넣을 수 있을까요?
시스템의 파라미터를 관리/입력하기 위해 데이터 모델링을 검토하고 있습니다.
차량 시스템에서 단일값을 갖는 파라미터 이외, 1D loopup table로 값을 갖는 파라미터가 있습니다. 파라미터에 따라 20~ 500 개 까지 값을 갖는 행렬(1byX 또는 Xby1)로 볼 수 있겠네요. 이런 경우에 파라미터 값이라는 필드에 단일값은 쉽게 입력이 가능하겠지만 서로다른 행렬 길이를 갖는 파라미터는 값필드에 어떻게 저장할지가 고민입니다.
추가로 폼에서 데이터를 입력할때, 입력칸에 표시되는 값들을 보이지 않게 디폴트로 할 수 있는 방법이 있나요? 저만 궁금한건지 모르겠네요. 폼을 만들고 데이터를 입력할때 기존 데이터들이 표시되어 있어 헷갈리지 않을까 하는 생각을 계속하고 있습니다.
















일단, 비즈니스 로직을 설명해 주지 않으셔서, 정확한 답변이 어렵다는 것을 양해해 주십시오.
일단, 값 3개를 한 필드에 입력하는 것은 전혀 권장하지 않습니다.
그 값을 사용하려면 다시 분리해야 하기 때문입니다.
그럼에도 불구하고 반드시 그렇게 해야겠다면, 나름의 규칙을 만들어서 저장하면 됩니다.
x/y/z
x|y|z
어떤 것이든 좋습니다.
여기에 더해서 값이 길다면, 이런 방식으로 해도 되겠습니다만..
원칙적으로 테이블을 분리하는 것이 맞습니다.
비즈니스 로직을 가정해 보겠습니다.
어떤 제품 A를 생산하는데, 부품들이 a, b, c가 있다고 가정해 보겠습니다.
제품 B는 부품이 a, b, c, d, e가 있을 수 있겠죠. (하위 부품의 수는 N개라는 의미입니다.)
이것을 말씀하신 대로 다음과 같은 테이블 구조를 갖게 할 수 있습니다.
그러나 앞서 말씀드린 대로, 이것은 전혀 권장하지 않습니다.
저라면 다음과 같이 '품목' 테이블과 '부품구성' 테이블로 나누어 저장하겠습니다.
먼저 '품목' 테이블입니다.
그 다음은 '부품구성' 테이블입니다.
'부품구성코드'는 '부품구성' 테이블의 기본키 입니다.
각 행이 어떤 '품목'과 연관된 데이터인지 표시하기 위해 '품목코드'를 같이 기록해 놓는 것입니다.
이런 방식이 정석에 가까운 방식이긴 합니다.
하지만, 비즈니스 로직을 모르기에, 확실한 것은 아닙니다.
비즈니스 로직에 따라, 'a/b/c' 식으로 저장하는 것이 나을 수도 있습니다. (확률은 희박하지만)