_db_class

클래스에 대한 정보를 표현하며 class_name에 대한 인덱스가 생성되어 있다.

속성명

데이터 타입

설명

class_of              

object

클래스 객체로서 시스템 내부에 저장된 클래스에 대한 메타 정보 객체를 의미한다.

inst_attr_count

INTEGER

인스턴스 속성의 개수

shared_attr_count

INTEGER

공유 속성의 개수

inst_meth_count

INTEGER

인스턴스 메소드의 개수

class_meth_count

INTEGER

클래스 메소드의 개수

class_attr_count

INTEGER

클래스 속성의 개수

is_system_class

INTEGER

사용자가 정의한 클래스이면 0, 시스템 클래스이면 1

class_type

INTEGER

클래스이면 0, 가상 클래스이면 1

owner

db_user

클래스 소유자

class_name

VARCHAR(255)

클래스명

sub_classes

SEQUENCE OF _db_class

한 단계 하위 클래스

super_classes

SEQUENCE OF _db_class

한 단계 상위 클래스

inst_attrs             

SEQUENCE OF _db_attribute

인스턴스 속성

shared_attrs

SEQUENCE OF _db_attribute

공유 속성

class_attrs

SEQUENCE OF _db_attribute

클래스 속성

inst_meths

SEQUENCE OF _db_method

인스턴스 메소드

class_meths

SEQUENCE OF _db_method

클래스 메소드

meth_files

SEQUENCE OF _db_methfile

메소드에 대한 함수가 위치한 파일 경로

query_specs

SEQUENCE OF _db_queryspec

가상 클래스인 경우 그 SQL 정의문

indexes

SEQUENCE OF _db_index

클래스에 생성된 인덱스

예제

다음 예제에서는 사용자 'PUBLIC'이 소유하고 있는 클래스의 모든 하위 클래스를 검색한다(결과로 보이는 하위 클래스 female_event는 ADD SUPERCLASS 절의 예제를 참조한다).

SELECT class_name, SEQUENCE(SELECT class_name FROM _db_class s WHERE s IN c.sub_classes)
 FROM _db_class c
 WHERE c.owner.name = 'PUBLIC' AND c.sub_classes IS NOT NULL;
  class_name            sequence((select class_name from _db_class s where s in c.sub_classes))
============================================
  'event'               {'female_event'}

참고 시스템 카탈로그 클래스에 대한 모든 예제는 csql 프로그램에서 작성되었는데, 여기에서는 --no-auto-commit (auto-commit 모드 비활성화), -u (사용자 dba를 명시) 옵션을 사용하였다.

% csql --no-auto-commit -u dba demodb