제품 여행

기획연재[4] CUBRID 제품 분석 – CSQL 인터프리터

by cubebridge posted Jan 25, 2010

CUBRID의 구조에 대해서 간략하게 맛보았다. 모든 DBMS 사용자가 DB에 접속하려고 책상 앞에 앉았다면, 가장 먼저 찾는 것이 무엇일까? 어떤 것이나 마찬가지겠으나 우리는 DBMS와 소통이 필요하다.(몇 년째 화두인…^^) 소통의 통로를 각 DBMSsqlplus, mysql, pgsql 등의 인터프리터로 만들어 놓았다. CSQL이란 바로 이와 같이 사용자와 DBMS가 소통할 수 있는 기본적인 통로라 할 수 있겠다. 물론 많은 3rd party툴과 이미 1회에서 소개했던 여러 가지 오픈 소스 툴을 이용하여 CUBRD와 소통할 수도 있겠으나 조금 더 가까이에서 조금 더 깊게 DBMS를 건드려 보도록 하자.

 

CSQL을 무엇에 쓸 것인가? 크게 두 가지를 위해 CSQL은 사용된다.

1.     SQL명령어를 수행하기 위해서 사용된다.

2.     DBA가 관리를 위해 수행하는 업무를 받아들이는 통로로 사용된다.

 

1번은 3rd party의 다양한 툴들이 해결해 줄 수 있는 문제이겠지만… 2번의 경우는 오직 CUBRID를 위해서만 제공되는 CSQL에서만 가능한 것이다.

 

CSQLCUBRID Manager Client, 3rd party 툴 등과의 차이점은 무엇인가?

-       CSQL Broker를 통하지 않고 DB에 직접 접속한다. Broker에서의 발생하는 문제는 CSQL접속에 아무런 영향을 주지 못한다.

 

그럼 기본적으로 CSQL을 이용하여 CUBRID에 접속하는 기본적인 방법을 살펴보도록 하자.

CUBRID사용 계정(설치계정)에서 csql명령어를 이용하여 접속한다. csql에는 다양한 옵션이 있다. 상세한 옵션은 온라인 매뉴얼을 참조하고 간단히 접속하는 방법을 설명하겠다.

Shell>csql demodb         -> CUBRID에서 기본적으로 제공하는 demodb public계정으로 접속하는 방법이다. 추가 옵션은 매뉴얼을 참조

위와 같이 접속하면 아래와 같은 화면이 덩그러니 뜨게 될 것이다.

terminal.jpg

DBMS에서 제공하는 기본 인터프리터의 공통점이라 하면 접속하고도 각 DBMS에 특화된 기능을 모르면 사용할 수 없다는 것이다. 처음 접하는 사용자 역시 CSQL 사용이 쉽지 않을 터 사용할 수 있는 기본적인 방법을 간략하게 설명하겠다.

1.     CSQL의 모든 명령어는 ;(세미콜론)이 후 명령어를 적어 수행한다.(;help를 이용하여 명령어를 볼 수 있다)

2.     모든 쿼리 수행 후에는 줄을 바꿔 ;x 또는 ;ru를 수행하여야 실행이 되어 결과를 볼 수 있다.

3.     ;x는 명령어 수행 후 buffer에 작성한 쿼리를 남기지 않고 삭제하는 것이고 ;ru는 명령어 수행 후에 buffer에 작성한 쿼리를 남겨두어 재사용할 수 있게 하는 것이다.

4.     재사용 방법은 ;edit를 이용한다. ;edit를 이용하면 vi편집창이 생길 것이고 ;ru로 수행한 경우 수행했던 쿼리들이 남아 있을 것이다.

 

쿼리의 실행과 편집에 대해서 설명했다. 이밖에 파일에서 구문 읽고 저장하기, 덧붙이기와 Shell명령 실행, 등록. 트랜젝션 처리, 스키마정보, sytax규칙출력 및 예제, parameter설정 등 CUBRID Manager나 기타 단순 쿼리편집기 툴에서 제공하는 이상의 기능을 제공한다. 위의 모든 기능을 여기서 설명할 수 없고 꼭 큐브리드 홈페이지에서 온라인 매뉴얼을 통하여 CSQL을 접해볼 것을 권장한다.

소통을 위해서는 서로를 알아야 하거늘~ 매뉴얼을 접하기 전과 후에 CUBRID는 느낌이 다를 것이다.^^

다음 시간에는 CUBRID제어에 대해서 간략하게 소개하도록 하겠다.