Background Image

FORUM

2009.03.31 05:17

데이터 구조 질문

조회 수 10571 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요. 수고가 많으십니다.

몇가지 궁금한게 있어서 질문 드립니다.

class a 는 컬럼 a1 , a2 , a3

class b 는 컬럼 b1 , b2 , b3

class c 는 컬럼 c1 , c2 , c3

class a에 인스턴스 입력시 a2 자리에 class b 에 있는 b1, b2, b3 의 인스턴스를 참조하고 싶은데요.
(인스턴스가 없을때는 바로 입력)

여기서 class b의 b2컬럼은 c1, c2, c3의 인스턴스를 참조합니다.

예를 들면  class a (a1,(b1,(c1,c2,c3),b3),a3) 와 같은 형태가 되는 것입니다.

이런 형태의 데이터 구조가 되게 할려면 어떻게 해야하는지 궁금합니다.

insert into a (a1, a2, a3) values (1,???,2);

그리고 비슷한 구조인데

class a는 컬럼 a1, a2, a3

class b는 컬럼 b1, b2, b3

class c는 컬럼 c1, c2, c3

class d는 컬럼 d1

a2는 class d d2로부터 상속 받습니다.

class a에 인스턴스 입력시 a2 자리에 class b 에 있는 b1, b2, b3 의 인스턴스를 참조하고 싶을 때 어떻게 해야 하는 지 궁금합니다.

감사합니다.

 

  • ?
    flypig 2009.03.31 19:15

    저의 개발 경험을 살려 답변을 드립니다.

    아래 질문은 크게 두개의 질문으로 요약이 될 것 같습니다.

     

    처음 질문은 큐브리드에서 말하는 object reference를 이용하면 될 것 같구요 다음과 같이 하시면 될 것 같습니다.

     

    데이터 타입은 임의로 integer로 지정하였으니 원하시면 변경하여도 됩니다.

     

    Create class C(

        C1 int,

        C2 int,

        C3 int

    );

     

    Create class B(

        B1 int,

        B2 C,

        B3 int

    );

     

    Create class A(

        A1 int,

        A2 B,

        A3 int

    );

     

    위와 같이 CREATE구문을 만들시고 질의 편집기를 이용하여 실행하시면 3개의 테이블이 생성됩니다. 중요한 것은 문장을 생성하는 순서이구요 참조되는 테이블이 먼저 생성되어야 한다는 것이지요.

     

    입력하는 방법은 간단합니다. 중첩 입력을 이용하시면 되는데 간단하게 valuse절이 insert구문을 사용하시면 됩니다. 입력하는 방법은 몇가지가 있을 것 같은데 일단 두개만 설명을 드리면 다음과 같습니다.

     

    Insert into A values(1, insert into B values(1, insert into C values(1,2,3),100), 1000);

     

    위와 같이 입력을 하시면 3개의 테이블에 데이터가 입력이 되고 서로 연결이 됩니다.

     

    다른 하나는 하나씩 입력을 하고 리턴되는 값을 이용하는 방법입니다.

    insert into C values(1,2,3) into :X1;

    insert into B values(1,:X1,100) into :X2;

    insert into A values(1, :X2, 1000);

     

    위와 같이 실행하시면 같은 결과를 얻을 수 있습니다.

     

    입력된 데이터를 조회하는 방법은 PATH Expression을 통해서 할 수 있습니다.

     

    Select a1, a2.b1, a2.b1.c1, a3 from A;

     

    위와 같이 하시면 될 것 같구요 2번째 내용도 위의 내용을 으용하시면 좋을 것 같은데 상속은 클래스에서 상속이 가능하니 객체지향에 대한 문서를 큐브리드에 요청하시어 좀 더 살펴 보시는 것이 좋을 것 같네요.

     

     

     

     


  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views49
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4458
    read more
  3. 테이블 파티션 추가 문의

    Date2010.04.09 By초보 Views10470
    Read More
  4. 오라클과 큐브리드중 어느걸 도입해야하는지 고민중입니다.

    Date2010.03.16 By신의손 Views10475
    Read More
  5. mysql 구문변환

    Date2010.02.03 By초보 Views10478
    Read More
  6. 리눅스 설치 확인 부탁 드립니다.

    Date2010.02.12 ByPhilip Park Views10483
    Read More
  7. 초보질문 - insert할때 질문

    Date2009.07.02 Byrusell Views10487
    Read More
  8. RANK 함수 관련 질문드립니다.

    Date2013.06.11 By이종진 Views10487
    Read More
  9. jboss 7.1 + cubrid 연동문의

    Date2014.05.26 Bykhs0324 Views10487
    Read More
  10. MSSQL같이 레코드 복사는 안 되나요?

    Date2014.03.28 By하늘나무 Views10491
    Read More
  11. mysql로 마이그레이션하는방법좀..

    Date2009.12.14 By썬해바라기 Views10493
    Read More
  12. systimestamp 함수로 현재시간을 불러올 경우 에러가 발생합니다.

    Date2011.01.28 By노랑배 Views10495
    Read More
  13. 마이그레이션 툴문의

    Date2010.03.23 Bywebdoors Views10497
    Read More
  14. cubrid 2008 R 2.1에서 2.2 버전으로 업그레이드 문의

    Date2010.06.04 By종이 Views10498
    Read More
  15. database 시동이 안되요 1

    Date2009.04.04 By나상숙 Views10498
    Read More
  16. broker error

    Date2014.02.26 By쪼로롱 Views10502
    Read More
  17. 질의 편집기로 부질의 유도테이블 쿼리실행에 대해

    Date2009.09.17 ByChans Views10503
    Read More
  18. 9.1 가져오기 / 내보내기

    Date2014.05.13 Bybellstar Views10507
    Read More
  19. IF문 관련 질문입니다.

    Date2014.02.18 By뿌잉 Views10517
    Read More
  20. 데이타 올리기로 데이타 삽입후 db_serial 변경 문의

    Date2010.04.08 By초보 Views10521
    Read More
  21. [해결됨] 3.0 -> 3.1 이전중에 문제가 발생해서 현재 업무 마비상태 입니다.

    Date2011.03.25 Byreerror Views10530
    Read More
  22. 컬럼 데이터타입 수정 문의

    Date2011.12.05 By지렸당께 Views10537
    Read More
Board Pagination Prev 1 ... 143 144 145 146 147 148 149 150 151 152 ... 200 Next
/ 200

Contact Cubrid

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