2. DBMS이야기/04. CUBRID

04. CUBRID의 카탈로그와 테이블

OSSW(Open Source System SoftWare 2014. 9. 26. 00:09

안녕하세요~ 오늘은 CUBRID의 시스템 카탈로그에 대해 알아볼게요~


시스템 카탈로그란?

 스키마 정보를 보관한 시스템 테이블

 질의를 통한 스키마 정보 조회


 테이블 정보 (오라클의 DBA_TABLES)

_db_class

주요 필드 : class_name, owner_name

 컬럼 정보 (오라클의 DBA_TAB_COLUMNS)

_db_attribute

주요 필드 : class_name, attr_name, attr_type

 기타

_db_vclass (오라클의 DBA_VIEWS)

_db_index (오라클과 동일합니다)

_db_index_key (DBA_IND_COLUMNS)

_db_trig (오라클의 DBA_TRIGGERS)

_db_partition (오라클의 DBA_TAB_PARTITIONS)

_db_stored_procedure (오라클의 DBA_SOURCE)

_db_auth  (오라클의 DBA_TAB_PRIVS)


다음은 테이블에 대해 알아볼게요

 create table 명령으로 생성

 테이블 복제: 테이블 생성후 insert … select 수행 (Insert Table As Select...)

 storage 관련 option 지원 않함.


예) create table dept (

dept_id int not null unique,

dept_name varchar(100) default ‘’,

seq_no int auto_increment not null,

cre_date date default systime ;


alter table 명령으로 테이블 변경

 필드 타입 변경

 새 테이블 생성을 통한 변경 : 필드 순서 유지

 새 필드 생성을 통한 변경 : 필드 순서 변경됨


create table <새테이블> (<새 타입을 가지는 필드를 포함한 필드 정보들>)

insert into <새테이블> select … from <이전테이블> // 필요한 경우 cast() 등 사용

drop table <이전테이블>

rename table <테이블이름> as <새 테이블이름>

CUBRID는 as / ORACLE은 to 를 쓰는게 다릅니다


컬럼을 추가/삭제/변경은 다음과 같이 합니다

alter table <테이블이름> add atrribute <필드명> <필드타입> [속성]

column 대신에 attribute란 용어를 사용해요

alter table <테이블이름> rename attribute <필드명> as <새 필드명>


alter table <테이블이름> change <필드명> default <새 값>

modify 대신에 change라는 용어를 사용해요


alter table <테이블이름> drop attribute <필드명>


다음 시간에는 SQL에 대해 알아볼게요~


출처 : 큐브리드 교육메뉴얼                                 (by 진준호 2014.09.26)