Background Image

FORUM

조회 수 9857 추천 수 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
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 104
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4468
799 MS-SQL > ORDER BY NEWID() 있는데 큐브리드는 어떻게 적용되는지 1 펌피 2017.09.08 726
798 MS-Access ODBC 연결테이블 2 무말랭이 2014.01.16 12396
797 MODIFY CONSTRAINT 가능한가요? 1 agkim 2013.10.28 12034
796 MERGE INTO문 관련. 3 고늬 2018.03.13 1112
795 MERGE INTO 속도 개선 문의 1 leeee 2023.06.12 129
794 MERGE 쿼리 실행시 중복 입력 오류 3 블루미 2018.01.19 1981
793 MAX_PREPARED_STMT_COUNT Error 문의 1 파랑조아유 2020.01.14 570
792 Log 문의 2 jungsin 2021.06.25 113
791 Locale 확인방법 문의 2 bchlim 2020.07.20 262
790 Linux에 설치된 Cubrid 매니저 접속 속도 문제 3 mcwony 2018.04.10 474
789 Linux상의 export한 cubrid dump파일 문의 1 secret 검풍전기 2012.11.30 9
788 Linux 설치 전 확인 사항에 glibc 버전관련 입니다. 1 어려운큐브 2014.06.18 11876
787 Linux Centso5.1에 설치 중입니다. 1 Philip Park 2010.01.27 8985
786 Linked server 1 벅지 2009.02.20 15582
785 Linked Server 조회시 한글깨짐 3 secret 라면파 2016.06.23 15
784 Like 문이 의도하지 않은 결과값을 반환합니다. 3 이진혁 2010.02.25 12533
783 LOWER 오류가 왜 날까요? 4 초보 2010.01.15 10392
782 LOG 설정 관련 질문입니다. 1 jemin 2023.02.23 90
781 LINQ 지원 문의 1 Aaron 2009.11.10 10704
780 LIMIT사용 시 Outer join query optimization 문의 4 안녕 2024.04.30 44
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