database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
ㆍCache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Cache Q&A 41 게시물 읽기
No. 41
Re: 예제 클래스들을 보실려면...
작성자
박지훈
작성일
2001-04-29 23:55
조회수
7,231

저는 지난 2년간 Cache(3.x) 를 사용했던 개발자입니다.

(협력업체 근무자라고나 할까요)

주로 VB를 사용해서 OA 프로그램을 개발했습니다.

저 또한 배우는 것이 쉽지 않았는지라

(하이콤-Cache 한국내 디스트리뷰터-에 쫓아다니면서,

또 개발자분 모셔서 식사대접하면서 많은 도움 받았습니다)

이런 자리 마련되었다고 하길레

시작하는 부분에 있어서는 조금이나마 도움이 될 수 있을까 하고 들리는 것입니다.

워낙에 다른 디비들과 다른 부분들이 많아서

처음 공부할때에 많은 애로가 따르기에

그런 부분은 작은 도움을 줄 수 있지 않을까 생각했습니다.

디비에 깊숙히 들어가기 시작하면 저도 같이 헤메야겠죠.

아직까지도 모르는 것이 더 많은지라...

 

제가 프로그램을 접한 것이 Asem -> C -> VB 순서라

Cache를 접하면서 꼭 Asem을 하는 느낌이 들었습니다.

세 언어의 성능의 차이는 아시는 분들은 아실 것입니다.

Cache는 세 언어의 특성을 다 지닌 것 같습니다.

SQL을 사용하는 것은 편의성이나 속도면에서 VB를 사용하는 느낌이고...

Cache Script를 사용하면 C를 사용하는 느낌이고...

순수하게 M 언어 차원에서 Global(data를 저장하는 기본단위라고나 할까요)을

직접 Access하고 처리하면 Assembly 언어를 사용하는 느낌입니다.

Assem이 I/O를 통해 하드웨어 직접 제어하듯이

데이터 쓰여 있는 곳에 물리적으로 접근하여(느낌상 그렇다는 이야깁니다)

다이렉트로 읽고 쓰면서 인텍스를 깨어먹기도 하고(다른 방법으로는 깨먹을 수가 없죠. 데이터가 들어있는 클래스의 구조를 바꾸지 않는 한)

엄청난 장점과 위험이 따르죠.

그만큼 루틴을 작성하기 어렵고 디버깅하기 어렵고 많은 애로사항이 따르지만

만들어놓으면 속도가 그야말로 무제한이라고 할 수 있습니다.

마치 Riva128을 처음 접했을 때 느낌처럼...

Cache 디비는 엄청난 속도광입니다.

 

데이터 베이스에 접근하는 여러가지 방법이 제공되고...

공부하면 할수록 모르는 것이 더 많아지고...

여러모로 쉽지 않은 DB입니다만...

하면 할수록, 어려운 길을 가면 갈수록 더 빛이 난다고나 할까요.

하지만 단순히 SQL문만 사용한다 할지라도 다른 디비보다 더 빠르다고 하네요.

직접 비교해보지는 못했습니다만...

결론적으로 디비의 속도는 설계와 튜닝이 좌우하겠죠?

Cache의 클래스 구조는 설계상으로도 많은 장점을 제공하며

데이터 무결성에 있어서 안정성을 제공하고

데이터 접근 방식에 있어서도 많은 편의를 제공합니다.

-------------------

 

클래스 Sample을 보시려면 Object Architect를 사용하시면 됩니다.

4.0 기준으로 설명하겠습니다.

Cache를 인스톨하면 오른쪽 하단에 Cube(파란색 정육면체 퍼즐모양 아이콘)이 생깁니다. 그 아이콘을 오른쪽 버튼으로 클리하면 메뉴가 뜨는데 그곳에서 Object Architect를 실행합니다.

그러면 어디에 접속할 것인지를 물어보는데...

DB Server의 IP와 Namespace를 지정해주면 됩니다.

 

"새로 만들기"를 선택하신 후에

연결이름 - 원하는이름 아무거나 입력

서버 - Cache가 깔려 있는 서버의 IP(자신이면 물론 127.0.0.1이면 되겠죠)

네임스페이스 - SAMPLES

포트 - 1972(Cache는 공통적으로 이 포트를 사용합니다.)

 

"확인" 버튼을 눌러 입력을 완료하면 접속 아이콘이 하나 생성되는데...

그것을 더블 클릭하거나 "연결" 버튼을 누르면 됩니다.

 

그러면 Object Architect가 실행되면서 클래스들를 보실 수 있습니다.

간단하게 보이는 것들을 설명드린다면

 

왼쪽에 보이는 트리뷰는 클래스 구조를 보여줍니다.

하나의 클래스를 선택하면 오른쪽에 그 내용들이 보여집니다.

 

오른쪽 창에 보이는 탭들을 바꾸면 하나하나 내용들을 볼 수 있습니다.

모두 - 밑의 모든 항목을 모두 보여줌

속성 - 필드라고 보시면 되겠습니다

테이블 = 클래스, 속성 = 필드

라는 개념을 가지고 접근하시면 되겠습니다.

정확히 같지는 않은데...

그것은 쓰시면서 찾아가면서 느낄 수 밖에....

클래스의 이것저것을 보시다 보면

왜 Cache를 Object Database라고 부르기도 하는지 이해가 가실 것입니다.

왜 클래스라고 부르는지도...

메소드 - 클래스 안에 내장된 루틴들

스토아드 프로시저(?) 라고 생각해도 될려나?

Cache scrip를 사용하여 작성되는 클래스 내부 함수라고 할 수 있습니다.

 

매개변수 - 일단은 신경쓰지 마시고 넘어가세요.

쿼리 - SQL문으로 작성되는 쿼리입니다.

오른쪽 마우스를 클릭하여 New Query를 작성해보시면

쿼리를 쉽게 작성해주는 인터페이스를 보실 수 있습니다.

쿼리가 클래스 안에 내장되는 이유는 여러가지 이유가 있겠습니다만

쿼리작성의 편의성이 이유라기보다는

실행시에 SQL문으로 쿼리를 날리면 그것을 분석하여 데이터를 준비합니다.

그 자체도 시간이 걸리죠

클래스 안에 내장된 쿼리는 클래스 컴파일시에 M언어로 번역되어 저장됩니다.

Ado Connection을 통해 SQL문을 보내는 것보다 훨씬 효율적으로 동작합니다.

 

클래스에 내부 항목중에 하나라도 변경되면 클래스는 다시 컴파일 되어야 합니다.

단순히 디비구조만을 선언한다면 MySQL 경우 Create Table, Drop Table로 화일 지우고 쓰면 그만이겠지만... 단순한 테이블이 아니라 Object로 존재하는 Cache의 클래스의 경우에는 컴파일을 해주어야 합니다.

 

데이터형의 경우, 기본 데이터형 이외에 다른 클래스명을 지정한 것들이 있는데

테이블 참조(오래되서 정확한 표현이 생각이 안나네요)라고 보시면 됩니다.

그 속성에 저장되는 데이터는은 참조되는 클래스의 ID가 저장됩니다.

 

GUI환경에서 이루어지므로 이정도 설명이면 샘플을 보는데 무리가 없을 것으로 생각됩니다.

스스로 클래스를 만들어 볼 수도 있겠죠.

저도 이정도 지식만 가지고 지멋대로의 클래스를 만들어 보았었습니다.

 

 

 

 

 

 

>>허정수 님께서 쓰시길<<

 

:: 안녕하세요.~

::

:: 창용님께서 올려주신 16번 문서를 보니...

::

:: 중간에 이런 내용이 나오더군요

::

:: " Already have the User.Person, User.EHistory and User.Dog classes defined in the TRAIN

:: namespace from the previous exercise and that these classes have persistent data associated with

:: them."

::

:: 아직 제가 클래스 만드는 것을 정확히 모르니. 앞에서 언급한 "Previous exercise"를 구해서 공부하면

:: 좋을거 같은데요.... 이 문서 어디서 구할 수 있을가요 --;

::

:: 감사합니다.

::

:: ps. 박지훈님도 창용님이랑 같은 회사 근무하시나요?

[Top]
No.
제목
작성자
작성일
조회
47OBJECT &amp; 케쉐에 대한 책(원서) - AMAZON
이창용
2001-06-07
6432
45캐쉐에서 데이타 import하는 법
궁금이
2001-05-30
6417
46┕>Re: 캐쉐에서 데이타 import하는 법
이창용
2001-05-30 18:07:28
6777
43케쉐 매뉴얼 링크 해 놓았습니다.
이창용
2001-05-28
6947
44┕>Re: 한글화에 고생이 정말 많으십니다.
정재익
2001-05-29 19:25:01
6685
40이 문서는 어디서 구하죠?
허정수
2001-04-30
6592
41┕>Re: 예제 클래스들을 보실려면...
박지훈
2001-04-29 23:55:53
7231
42 ┕>Re: Re: 감사합니다.
허정수
2001-04-30 11:39:22
6859
37리눅스에서 Cach&amp;eacute; 파일크기 제한은?
윤석준
2001-04-29
6739
38┕>Re: 리눅스에서 Cach&amp;eacute; 파일크기 제한은?
박지훈
2001-04-29 16:31:52
7088
39 ┕>Re: Re: 그냥 참고로~
허정수
2001-04-29 21:39:56
7093
34커맨드 모드에서 SQL을 입력하려면?
허정수
2001-04-27
6932
35┕>Re: 커맨드 모드에서 SQL을 입력하려면?
박지훈
2001-04-28 02:12:43
7382
36 ┕>Re: Re: 감사합니다.
허정수
2001-04-28 17:32:31
7100
32Cache 4 manual 을 올렸습니다.
정재익
2001-04-22
7421
33┕>Re: Cache 4 manual 을 올렸습니다.
이창용
2001-04-23 16:54:56
7627
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.053초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다