Background Image

FORUM

조회 수 9856 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
안녕하세요..
SQL문에 대한 질문입니다...

메인 테이블
(
    메인유니크코드
    좌변카테고리코드
    좌변서브카테고리코드
    좌변세율코드
    코멘트
    우변세율코드
    우변서브카테고리코드
    우변카테고리코드
)

카테고리 테이블
(
    카테고리유니크코드
    카테고리명
)

서브카테고리 테이블
(
    서브카테고리유니크코드
    서브카테고리명
    카테고리코드
)

세율테이블
(
    세율유니크코드
    세율명
    세율퍼센트
)

위와 같이 테이블이 있습니다.
제일 위에 메인테이블에 카테고리, 서브카테고리, 세율의 코드와 각각의 테이블의 프라이머리키가 맵핑이 되는데
메인테이블에 보시다시피 좌변과 우변으로 나뉘어 따로따로 맵핑이 됩니다.
이런 경우 각 맵핑되는 조건별로 전부 조인을 걸어줘야 하나요?
  • ?
    웁쓰 2009.12.16 22:31
    안녕하세요. 지니보이님 두번째 답변을 달게 되는것 같습니다.
    올려주신 DB구조를 설계하실때 주의 하실 사항이 있습니다. 카테고리 설계시 메인 카테고리와 하위카테고리를 분리 하신것 같습니다. 그러다 보니 메인 테이블에서 FK로 두 테이블의 PK를 사용하게 되겠지요.

    DB 설계시 ARC 타입 설계시 위와 같은 경우는 주의를 요합니다. 설계하신 의도가 1차 카테고리와 2차 카테고리만을 원하시는 거라면 메인테이블에서 메인 카테고리관계 테이블을 만들어서 사용하시는게 어떤지 제안 드립니다.

    카테고리 테이블
    (
        카테고리유니크코드 (PK)
        카테고리 depth
        카테고리명
    )
    메인카테고리관계
    (메인유니크코드 FK
     카테고리유니크코드 FK
    )
    를 만들어 사용하신다면 좀 더 유연한 설계가 되지 않을까 생각합니다.

    지금 올리신 글이 잘 이해가 되지 않는다면 다시 댓글 올려주시면 답변 추가하도록 하겠습니다.



    예로
  • ?
    지니보이 2009.12.17 02:21
    웁쓰님...답변 감사드립니다.
    데이타베이스나 프로그래밍 안한지가 오래되서 관계테이블에 대한 개념도
    잘 정립이 안되네요...^^
    웁쓰님의 댓글을 보고 몇가지 궁금한 거 질문드립니다.

    먼저 전제조건이
    1. 서브카테고리는 반드시 메인카테고리에 종속된다.(메인카테고리가 결정되야 서브카테고리의 목록이 결정됩니다.)
    2. 좌변와 우변에 각각 메인과 서브 카테고리가 하나씩 들어간다.(좌변 메인카테고리, 좌변 서브카테고리, 우변 메인카테고리, 우변서브카테고리)
    3. 세율 테이블과 부서 테이블도 메인테이블의 좌변, 우변에 나뉘어서 들어간다.

    질문입니다...
    1. 위와 같이 설계할 경우 카테고리명이 좌변에 위치하는 지 우변에 위치하는 지 어떻게 구별하나요?
    2. 실제 위와 같이 구현할 경우 데이타 가져오는 SELECT문 예제 하나만 보여주실 수 있나요?
  • ?
    웁쓰 2009.12.17 19:47

    카테고리 테이블
    (
       
    카테고리유니크코드 (PK)
        
    카테고리 depth
       
    카테고리 위치
       
    카테고리명
    )
    좌변과 우변은 카테고리 위치라는 필드로 해결될것 같습니다.

    메인 테이블
    (
       
    메인유니크코드 (PK)
        
    카테고리코드
       
    코멘트
    )

    카테고리 테이블
    (
       
    카테고리유니크코드 (PK)
        
    카테고리 depth (PK)
       
    카테고리 위치 (PK)
        
    세율유니크 코드 ( FK )
       
    카테고리명
    )
    설계 하신다면


    SELECT * FROM
        FROM
    메인테이블 A, 카테고리 테이블 B , 세율테이블 C

    WHERE A.메인유니크코드 = ‘’

    A.카테고리유니크코드 = B.카테고리유니크코드

    B.세율유니크코드 = C.세율유니크코드

    정도로 사용하시면 같습니다.




List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4442
787 윈도우에 등록되는 서비스명 변경이 가능한가요? ^^ 2 노스 2010.11.08 10744
786 Apm_setup7로 자동설치시 연동이 안되는데... 1 또랑 2010.11.08 8277
785 컴파일시 에러가 발생합니다... 28 SoMa 2010.11.08 17475
784 큐브리드 매니저 접속관련 1 가루구 2010.11.06 7338
783 Cannot make connection to master server.... Bad file descriptor T.T 4 노스 2010.11.05 11937
782 SQL질문 1 마이나스 2010.11.05 7143
781 큐브리드 매니저 접속이 안됩니다. 2 김현성 2010.11.04 8315
780 no 컬럼명을 사용해선 안되나요? 2 코딩셔틀 2010.11.03 10044
779 java.lang.ClassNotFoundException 에러가 납니다. 3 코딩셔틀 2010.11.03 20110
778 unisql 6 버전을 큐브리드로 마이그레이션 하는 방법을 찾고있습니다. 1 제발요 2010.11.02 7868
777 php컴파일할려고하면.. 1 SoMa 2010.10.29 7465
776 동시접속 포트 수 문의 1 유니콘 2010.10.29 11924
775 broker 구동이 안되네요 3 히로 2010.10.28 9651
774 primary key의 인덱스에 관한 질문 1 카르마 2010.10.27 12019
773 A provider-specific error occurred 에러 1 file 유니콘 2010.10.26 10262
772 루씬팩 7 SoMa 2010.10.26 8306
771 설치시 에러가 발생합니다. 1 SoMa 2010.10.24 14513
770 server 다운문제 1 김현성 2010.10.19 7631
769 TO_CHAR 관련 질문입니다. 3 노스 2010.10.18 21947
768 SQL 에러 질문 1 카르마 2010.10.16 9958
Board Pagination Prev 1 ... 156 157 158 159 160 161 162 163 164 165 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales