Q&A

  • 이런 경우 어떻게 DB설계를..
비슷한 예를 들자면 이런경우인데,

A형상품 에는 필드가 상품이름, 크기, 가격... 등
B형상품 에는 필드가 상품이름, 생산지, 회사 등
C형상품 에는 필드가 상품이름, 판매처, 무게 등..

이런 식으로 각 상품들 마다 필드가 같은 것도 있지만 거의 틀립니다.
물론 개수도 틀립니다.
그리고, 각 상품 타입은 사용자가 유동적로 추가할 수 있어야 합니다.

저번에 비슷한 경우에는 필드명 저장하는 테이블 하나,
값 저장 하는 테이블 하나에 각각 필드두개씩 만들어서
아래와 같은 식으로 ,딜리미터써서 처리를 했는데,
비효율적이고, 개노가다가 아닐 수 없었습니다.

A형,상품이름|크기|가격 --> 필드명 저장하는 테이블에
B형,상품이름|생산지|회사
.
.
.

A형,컵라면|33|500 ---> 값 저장하는 테이블
A형,우유|10|500
B형,쥬스|서울|회사
.
.
.

이런 경우 어떻게 DB화 하는지,,,
제발 도움을 ㅠ.ㅠ
1  COMMENTS
  • Profile
    열심히 2002.11.19 04:05
    비슷하긴 하지만 저라면 이렇게 하겠네요..

    일단 테이블은 두개가 필요합니다.

    그래서 상품을 등록하는 테이블(이하 상품테이블)에는 적당한 수의 필드를 만들어야 겠지요..

    값을 넣어주는 필드를 늘리고 싶다면 스토드 프로시져를 날려주던지 필드 수는 동적으로 날려서 생성합니다...

    그리고 다른 테이블에는 자료유형(이하 분류테이블)을 집어넣는 것이지요 근데 여기서 다른 점은 조인을 코드로 하는게 아니라 분류코드로 하는거지염

    A 상품 | 값1 | 값2 | 등...(상품테이블)

    A 상품 | 생산지 | 회사 | 등...(분류 테이블) 이런식이 아니구요.

    상품 테이블과 분류테이블에 분류코드 필드를 두는 겁니다.

    A 상품 | 분류코드 | 값1 | 값2 | 등...(상품테이블)

    분류코드 | 생산지 | 회사 | 등...(분류 테이블)

    쿼리를 짤떄 분류코드로  조인을 하고 분류코드 집에넣는데서 사용자가 마음껏 집어넣을수 있는데로 집어넣고요..

    상품등록할때 분류코드만 넣어주면 되지염...만족하신 답이 됐는지 모르겠네염.. ^^