Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 

DB_INDEX_KEY

데이터베이스 내에서 현재 사용자가 접근 권한을 가진 클래스에 대해 생성된 인덱스에 대한 키 정보를 보여준다.

속성명

데이터 타입

설명

index_name

VARCHAR(255)

인덱스명

class_name

VARCHAR(255)

인덱스가 속한 클래스명

key_attr_name

VARCHAR(255)

키를 구성하는 속성의 이름

key_order

INTEGER

키에서 속성이 위치한 순서. 0부터 시작함

asc_desc

VARCHAR(4)

속성 값의 순서가 내림차순이면 ‘DESC’, 그렇지 않으면 ‘ASC’

key_prefix_length

INTEGER

키로 사용할 prefix의 길이

func

VARCHAR(255)

함수 기반 인덱스의 함수 표현식

정의

CREATE VCLASS db_index_key (index_name, class_name, key_attr_name, key_order, key_prefix_length, func)

AS

SELECT k.index_of.index_name, k.index_of.class_of.class_name, k.key_attr_name, k.key_order

CASE k.asc_desc

WHEN 0 THEN 'ASC'

WHEN 1 THEN 'DESC' ELSE 'UNKN' END,

k.key_prefix_length, k.func

FROM _db_index_key k

WHERE (CURRENT_USER = 'DBA' OR

    {k.index_of.class_of.owner.name}

    subseteq (

        SELECT set{CURRENT_USER} + coalesce(sum(set{t.g.name}), set{})

        from db_user u, table(groups) as t(g)

        where u.name = CURRENT_USER ) OR {k.index_of.class_of}

        subseteq (

            SELECT sum(set{au.class_of})

            FROM _db_auth au

            WHERE {au.grantee.name} subseteq (

                SELECT set{CURRENT_USER} + coalesce(sum(set{t.g.name}), set{})

                from db_user u, table(groups) as t(g)

                where u.name = CURRENT_USER ) AND

            au.auth_type = 'SELECT'));

예제

다음 예제에서는 클래스의 인덱스 키 정보를 검색한다.

SELECT class_name, key_attr_name, index_name
FROM db_index_key
ORDER BY class_name, key_order;
  'athlete'             'code'                'pk_athlete_code'
  'city'                'city_name'           'pk_city_city_name'
  'db_serial'           'name'                'pk_db_serial_name'
  'db_user'             'name'                'i_db_user_name'
  'event'               'code'                'pk_event_code'
  'female_event'        'code'                'pk_event_code'
  'game'                'host_year'           'pk_game_host_year_event_code_athlete_code'
  'game'                'event_code'          'fk_game_event_code'
  'game'                'athlete_code'        'fk_game_athlete_code'
 …