_db_attribute

속성에 대한 정보를 표현하며 class_of, attr_name에 대한 인덱스가 생성되어 있다.

속성명

데이터 타입

설명

class_of

_db_class

속성이 속한 클래스.

attr_name

VARCHAR (255)

속성명.

attr_type

INTEGER

속성이 정의된 타입. 인스턴스 속성이면 0, 클래스 속성이면 1, 공유 속성이면 2이다.

from_class_of

_db_class

상속받은 속성이면 그 속성이 정의되어 있는 상위 클래스가 설정되며, 상속받지 않은 것이면 NULL이다.

from_attr_name

VARCHAR(255)

상속받은 속성이며 이름 충돌(name conflict)이 발생하여 이를 해결하기 위해 그 속성명이 바뀐 경우, 상위 클래스에 정의된 원래 이름이 설정된다. 그 이외에는 모두 NULL이 설정된다.

def_order

INTEGER

속성이 클래스에 정의된 순서로 0부터 시작한다. 상속받은 속성이면 그 상위 클래스에서 정의된 순서를 따른다. 예를 들어, 클래스 y가 클래스 x로부터 속성 a를 상속받고 a는 x에서 첫 번째로 정의되었을 때 def_order는 0이 된다.

data_type

INTEGER

속성의 데이터 타입. 아래의 'CUBRID가 지원하는 데이터 타입' 표에서 명시하는 value 중 하나이다.

default_value

VARCHAR (255)

기본값. 데이터 타입에 관계없이 모두 문자열로 저장된다. 기본값이 없으면 NULL, 기본값이 NULL이면 'NULL'로 표현된다. 데이터 타입이 객체 타입이면 'volume id | page id | slot id', 집합 타입이면 '{element 1, element 2, …}'로 표현된다.

domains

SEQUENCE OF _db_domain

데이터 타입에 대한 도메인 정보.

is_nullable

INTEGER

not null 제약이 설정되어 있으면 0, 그렇지 않으면 1이 설정된다.

CUBRID가 지원하는 데이터 타입

의미

의미

1

INTEGER

13

MONETARY

2

FLOAT

18

SHORT

3

DOUBLE

20

OID

4

STRING

22

NUMERIC

5

OBJECT

23

BIT

6

SET

24

VARBIT

7

MULTISET

25

CHAR

8

SEQUENCE

26

NCHAR

9

ELO

27

VARNCHAR

10

TIME

31

BIGINT

11

TIMESTAMP

32

DATETIME

12

DATE

33

BLOB

 

 

34

CLOB

CUBRID가 지원하는 문자 세트

의미

0

US English - ASCII encoding

3

Latin 1 - ISO 8859 encoding

4

KSC 5601 1990 - EUC encoding

예제

다음 예제에서는 사용자 'PUBLIC'이 소유하고 있는 클래스 중에서 사용자 클래스(from_class_of.is_system_class = 0)인 것을 검색한다.

SELECT class_of.class_name, attr_name
FROM _db_attribute
WHERE class_of.owner.name = 'PUBLIC' AND FROM _class_of.is_system_class = 0
ORDER BY 1, def_order;
class_of.class_name   attr_name
============================================
  'female_event'        'code'
  'female_event'        'sports'
  'female_event'        'name'
  'female_event'        'gender'
  'female_event'        'players'