Information Schema

Information Schema는 현재 데이터베이스의 객체(테이블, 칼럼, 제약 조건, 루틴, 권한 등)에 대한 메타데이터를 제공하는 읽기 전용 뷰의 집합이다. Information Schema는 SQL 표준(ISO/IEC 9075-11)으로 정의되어 있어 이식성이 높고 안정적이다. 이는 CUBRID에 특화되어 있고 구현상의 고려 사항을 반영하여 설계된 시스템 카탈로그와 대비된다.

-- 사용자 'PUBLIC'이 소유한 테이블
SELECT table_name, table_type
FROM information_schema.tables
WHERE table_schema = 'PUBLIC';

-- 'game' 테이블의 칼럼
SELECT column_name, data_type, is_nullable
FROM information_schema.columns
WHERE table_name = 'game'
ORDER BY ordinal_position;

Information Schema 뷰

다음 표는 Information Schema 뷰를 요약한 것이다. 각 뷰의 자세한 내용은 아래 설명을 참고한다.

뷰 이름

설명

column_privileges

칼럼에 정의된 권한

columns

각 테이블의 칼럼

domains

사용자 정의 도메인

foreign_servers

외부 서버 정보

key_column_usage

제약 조건이 있는 키 칼럼

parameters

루틴의 매개변수

partitions

테이블 파티션 정보

referential_constraints

외래 키 정보

routine_privileges

루틴에 정의된 권한

routines

루틴 정보

schemata

스키마 정보

sequences

시퀀스 정보

statistics

테이블 인덱스 통계

synonyms

동의어 정보

table_constraints

제약 조건이 있는 테이블

table_privileges

테이블에 정의된 권한

tables

테이블 정보

triggers

트리거 정보

views

뷰 정보

column_privileges

column_privileges 뷰는 현재 사용자가 부여하거나 부여받은 칼럼 권한을 제공한다. CUBRID는 칼럼 단위 권한을 지원하지 않으므로 이 뷰는 항상 비어 있다.

칼럼명

데이터 타입

설명

grantor

VARCHAR(32)

grantee

VARCHAR(32)

table_catalog

VARCHAR(255)

table_schema

VARCHAR(32)

table_name

VARCHAR(255)

column_name

VARCHAR(255)

privilege_type

VARCHAR(7)

is_grantable

VARCHAR(3)

columns

columns 뷰는 현재 데이터베이스의 모든 테이블과 뷰의 칼럼 정보를 제공한다. 단, 현재 사용자가 소유하거나 접근 권한을 가진 테이블의 칼럼만 표시된다.

칼럼명

데이터 타입

설명

table_catalog

VARCHAR(255)

테이블이 속한 데이터베이스 이름(항상 현재 데이터베이스)

table_schema

VARCHAR(32)

테이블이 속한 스키마 이름

table_name

VARCHAR(255)

테이블 이름

column_name

VARCHAR(255)

칼럼 이름

ordinal_position

INTEGER

테이블 내 칼럼의 순서 위치(1부터 시작)

column_default

VARCHAR(2048)

칼럼의 기본값 표현식

is_nullable

VARCHAR(3)

NOT NULL 제약이 설정되어 있으면 ‘NO’, 그렇지 않으면 ‘YES’

data_type

VARCHAR(16)

칼럼의 데이터 타입

character_maximum_length

BIGINT

문자형 또는 비트열 타입의 최대 문자 길이(그 외 타입은 NULL)

character_octet_length

BIGINT

문자형 타입의 최대 바이트 길이(그 외 타입은 NULL)

numeric_precision

INTEGER

숫자 타입의 정밀도(그 외 타입은 NULL)

numeric_scale

INTEGER

정확한 숫자 타입의 소수 자릿수(그 외 타입은 NULL)

datetime_precision

INTEGER

날짜/시간 타입의 소수 초 정밀도(그 외 타입은 NULL)

character_set_name

VARCHAR(32)

문자형 타입의 문자 집합 이름(그 외 타입은 NULL)

collation_name

VARCHAR(32)

문자형 타입의 콜레이션 이름(그 외 타입은 NULL)

domain_catalog

VARCHAR(255)

미지원(항상 NULL)

domain_schema

VARCHAR(32)

미지원(항상 NULL)

domain_name

VARCHAR(255)

미지원(항상 NULL)

udt_catalog

VARCHAR(255)

미지원(항상 NULL)

udt_schema

VARCHAR(32)

미지원(항상 NULL)

udt_name

VARCHAR(255)

미지원(항상 NULL)

column_type

STRING

칼럼의 데이터 타입. data_type 은 타입 이름만 나타내지만 column_type 은 정밀도나 길이 등의 정보를 함께 나타낸다

column_key

VARCHAR(3)

칼럼이 인덱싱된 방식. ‘PRI’ 는 기본 키 또는 다중 칼럼 기본 키의 구성 칼럼, ‘UNI’ 는 고유 인덱스의 선두 칼럼, ‘MUL’ 은 중복 값을 허용하는 인덱스의 선두 칼럼을 나타낸다. 인덱싱되지 않았거나 다중 칼럼 비고유 인덱스의 보조 칼럼이면 빈 문자열이다. 둘 이상 해당하면 ‘PRI’, ‘UNI’, ‘MUL’ 순으로 우선한다

extra

VARCHAR(255)

공백으로 구분된 플래그 (auto_increment, partition_key)

privileges

VARCHAR(512)

미지원(항상 NULL)

column_comment

VARCHAR(2048)

칼럼 설명

is_generated

VARCHAR(6)

칼럼이 생성 칼럼인지 여부(항상 ‘NEVER’)

generation_expression

STRING

미지원(항상 NULL)

is_updatable

VARCHAR(3)

칼럼이 갱신 가능한지 여부(항상 ‘YES’)

is_visible

VARCHAR(3)

숨김(invisible) 칼럼이면 ‘NO’, 아니면 ‘YES’

domains

domains 뷰는 현재 데이터베이스에 정의된 모든 사용자 정의 도메인을 제공한다. CUBRID는 사용자 정의 도메인을 지원하지 않으므로 이 뷰는 항상 비어 있다.

칼럼명

데이터 타입

설명

domain_catalog

VARCHAR(255)

domain_schema

VARCHAR(32)

domain_name

VARCHAR(255)

data_type

VARCHAR(16)

character_maximum_length

BIGINT

character_octet_length

BIGINT

character_set_catalog

VARCHAR(255)

character_set_schema

VARCHAR(32)

character_set_name

VARCHAR(32)

collation_catalog

VARCHAR(255)

collation_schema

VARCHAR(32)

collation_name

VARCHAR(32)

numeric_precision

INTEGER

numeric_precision_radix

INTEGER

numeric_scale

INTEGER

datetime_precision

INTEGER

domain_default

VARCHAR(2048)

udt_catalog

VARCHAR(255)

udt_schema

VARCHAR(32)

udt_name

VARCHAR(255)

domain_comment

VARCHAR(2048)

create_time

DATETIME

update_time

DATETIME

foreign_servers

foreign_servers 뷰는 현재 데이터베이스에 정의된 모든 외부 서버를 제공한다. 단, 현재 사용자가 소유하거나 접근 권한을 가진 서버만 표시된다.

칼럼명

데이터 타입

설명

foreign_server_catalog

VARCHAR(255)

외부 서버가 속한 데이터베이스 이름(항상 현재 데이터베이스)

foreign_server_name

VARCHAR(255)

외부 서버의 이름

foreign_data_wrapper_catalog

VARCHAR(255)

미지원(항상 NULL)

foreign_data_wrapper_name

VARCHAR(255)

미지원(항상 NULL)

foreign_server_type

STRING

미지원(항상 NULL)

foreign_server_version

STRING

미지원(항상 NULL)

authorization_identifier

VARCHAR(32)

외부 서버 소유자명

server_host

VARCHAR(255)

대상 호스트

server_port

INTEGER

대상 포트

server_database

VARCHAR(255)

대상 데이터베이스 이름

server_user

VARCHAR(255)

접속 사용자 이름

server_properties

VARCHAR(2048)

접속 속성

server_comment

VARCHAR(1024)

서버 설명

create_time

DATETIME

외부 서버 생성 시각

update_time

DATETIME

외부 서버 수정 시각

key_column_usage

key_column_usage 뷰는 현재 데이터베이스에서 PRIMARY KEY, UNIQUE, FOREIGN KEY 제약 조건으로 제약된 모든 칼럼을 제공한다. 단, 현재 사용자가 소유하거나 접근 권한을 가진 테이블의 칼럼만 표시된다.

칼럼명

데이터 타입

설명

constraint_catalog

VARCHAR(255)

제약 조건이 속한 데이터베이스 이름(항상 현재 데이터베이스)

constraint_schema

VARCHAR(32)

제약 조건이 속한 스키마 이름

constraint_name

VARCHAR(255)

제약 조건 이름

table_catalog

VARCHAR(255)

이 제약 조건으로 제약되는 칼럼이 속한 테이블의 데이터베이스 이름(항상 현재 데이터베이스)

table_schema

VARCHAR(32)

이 제약 조건으로 제약되는 칼럼이 속한 테이블의 스키마 이름

table_name

VARCHAR(255)

이 제약 조건으로 제약되는 칼럼이 속한 테이블의 이름

column_name

VARCHAR(255)

이 제약 조건으로 제약되는 칼럼의 이름

ordinal_position

INTEGER

제약 조건 키 내 칼럼의 순서 위치(1부터 시작)

position_in_unique_constraint

INTEGER

외래 키 제약 조건인 경우 참조되는 고유 제약 조건 내 칼럼의 순서 위치(1부터 시작), 그 외에는 NULL

referenced_table_schema

VARCHAR(32)

제약 조건이 참조하는 스키마 이름(외래 키가 아니면 NULL)

referenced_table_name

VARCHAR(255)

제약 조건이 참조하는 테이블 이름(외래 키가 아니면 NULL)

referenced_column_name

VARCHAR(255)

제약 조건이 참조하는 칼럼 이름(외래 키가 아니면 NULL)

parameters

parameters 뷰는 현재 데이터베이스의 모든 프로시저와 함수의 매개변수 정보를 제공한다. 단, 현재 사용자가 소유하거나 접근 권한을 가진 루틴의 매개변수만 표시된다.

칼럼명

데이터 타입

설명

specific_catalog

VARCHAR(255)

루틴이 속한 데이터베이스 이름(항상 현재 데이터베이스)

specific_schema

VARCHAR(32)

루틴이 속한 스키마 이름

specific_name

VARCHAR(255)

루틴의 고유 이름

ordinal_position

INTEGER

루틴의 인자 목록 내 매개변수의 순서 위치(1부터 시작)

parameter_mode

VARCHAR(5)

매개변수 모드 (IN: 입력, OUT: 출력, INOUT: 입출력)

is_result

VARCHAR(3)

매개변수가 함수의 반환값인지 여부(항상 ‘NO’)

parameter_name

VARCHAR(255)

매개변수 이름

data_type

VARCHAR(16)

매개변수의 데이터 타입

character_maximum_length

BIGINT

문자열 매개변수의 최대 문자 길이(항상 NULL)

character_octet_length

BIGINT

문자열 매개변수의 최대 바이트 길이(항상 NULL)

character_set_name

VARCHAR(32)

문자열 매개변수의 문자 집합(항상 NULL)

collation_name

VARCHAR(32)

문자열 매개변수의 콜레이션(항상 NULL)

numeric_precision

INTEGER

숫자 매개변수의 정밀도(항상 NULL)

numeric_scale

INTEGER

숫자 매개변수의 소수 자릿수(항상 NULL)

datetime_precision

INTEGER

날짜/시간 타입의 소수 초 정밀도(그 외 타입은 NULL)

dtd_identifier

VARCHAR(1024)

미지원(항상 NULL)

routine_type

VARCHAR(9)

루틴의 종류 (PROCEDURE, FUNCTION)

parameter_default

VARCHAR(2048)

매개변수의 기본값 표현식(없으면 NULL)

parameter_comment

VARCHAR(1024)

매개변수 설명

partitions

partitions 뷰는 현재 데이터베이스의 파티션된 테이블의 모든 파티션을 제공한다. 단, 현재 사용자가 소유하거나 접근 권한을 가진 테이블의 파티션만 표시된다.

칼럼명

데이터 타입

설명

table_catalog

VARCHAR(255)

테이블이 속한 데이터베이스 이름(항상 현재 데이터베이스)

table_schema

VARCHAR(32)

테이블이 속한 스키마 이름

table_name

VARCHAR(255)

파티션된(상위) 테이블 이름

partition_name

VARCHAR(255)

파티션 이름

partition_ordinal_position

INTEGER

테이블 내 파티션의 순서 위치(항상 NULL)

partition_method

VARCHAR(5)

파티셔닝 방식 (HASH, RANGE, LIST)

partition_expression

VARCHAR(2048)

파티션 키 표현식

partition_description

STRING

RANGE/LIST 파티션의 경계값, HASH 파티션은 NULL

subpartition_name

VARCHAR(255)

미지원(항상 NULL)

subpartition_ordinal_position

INTEGER

미지원(항상 NULL)

subpartition_method

VARCHAR(5)

미지원(항상 NULL)

subpartition_expression

VARCHAR(2048)

미지원(항상 NULL)

table_rows

BIGINT

파티션의 추정 행 수

avg_row_length

BIGINT

추정 평균 행 길이(바이트)

data_length

BIGINT

추정 총 데이터 길이(바이트)

data_free

BIGINT

추정 여유 공간(바이트)

tablespace_name

VARCHAR(255)

미지원(항상 NULL)

partition_comment

VARCHAR(1024)

파티션 설명

create_time

DATETIME

파티션 생성 시각

update_time

DATETIME

파티션 수정 시각

referential_constraints

referential_constraints 뷰는 현재 데이터베이스의 모든 참조(외래 키) 제약 조건을 제공한다. 단, 현재 사용자가 참조하는 테이블을 소유하거나 그에 대해 SELECT 외의 권한을 가진 제약 조건만 표시된다.

칼럼명

데이터 타입

설명

constraint_catalog

VARCHAR(255)

제약 조건이 속한 데이터베이스 이름(항상 현재 데이터베이스)

constraint_schema

VARCHAR(32)

제약 조건이 속한 스키마 이름

constraint_name

VARCHAR(255)

제약 조건 이름

unique_constraint_catalog

VARCHAR(255)

외래 키가 참조하는 고유 또는 기본 키 제약 조건이 속한 데이터베이스 이름(항상 현재 데이터베이스)

unique_constraint_schema

VARCHAR(32)

외래 키가 참조하는 고유 또는 기본 키 제약 조건이 속한 스키마 이름

unique_constraint_name

VARCHAR(255)

외래 키가 참조하는 고유 또는 기본 키 제약 조건의 이름

match_option

VARCHAR(7)

외래 키의 매칭 옵션 (NONE, PARTIAL, FULL)

update_rule

VARCHAR(9)

외래 키의 갱신 규칙 (RESTRICT, NO ACTION, SET NULL)

delete_rule

VARCHAR(9)

외래 키의 삭제 규칙 (CASCADE, RESTRICT, NO ACTION, SET NULL)

table_name

VARCHAR(255)

참조하는 테이블

referenced_table_name

VARCHAR(255)

참조되는 테이블

routine_privileges

routine_privileges 뷰는 현재 사용자가 부여하거나 부여받은 프로시저와 함수에 대한 권한을 제공한다. 루틴, 부여자(grantor), 피부여자(grantee)의 조합마다 한 행이 있다.

칼럼명

데이터 타입

설명

grantor

VARCHAR(32)

권한을 부여한 사용자

grantee

VARCHAR(32)

권한을 부여받은 사용자

specific_catalog

VARCHAR(255)

루틴이 속한 데이터베이스 이름(항상 현재 데이터베이스)

specific_schema

VARCHAR(32)

루틴이 속한 스키마 이름

specific_name

VARCHAR(255)

루틴의 고유 이름

routine_catalog

VARCHAR(255)

루틴이 속한 데이터베이스 이름(항상 현재 데이터베이스)

routine_schema

VARCHAR(32)

루틴이 속한 스키마 이름

routine_name

VARCHAR(255)

루틴 이름

privilege_type

VARCHAR(7)

권한의 종류(항상 EXECUTE)

is_grantable

VARCHAR(3)

피부여자가 권한을 다른 사용자에게 부여할 수 있는지 여부(항상 ‘NO’)

routines

routines 뷰는 현재 데이터베이스의 모든 프로시저와 함수를 제공한다. 단, 현재 사용자가 소유하거나 접근 권한을 가진 루틴만 표시된다.

칼럼명

데이터 타입

설명

specific_catalog

VARCHAR(255)

루틴이 속한 데이터베이스 이름(항상 현재 데이터베이스)

specific_schema

VARCHAR(32)

루틴이 속한 스키마 이름

specific_name

VARCHAR(255)

루틴의 고유 이름

routine_catalog

VARCHAR(255)

루틴이 속한 데이터베이스 이름(항상 현재 데이터베이스)

routine_schema

VARCHAR(32)

루틴이 속한 스키마 이름

routine_name

VARCHAR(255)

루틴 이름

routine_type

VARCHAR(9)

루틴의 종류 (PROCEDURE, FUNCTION)

data_type

VARCHAR(16)

함수의 반환 데이터 타입(프로시저는 NULL)

character_maximum_length

BIGINT

문자열 반환값의 최대 문자 길이(항상 NULL)

character_octet_length

BIGINT

문자열 반환값의 최대 바이트 길이(항상 NULL)

character_set_name

VARCHAR(32)

문자열 반환 타입의 경우 반환값의 문자 집합

collation_name

VARCHAR(32)

문자열 반환값의 콜레이션(항상 NULL)

numeric_precision

INTEGER

숫자 반환값의 정밀도(항상 NULL)

numeric_scale

INTEGER

숫자 반환값의 소수 자릿수(항상 NULL)

datetime_precision

INTEGER

날짜/시간 타입의 소수 초 정밀도(그 외 타입은 NULL)

dtd_identifier

VARCHAR(255)

미지원(항상 NULL)

routine_body

VARCHAR(8)

루틴 본문의 유형(항상 EXTERNAL)

routine_definition

STRING

PL/CSQL 소스 텍스트

external_name

STRING

루틴의 외부 이름(없으면 NULL)

external_language

VARCHAR(64)

루틴의 구현 언어 (PLCSQL, JAVA)

parameter_style

VARCHAR(3)

루틴의 매개변수 전달 방식(항상 SQL)

is_deterministic

VARCHAR(3)

DETERMINISTIC으로 선언되었으면 ‘YES’, 아니면 ‘NO’

sql_data_access

VARCHAR(17)

SQL 데이터 접근 수준 (NO SQL, CONTAINS SQL, READS SQL DATA, MODIFIES SQL DATA)

sql_path

STRING

미지원(항상 NULL)

security_type

VARCHAR(7)

루틴이 실행되는 보안 컨텍스트 (INVOKER, DEFINER)

routine_comment

VARCHAR(1024)

루틴 설명

created

DATETIME

루틴 생성 시각

last_altered

DATETIME

루틴 수정 시각

definer

VARCHAR(32)

루틴의 소유자

참고

routine_definition은 PL/CSQL 소스 코드를 노출하므로 DBA 또는 루틴 소유자에게만 표시된다. 그 외 사용자에게는 NULL이다.

schemata

schemata 뷰는 현재 데이터베이스의 모든 스키마를 제공한다. 단, 현재 사용자가 소유하거나 접근 권한을 가진 스키마만 표시된다.

칼럼명

데이터 타입

설명

catalog_name

VARCHAR(255)

스키마가 속한 데이터베이스 이름(항상 현재 데이터베이스)

schema_name

VARCHAR(32)

스키마 이름

schema_owner

VARCHAR(32)

스키마 소유자명

default_character_set_catalog

VARCHAR(255)

기본 문자 집합이 속한 데이터베이스 이름(항상 현재 데이터베이스)

default_character_set_schema

VARCHAR(255)

기본 문자 집합이 속한 스키마 이름(항상 NULL)

default_character_set_name

VARCHAR(32)

데이터베이스의 기본 문자 집합

sql_path

STRING

미지원(항상 NULL)

schema_comment

VARCHAR(1024)

스키마 설명

create_time

DATETIME

스키마 생성 시각

참고

CUBRID에서 스키마는 데이터베이스 사용자와 동일하다.

sequences

sequences 뷰는 현재 데이터베이스에 정의된 모든 시퀀스를 제공한다. 단, 현재 사용자가 소유하거나 접근 권한을 가진 시퀀스만 표시된다.

칼럼명

데이터 타입

설명

sequence_catalog

VARCHAR(255)

시퀀스가 속한 데이터베이스 이름(항상 현재 데이터베이스)

sequence_schema

VARCHAR(32)

시퀀스가 속한 스키마 이름

sequence_name

VARCHAR(255)

시퀀스 이름

data_type

VARCHAR(16)

시퀀스의 데이터 타입(항상 NUMERIC)

numeric_precision

INTEGER

시퀀스 데이터 타입의 정밀도(항상 38)

numeric_precision_radix

INTEGER

정밀도가 표현되는 기수(항상 10)

numeric_scale

INTEGER

시퀀스 데이터 타입의 소수 자릿수(항상 0)

start_value

NUMERIC(38,0)

시퀀스의 시작값

minimum_value

NUMERIC(38,0)

시퀀스의 최솟값

maximum_value

NUMERIC(38,0)

시퀀스의 최댓값

increment

NUMERIC(38,0)

시퀀스의 증가값

cycle_option

VARCHAR(3)

시퀀스가 순환하면 ‘YES’, 아니면 ‘NO’

is_cached

VARCHAR(3)

캐시가 활성화되어 있으면 ‘YES’, 아니면 ‘NO’

sequence_comment

VARCHAR(1024)

시퀀스 설명

create_time

DATETIME

시퀀스 생성 시각

update_time

DATETIME

시퀀스 수정 시각

참고

CUBRID의 시리얼 객체는 이 뷰에 시퀀스로 표시된다. AUTO_INCREMENT 칼럼에 연결된 시퀀스는 표시되지 않는다.

statistics

statistics 뷰는 현재 데이터베이스의 테이블 인덱스 정보를 제공한다. 각 인덱스의 칼럼마다 한 행이 있다. 단, 현재 사용자가 소유하거나 접근 권한을 가진 테이블의 인덱스만 표시된다.

칼럼명

데이터 타입

설명

table_catalog

VARCHAR(255)

테이블이 속한 데이터베이스 이름(항상 현재 데이터베이스)

table_schema

VARCHAR(32)

테이블이 속한 스키마 이름

table_name

VARCHAR(255)

테이블 이름

non_unique

INTEGER

인덱스가 중복을 허용하지 않으면 0, 허용하면 1

index_schema

VARCHAR(32)

인덱스가 속한 스키마 이름

index_name

VARCHAR(255)

인덱스 이름

seq_in_index

INTEGER

인덱스 내 칼럼의 순서 위치(1부터 시작)

column_name

VARCHAR(255)

인덱스에 포함된 칼럼 이름

collation

VARCHAR(1)

인덱스 내 칼럼의 정렬 순서 (A: 오름차순, D: 내림차순)

cardinality

INTEGER

인덱스의 추정 고유 값 수

sub_part

INTEGER

칼럼을 접두(prefix) 인덱싱한 경우 인덱싱된 문자 수, 전체 칼럼을 인덱싱하면 NULL

nullable

VARCHAR(3)

인덱스 칼럼이 NULL을 허용하면 ‘YES’, 아니면 ‘NO’

index_type

VARCHAR(32)

인덱스 방식(항상 BTREE)

comment

VARCHAR(1024)

시스템이 생성하는 인덱스 정보(CUBRID에서는 항상 NULL)

index_comment

VARCHAR(1024)

인덱스 설명

is_visible

VARCHAR(3)

인덱스가 옵티마이저에 보이면 ‘YES’, 아니면 ‘NO’

expression

VARCHAR(1023)

함수 기반 인덱스의 표현식(일반 칼럼은 NULL)

filter_condition

STRING

필터 인덱스의 조건식(필터 인덱스가 아니면 NULL)

deduplicate_level

INTEGER

인덱스의 중복 제거(deduplicate) 옵션 레벨

create_time

DATETIME

인덱스 생성 시각

update_time

DATETIME

인덱스 수정 시각

access_time

DATETIME

미지원(항상 NULL)

synonyms

synonyms 뷰는 현재 데이터베이스에 정의된 모든 동의어를 제공한다. 단, 현재 사용자가 소유하거나 공용(public)인 동의어만 표시된다.

칼럼명

데이터 타입

설명

synonym_catalog

VARCHAR(255)

동의어가 속한 데이터베이스 이름(항상 현재 데이터베이스)

synonym_schema

VARCHAR(32)

동의어가 속한 스키마 이름

synonym_name

VARCHAR(255)

동의어 이름

is_public_synonym

VARCHAR(3)

공용 동의어이면 ‘YES’, 아니면 ‘NO’

target_catalog

VARCHAR(255)

대상 객체가 속한 데이터베이스 이름(항상 현재 데이터베이스)

target_schema

VARCHAR(32)

대상 객체가 속한 스키마 이름

target_name

VARCHAR(255)

대상 객체의 이름

synonym_comment

VARCHAR(2048)

동의어 설명

create_time

DATETIME

동의어 생성 시각

update_time

DATETIME

동의어 수정 시각

table_constraints

table_constraints 뷰는 현재 사용자가 소유하거나 SELECT 외의 권한을 가진 테이블에 속한 모든 PRIMARY KEY, UNIQUE, FOREIGN KEY 제약 조건을 제공한다.

칼럼명

데이터 타입

설명

constraint_catalog

VARCHAR(255)

제약 조건이 속한 데이터베이스 이름(항상 현재 데이터베이스)

constraint_schema

VARCHAR(32)

제약 조건이 속한 스키마 이름

constraint_name

VARCHAR(255)

제약 조건 이름

table_catalog

VARCHAR(255)

테이블이 속한 데이터베이스 이름(항상 현재 데이터베이스)

table_schema

VARCHAR(32)

테이블이 속한 스키마 이름

table_name

VARCHAR(255)

테이블 이름

constraint_type

VARCHAR(11)

제약 조건의 종류 (PRIMARY KEY, UNIQUE, FOREIGN KEY)

is_deferrable

VARCHAR(3)

제약 조건을 지연할 수 있는지 여부(항상 ‘NO’)

initially_deferred

VARCHAR(3)

제약 조건이 초기 지연 상태인지 여부(항상 ‘NO’)

enforced

VARCHAR(3)

제약 조건이 적용되면 ‘YES’, 아니면 ‘NO’

참고

PRIMARY KEY, UNIQUE, FOREIGN KEY 제약 조건만 표시되며, CHECK 제약 조건은 표시되지 않는다.

table_privileges

table_privileges 뷰는 현재 사용자가 부여하거나 부여받은 테이블 또는 뷰 권한을 제공한다. 테이블, 부여자(grantor), 피부여자(grantee)의 조합마다 한 행이 있다.

칼럼명

데이터 타입

설명

grantor

VARCHAR(32)

권한을 부여한 사용자

grantee

VARCHAR(32)

권한을 부여받은 사용자

table_catalog

VARCHAR(255)

테이블이 속한 데이터베이스 이름(항상 현재 데이터베이스)

table_schema

VARCHAR(32)

테이블이 속한 스키마 이름

table_name

VARCHAR(255)

테이블 이름

privilege_type

VARCHAR(7)

권한의 종류 (SELECT, INSERT, UPDATE, DELETE, ALTER, INDEX, EXECUTE)

is_grantable

VARCHAR(3)

피부여자가 다른 사용자에게 권한을 부여할 수 있으면 ‘YES’, 아니면 ‘NO’

tables

tables 뷰는 현재 데이터베이스에 정의된 모든 테이블과 뷰를 제공한다. 단, 현재 사용자가 소유하거나 접근 권한을 가진 테이블과 뷰만 표시된다.

칼럼명

데이터 타입

설명

table_catalog

VARCHAR(255)

테이블이 속한 데이터베이스 이름(항상 현재 데이터베이스)

table_schema

VARCHAR(32)

테이블이 속한 스키마 이름

table_name

VARCHAR(255)

테이블 이름

table_type

VARCHAR(12)

테이블의 종류 (BASE TABLE, VIEW, SYSTEM TABLE, SYSTEM VIEW)

table_rows

BIGINT

추정 행 수

avg_row_length

BIGINT

추정 평균 행 길이(바이트)

data_length

BIGINT

추정 총 데이터 길이(바이트)

data_free

BIGINT

추정 여유 공간(바이트)

auto_increment

NUMERIC(38,0)

다음 AUTO_INCREMENT 값(해당하지 않으면 NULL)

table_collation

VARCHAR(32)

테이블의 기본 콜레이션

create_options

VARCHAR(255)

OID 재사용 설정(REUSE_OID 또는 DONT_REUSE_OID)과 TDE 설정(ENCRYPT=NONE, ENCRYPT=AES, ENCRYPT=ARIA)을 포함하는, 공백으로 구분된 테이블 생성 옵션 목록

is_temporary

VARCHAR(3)

테이블이 임시 테이블인지 여부(항상 ‘NO’)

table_comment

VARCHAR(2048)

테이블 설명

create_time

DATETIME

테이블 생성 시각

update_time

DATETIME

테이블 수정 시각

statistics_strategy

VARCHAR(8)

통계 수집 방식 (SAMPLING, FULLSCAN)

last_analyzed

DATETIME

테이블의 통계 정보 갱신 시각

triggers

triggers 뷰는 현재 사용자가 소유하거나 SELECT 외의 권한을 가진 테이블에 정의된 모든 트리거를 제공한다.

칼럼명

데이터 타입

설명

trigger_catalog

VARCHAR(255)

트리거가 속한 데이터베이스 이름(항상 현재 데이터베이스)

trigger_schema

VARCHAR(32)

트리거가 속한 스키마 이름

trigger_name

VARCHAR(255)

트리거 이름

event_manipulation

VARCHAR(8)

트리거를 발생시키는 이벤트 (INSERT, UPDATE, DELETE)

event_object_catalog

VARCHAR(255)

트리거가 정의된 테이블이 속한 데이터베이스 이름(항상 현재 데이터베이스)

event_object_schema

VARCHAR(32)

트리거가 정의된 테이블이 속한 스키마 이름

event_object_table

VARCHAR(255)

트리거가 정의된 테이블의 이름

event_object_column

VARCHAR(255)

UPDATE OF 절의 대상 칼럼(그 외에는 NULL)

action_order

INTEGER

미지원(항상 NULL)

action_condition

STRING

트리거의 WHEN/IF 조건(없으면 NULL)

action_statement

STRING

트리거가 실행하는 문장

action_orientation

VARCHAR(9)

트리거가 행마다 발생하는지 문장마다 발생하는지 (ROW, STATEMENT)

action_timing

VARCHAR(8)

트리거가 발생하는 시점 (BEFORE, AFTER, DEFERRED)

action_reference_old_table

VARCHAR(3)

미지원(항상 NULL)

action_reference_new_table

VARCHAR(3)

미지원(항상 NULL)

action_reference_old_row

VARCHAR(3)

이전 행을 참조하는 데 사용되는 별칭(항상 OLD)

action_reference_new_row

VARCHAR(3)

새 행을 참조하는 데 사용되는 별칭(항상 NEW)

definer

VARCHAR(32)

트리거의 소유자

trigger_comment

VARCHAR(1024)

트리거 설명

create_time

DATETIME

트리거 생성 시각

update_time

DATETIME

트리거 수정 시각

참고

이 뷰에는 INSERT, UPDATE, DELETE (DML) 트리거만 표시된다. CUBRID는 COMMIT, ROLLBACK 트리거도 지원하지만 여기에는 표시되지 않는다.

views

views 뷰는 현재 데이터베이스에 정의된 모든 뷰를 제공한다. 단, 현재 사용자가 소유하거나 접근 권한을 가진 뷰만 표시된다.

칼럼명

데이터 타입

설명

table_catalog

VARCHAR(255)

뷰가 속한 데이터베이스 이름(항상 현재 데이터베이스)

table_schema

VARCHAR(32)

뷰가 속한 스키마 이름

table_name

VARCHAR(255)

뷰 이름

view_definition

STRING

뷰를 정의하는 질의 표현식

check_option

VARCHAR(8)

뷰의 WITH CHECK OPTION 설정: CASCADED, LOCAL, 또는 CHECK OPTION이 정의되어 있지 않으면 NONE

is_updatable

VARCHAR(3)

뷰가 갱신 가능한지 여부(항상 NULL)

definer

VARCHAR(32)

뷰의 소유자

view_comment

VARCHAR(2048)

뷰 설명

create_time

DATETIME

뷰 생성 시각

update_time

DATETIME

뷰 수정 시각

참고

CUBRID는 뷰의 갱신 가능 여부를 고정 값으로 저장하지 않으므로 is_updatable은 항상 NULL이다.