안녕하세요~ 오늘은 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)
'2. DBMS이야기 > 04. CUBRID' 카테고리의 다른 글
05. CUBRID 기동과 정지 (0) | 2014.10.20 |
---|---|
04. CUBRID 시스템 카탈로그 & SQL (0) | 2014.10.05 |
[CUBRID] SQL 타입별 비교 (CUBRID, MySQL, Oracle) (0) | 2014.09.23 |
03. CUBRID 저장구조와 데이터 타입 (0) | 2014.09.20 |
02. CUBRID의 일꾼 - 프로세스 (0) | 2014.08.31 |