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
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 48
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
1013 SpingFrameWork에서 Mybatis 사용시 Merge문 사용과 관련된 에러 문의드립니다. 1 file 고대장 2021.10.13 791
1012 Spatial Extensions 지원하나요? 2 온니발란스 2010.02.09 14299
1011 SYS_TIME 출력 시 문의사항 1 오렌지 2021.07.01 147
1010 SYSTEM PARAMETERS 확인방법이 있나요? 1 봉보로봉봉 2017.07.29 453
1009 SUBQUERY 튜닝 관련 문의 6 secret yscoma 2017.03.30 20
1008 SSL 혹은 SSH와 같이 암호화 커넥션을 지원하나요? 1 아장아장 2010.09.03 12990
1007 SQL질문 1 마이나스 2010.11.05 7143
1006 SQL작성시 버벅거림 문의드립니다. 1 file 용이닷 2015.09.09 5816
1005 SQL문에 대해 질문 드립니다.. 5 ohgeumjin 2020.05.29 117
1004 SQL문 문의 2 아라천 2015.12.16 5155
1003 SQLGate에서 서버오류 발생합니다 1 file 두듀두듀듀 2022.10.09 104
1002 SQLGate 데이터 내보내기 오류 1 써늬니 2022.10.25 167
1001 SQLGate for CUBRID (CUBRID v9.3 and later) 폐쇄망 사용법? 1 임소식 2024.01.18 78
1000 SQLGate Developer 업데이트 후 오류 1 문태환 2021.11.15 169
999 SQL 행, 10분이상 지연 시 해제 및 설정 방법 문의 드립니다 2 kdman 2023.12.06 108
998 SQL 쿼리 속도문제 1 칭칭이 2013.10.17 10314
997 SQL 질문 1 삼월토끼 2014.05.12 6957
996 SQL 인라인뷰 응답속도 개선 문의 6 knight 2013.12.07 13270
995 SQL 에러 질문 1 카르마 2010.10.16 9958
Board Pagination Prev 1 ... 145 146 147 148 149 150 151 152 153 154 ... 200 Next
/ 200

Contact Cubrid

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