'시스템카탈로그'에 해당되는 글 1건

  1. 2006.03.24 | DB2 UDB 시스템 카탈로그에서 유용한 정보를 얻는 방법

DB2 기초:

  DB2 UDB 시스템 카탈로그에서 유용한 정보를 얻는 방법


난이도 : 초급

Roman Melnyk, DB2 Information Development, IBM Canada Ltd.

2004 년 11 월 02 일

IBM® DB2® Universal Database™(UDB)는 시스템 카탈로그(system catalog)라고 하는 특별한 테이블을 관리하고 있다. 데이터베이스 객체들을 설명하는 메타데이터들이 포함된 이 테이블들은 두 개의 뷰를 정의하고 있다. SYSCAT 스키마 하의 읽기 전용 뷰와 SYSSTAT 스키마 하의 업데이트 가능한 뷰가 바로 그것이다. 이 글에서는 DB2 UDB 시스템 카탈로그를 소개하고 이 풍부한 데이터베이스 정보의 보고가 어떻게 발굴되는지를 설명한다. (명령행 또는 DB2 Control Center를 사용하여) 카탈로그를 쿼리하는 방법도 예제를 통해 설명한다.

머리말

데이터베이스에 대한 거의 모든 것은 시스템 카탈로그(system catalog)라는 메타데이터 리파지토리에서 찾을 수 있다. 메타데이터는 데이터베이스에 있는 데이터에 대한 정보이다. 데이터와는 별도로 관리된다. 시스템 카탈로그는("카탈로그")는 데이터베이스 매니저에 의해 관리되는 많은 테이블과 뷰로 구성된다. 카탈로그 테이블과 뷰들은 데이터베이스가 만들어 질 때 마다 생성된다. 카탈로그는 테이블, 칼럼, 인덱스 같은 데이터베이스 객체들을 설명하고 액세스 유형에 대한 정보를 포함하고 있다. 데이터베이스 객체들과 권한들이 데이터베이스에 추가되면서 카탈로그 테이블은 커진다. 객체가 생성, 변경, 소멸되면 데이터베이스 매니저는 카탈로그 테이블에 열(row)을 삽입, 업데이트, 삭제한다.

물론 시스템 카탈로그 테이블들을 명확히 생성 또는 소멸시킬 수는 없지만 컨텐트의 쿼리 및 보기가 가능하다. 이러한 뷰에 감춰진 유용한 정보들이 많이 있다. 이 정보들은 데이터베이스를 어떻게 운용해야 하는지를 이해하는데 도움이 된다. 앞으로는 DB2 UDB 시스템 카탈로그에서 유용한 정보를 검색하는 방법을 설명하겠다.






시스템 카탈로그 베이스 테이블(SYSIBM schema)

카탈로그 테이블들은 SYSIBM 스키마 하에 생성되고 SYSCATSPACE 테이블 공간에 저장된다. 파티션으로 나뉜 데이터베이스용 카탈로그 테이블들은 CREATE DATABASE 명령어가 만들어졌던 파티션에만 상주한다. 어떤 카탈로그 테이블들은 부모-자식 관계를 갖고 있다. 예를 들어, 컬럼 레벨 권한을 상세히 설명하는 SYSIBM.SYSCOLAUTH는 SYSIBM.SYSTABAUTH의 자식이다. SYSIBM.SYSTABAUTH는 테이블 레벨 권한을 기록한다.

시스템 카탈로그를 구성하고 있는 많은 테이블들은 데이터베이스 객체에 대한 정보를 저장하고, 그러한 테이블들의 이름들은 각자가 설명하는 객체들을 나타낸다. (SYSINDEXES, SYSTRIGGERS, SYSVIEWS). 이 카탈로그 테이블들은 저장된 데이터의 유형에 기반하여 광범위한 카테고리들로 나뉘어 질 수 있다.

  • 권한(Authorization) 데이터는 SYSDBAUTH(데이터베이스 레벨 권한), SYSTBSPACEAUTH(테이블 공간에 대한 권한), SYSTABAUTH(테이블과 뷰에 대한 권한), SYSCOLAUTH (칼럼 레벨 권한) 같은 테이블에 기록된다.
  • 데이터 유형과 루틴(Data type and routine) 데이터는 SYSDATATYPES(빌트인 데이터 유형과 사용자 정의 데이터 유형), SYSROUTINES(함수 또는 프로시저용), SYSROUTINEPARMS(SYSROUTINES에 리스팅된 루틴들의 일부인 매개변수용) 등의 테이블에 기록된다.
  • 제약조건(Constraint) 데이터는 SYSCHECKS(제약조건 검사), SYSRELS(외래 키 제약조건), SYSKEYCOLUSE(프라이머리 키, 유일 키, 외래 키 제약조건 등에 참여한 칼럼)에 기록된다. 자세한 내용은 DB2 기초: 제약조건을 참조하라.
  • 종속(Dependency) 데이터는 SYSCONSTDEP(몇몇 객체들에 대한 제약조건의 종속관계), SYSDEPENDENCIES(트리거, 함수, 인덱스 또는 몇몇 다른 객체에 대한 인덱스 확장의 종속관계), SYSVIEWDEP(몇몇 객체에 대한 뷰의 종속관계) 같은 테이블에 기록된다.
  • 스토리지(Storage management)관리 데이터는 SYSTABLESPACES(테이블 공간), SYSTABLES(특정 테이블과 연관된 테이블 공간) 같은 테이블에 기록된다. 자세한 내용은 DB2 기초: 테이블과 테이블 공간 상태 분석을 참조하라.
  • 데이터베이스 파티션(Database partition) 데이터는 SYSNODEGROUPS(데이터베이스 파티션 그룹), SYSPARTITIONMAPS(해시 키 값을 데이터베이스 파티션과 제휴시키는 파티셔닝 맵) 같은 테이블에 기록된다.

데이터베이스 매니저는 기본 시스템 카탈로그 테이블의 상단에서 정의된 두 세트의 시스템 카탈로그 뷰들을 생성 및 관리한다. 한 세트의 읽기 전용 뷰는 SYSCAT 스키마 하에서 생성되고, 보다 작은 업데이트 가능한 뷰는 SYSSTAT 스키마 하에서 생성된다. 카탈로그 뷰는 한 개 이상의 카탈로그 테이블에 기반하고 있고 뷰 칼럼 이름들은 카탈로그 테이블에 있는 것과 가끔 다르다. 여러분의 이해를 돕기 위해 두 가지 예제들을 보겠다. 단 한 개의 테이블에 기반한 SYSCAT.KEYCOLUSE 이다. 이 뷰는 SYSIBM.SYSKEYCOLUSE 카탈로그 테이블에 기반하고 있다. 잘 기억해 보면 이 테이블은 프라이머리 키, 유일 키, 외래 키 제한에 참여한 칼럼에 대한 정보를 저장하는데 사용된다. 다음은 뷰의 정의이다.


Listing 1. SYSCAT.KEYCOLUSE 카탈로그 뷰의 정의
create view syscat.keycoluse (constname, tabschema, tabname, colname, colseq) as select constname, tbcreator, tbname, colname, colseq from sysibm.syskeycoluse

이 경우, 다섯 개의 모든 테이블 칼럼들이 이 뷰에 나타나지만 몇몇 이름들은 다르다. 이것은 일관성과 명확성을 위해서만 수행된다.

한 개 이상의 테이블에 기반한 보다 복잡한 뷰의 예제는 SYSCAT.STATEMENTS 이다. 이 뷰는 데이터베이스의 각 패키지에 각각의 SQL문에 대한 정보를 포함하고 있고 SYSIBM.SYSPLAN과 SYSIBM.SYSSTMT 카탈로그 테이블에 기반하고 있다. 다음은 뷰 정의이다.


Listing 2. SYSCAT.STATEMENTS 카탈로그 뷰의 정의
create view syscat.statements
 (pkgschema, pkgname, unique_id, version, stmtno, sectno, seqno, text) as
select s.plcreator, s.plname, s.unique_id, (select p.pkgversion from sysibm.sysplan p where s.plcreator = p.creator and s.plname = p.name and s.unique_id = p.unique_id), s.stmtno, s.sectno, 1, s.text from sysibm.sysstmt s


사용자 중심의 카탈로그 뷰 (SYSCAT schema)

SYSCAT 스키마에는 카탈로그 테이블의 유용한 읽기 전용 뷰가 포함되어 있다. SYSCAT의 모든 뷰들에 대한 SELECT 권한은 PUBLIC에 허용되어 있고 여러분은 이러한 뷰들과 SYSSTAT의 업데이트 가능한 뷰들을 통해서만 시스템 카탈로그와 인터랙팅 해야 한다.

다음 코드는 SAMPLE 데이터베이스에 연결하여 SYSCAT 스키마의 모든 카탈로그 뷰의 리스트를 리턴하는 코드이다.


Listing 3. SYSCAT 스키마의 모든 카탈로그 뷰의 규명
connect to sample list tables for schema syscat or, alternatively: select tabname from syscat.tables where tabschema = 'SYSCAT' connect reset

이 카탈로그 뷰에 대해 제대로 된 쿼리를 하려면 사용 가능한 뷰의 칼럼에 대해 알아야 하고 동시에 뷰의 이름과 목적을 알아야 한다. DB2 UDB 시스템 카탈로그 뷰들은 IBM DB2 Universal Database SQL Reference, Volume 1(pdf)을 참조하거나, 온라인 정보를 선호한다면 DB2 Information Center (follow Reference → SQL → Catalog views → DB2 Universal Database)를 참조하라. 또한 DB2 Control Center (그림 1)에서 카탈로그 뷰를 검사할 수도 있다.


그림 1. 특정 데이터베이스와 제휴된 뷰들은 DB2 Control Center의 컨텐츠 패인과 객체 트리에서 선택된 Views에 나타난다. 이 리스트는 SYSCAT 스키마를 중심으로 필터링되었다.

Open View 윈도우로는 뷰 내용을 자세하게 검사할 수 있고 뷰 칼럼들을 검색할 수 있는 편리한 방식이다. (그림 2)


그림 2. Open View 윈도우가 뷰의 데이터를 볼 수 있는 편리한 방법을 제공한다.

원한다면 뷰 정의에 액세스할 수 있다. 팝업 메뉴에서 Alter를 선택한다. (그림 3)


그림 3. Alter View 윈도우에서 뷰 정의를 볼 수 있다.

권한 데이터 가져오기

앞서 언급했듯이, 어떤 하나의 시스템 카탈로그 뷰에는 유효한 모든 권한 데이터들이 포함되어 있지 않다. 권한과 특권에 대한 메타데이터가 여러 카탈로그 뷰에 포함되어 있더라도 하나의 쿼리로 특권을 가진 모든 권한 ID들을 가져올 수 있고, SUBSTR 빌트인 함수를 사용하여 결과 세트를 포맷팅 할 수 있다.


Listing 4. 특권을 보유한 권한 ID 확인하기
select distinct substr(grantee,1,16) as grantee, granteetype, 'Database' from syscat.dbauth union select distinct substr(grantee,1,16) as grantee, granteetype, 'Table space' from syscat.tbspaceauth union select distinct substr(grantee,1,16) as grantee, granteetype, 'Schema' from syscat.schemaauth union select distinct substr(grantee,1,16) as grantee, granteetype, 'Table' from syscat.tabauth union select distinct substr(grantee,1,16) as grantee, granteetype, 'Index' from syscat.indexauth union select distinct substr(grantee,1,16) as grantee, granteetype, 'Column' from syscat.colauth union select distinct substr(grantee,1,16) as grantee, granteetype, 'Package' from syscat.packageauth union select distinct substr(grantee,1,16) as grantee, granteetype, 'Routine' from syscat.routineauth union select distinct substr(grantee,1,16) as grantee, granteetype, 'Server' from syscat.passthruauth order by grantee, granteetype

GRANTEE GRANTEETYPE 3
---------------- ----------- -----------
MELNYK U Database
MELNYK U Index
MELNYK U Package
MELNYK U Table
MELNYK U Table space
PUBLIC G Database
PUBLIC G Package
PUBLIC G Routine
PUBLIC G Schema
PUBLIC G Table
PUBLIC G Table space
11 record(s) selected.

권한 데이터를 가져올 수 있는 다른 많은 쿼리들도 있다. 두 개의 예제를 더 보자.


Listing 5. 권한 데이터 가져오기
connect to sample Retrieve all authorization names that have explicitly been granted DBADM authority: select distinct grantee from syscat.dbauth where dbadmauth = 'Y' Retrieve a list of the table privileges that you have granted to other users: select * from syscat.tabauth where grantor = user connect reset

데이터 유형과 루틴 데이터 가져오기

시스템 카탈로그 뷰를 사용하여 사용자 정의의 데이터 유형 또는 루틴을 쉽게 가져올 수 있다.


Listing 6. 데이터 유형과 루틴 데이터 가져오기
connect to sample Retrieve information about all user-defined types (that is, types whose schema is not SYSIBM): select typeschema, typename, sourcename, metatype from syscat.datatypes where typeschema != 'SYSIBM' Retrieve information about all user-defined routines (that is, routines whose schema name does not begin with SQL or SYS): select routineschema, routinename, routinetype, origin, language, text from syscat.routines where substr(routineschema,1,3) != 'SQL' and substr(routineschema,1,3) != 'SYS' connect reset

제약조건 데이터 가져오기

또한 시스템 카탈로그 뷰를 사용하여 NOT NULL, 유일 키, 프라이머리 키, 외래 키, 테이블 검사 제약조건에 대한 정보를 가져올 수 있다.


Listing 7. 제약조건 데이터 가져오기
connect to sample Retrieve a list of all the columns that cannot have a null value, in tables that were created by user MELNYK: select substr(tabname,1,16) as tabname, substr(colname,1,16) as colname, nulls from syscat.columns where tabschema = 'MELNYK' and nulls = 'N' Retrieve a list of tables that have unique constraints (other than primary key) defined on them: "select substr(tabschema,1,16) as tabschema, substr(tabname,1,16) as tabname, keyunique from syscat.tables where keyunique > 0" Retrieve all primary keys that are defined for the SAMPLE database. KEYSEQ contains a non-null value if a column is part of the primary key for the table to which it belongs. The value represents the column's numerical position within the primary key: select substr(tabschema, 1, 16) as tabschema, substr(tabname, 1, 16) as tabname, substr(colname, 1, 16) as colname, keyseq from syscat.columns where keyseq is not null Retrieve a list of all the columns that participate in a key defined by a unique, primary key, or foreign key constraint. Identify the constraint name and type, as well as the numeric position of the column in the key (initial position is 1): select substr(k.constname,1,20) as constname, t.type, substr(k.tabname,1,20) as tabname, substr(k.colname,1,16) as colname, k.colseq from syscat.keycoluse k, syscat.tabconst t where k.constname = t.constname Retrieve a list of each table check constraint: select substr(constname,1,20) as constname, substr(tabname,1,20) as tabname, substr(text,1,32) as text from syscat.checks connect reset

종속 데이터 가져오기

시스템 카탈로그 뷰를 사용하여 객체들 간 종속관계에 대한 정보를 가져올 수 있다.


Listing 8. 종속 데이터 가져오기
connect to sample Retrieve a list of all the tables on which the SYSCAT.COLUMNS view depends: select distinct substr(a.tabschema,1,16) as tabschema, substr(a.tabname,1,16) as tabname, a.type, substr(a.tbspace,1,16) as tbspace from syscat.tables a, syscat.viewdep b where a.type = 'T' and a.tabname = b.bname and a.tabschema = b.bschema and b.btype = 'T' and b.viewname = 'COLUMNS' and b.viewschema = 'SYSCAT' connect reset

TABSCHEMA TABNAME TYPE TBSPACE
---------------- ---------------- ---- ----------------
SYSIBM SYSCHECKS T SYSCATSPACE
SYSIBM SYSCOLCHECKS T SYSCATSPACE
SYSIBM SYSCOLPROPERTIES T SYSCATSPACE
SYSIBM SYSCOLUMNS T SYSCATSPACE
4 record(s) selected.

SYSCAT.COLUMNS 뷰에 대해 Show Related 액션을 선택할 때 이 쿼리는 DB2 Control Center에서 생성된 기반의 쿼리와 근본적으로 같다. (그림 4, 5)


그림 4. Show Related 노트북으로 뷰와 다른 객체들 간 1급 종속 관계를 볼 수 있다. 이 경우, SYSCAT.COLUMNS 뷰가 의존하는 카탈로그 테이블의 리스트가 나타난다.


그림 5. Show SQL 윈도우에서 그림 4에 나타난 종속 관계 리스트에 대한 기반 쿼리가 제공된다.

스토리지 관리 데이터 가져오기

시스템 카탈로그 뷰를 사용하여 테이블 공간 같은 스토리지 관리 객체에 대한 정보를 가져올 수 있다.


Listing 9. 스토리지 관리 데이터 가져오기
connect to sample Retrieve information about table spaces associated with the tables that were created by user MELNYK: select substr(t.tabname, 1, 12) as tabname, t.tbspaceid as tsp_id, s.tbspacetype as tsp_type, s.datatype, s.extentsize, s.pagesize, s.dbpgname from syscat.tables t, syscat.tablespaces s where tabschema = 'MELNYK' and type = 'T' and t.tbspaceid = s.tbspaceid connect reset

TABNAME TSP_ID TSP_TYPE DATATYPE EXTENTSIZE PAGESIZE DBPGNAME
------------ ------ -------- -------- ----------- ----------- ------------------
CL_SCHED 2 S A 32 4096 IBMDEFAULTGROUP
DEPARTMENT 2 S A 32 4096 IBMDEFAULTGROUP
EMP_ACT 2 S A 32 4096 IBMDEFAULTGROUP
EMP_PHOTO 2 S A 32 4096 IBMDEFAULTGROUP
EMP_RESUME 2 S A 32 4096 IBMDEFAULTGROUP
EMPLOYEE 2 S A 32 4096 IBMDEFAULTGROUP
IN_TRAY 2 S A 32 4096 IBMDEFAULTGROUP
ORG 2 S A 32 4096 IBMDEFAULTGROUP
PROJECT 2 S A 32 4096 IBMDEFAULTGROUP
SALES 2 S A 32 4096 IBMDEFAULTGROUP
STAFF 2 S A 32 4096 IBMDEFAULTGROUP
11 record(s) selected.

데이터베이스 파티션 데이터 가져오기

시스템 카탈로그 뷰를 사용하여 데이터베이스 파티션과 데이터베이스 파티션 그룹에 대한 정보를 가져올 수 있다.


Listing 10. 데이터베이스 파티션 데이터 가져오기
connect to sample Retrieve information about each database partition and the database partition group to which it belongs: select n.dbpgname, substr(n.definer, 1, 16) as definer, n.pmap_id, n.create_time, d.dbpartitionnum, d.in_use from syscat.dbpartitiongroups n, syscat.dbpartitiongroupdef d where n.dbpgname = d.dbpgname connect reset

DBPGNAME DEFINER PMAP_ID CREATE_TIME DBPARTITIONNUM IN_USE
------------------ -------... ------- -------------------------- -------------- ------ IBMCATGROUP SYSIBM 0 2004-10-18-08.27.54.045000 0 Y
IBMDEFAULTGROUP SYSIBM 1 2004-10-18-08.27.54.125000 0 Y
2 record(s) selected.





업데이트 가능한 카탈로그 뷰 (SYSSTAT schema)

SYSSTAT 스키마에는 시스템 카탈로그 테이블에 기반한 소수의 업데이트 가능한 뷰들이 포함되어 있다. 이 뷰들에는 쿼리 옵티마이저에 유용한 통계 정보가 포함된 칼럼들이 있다. 이 옵티마이저는 특정 테이블의 데이터 분산에 대한 정보 또는 인덱스 칼럼들을 사용한다. (칼럼들이 열 선택 또는 테이블 조인(join)에 개입되어 있을 경우). 이 정보들을 사용하여 특정 쿼리에 대한 다른 데이터 액세스의 비용들을 비교한다.

이러한 통계 값을 변경하여 옵티마이저를 제어하거나, 개발 또는 테스트 환경에서 데이터베이스 퍼포먼스를 파악하는 것에도 관심이 있을 것이다. 사실, SQL UPDATE문을 사용하여 업데이트 가능한 카탈로그 뷰에서 통계 칼럼의 값들을 변경할 수 있다. 테이블에 대한 CONTROL 특권이 있다면 그 테이블에 관련된 값들을 업데이트 할 수 있다. 하지만 그 데이터베이스에 대해 명확한 DBADM 권한을 보유하고 있다면 업데이트 가능한 칼럼 어느 것이라도 변경할 수 있다.

runstats 유틸리티는 시스템 카탈로그 테이블의 통계들을 업데이트 하여 쿼리 최적화 프로세스를 만드는데 사용된다. 어떤 통계든 직접 업데이트 하기 전에 RUNSTATS 명령어를 호출하는 것이 좋다. 시작 포인트가 정확히 현재 상태를 반영하도록 하기 위함이다.

업데이트 가능한 카탈로그 뷰를 사용하여 퍼포먼스를 최적화 하는 자세한 방법은 이 글에서는 그만 설명하겠다. DB2 UDB 제품 라이브러리를 참조하기 바란다.





시스템 카탈로그로의 액세스 제어

데이터베이스가 만들어지면 시스템 카탈로그 뷰에 대한 SELECT 특권은 PUBLIC에 주어진다.(그림 6) 데이터베이스에 민감한 데이터가 포함되어 있다면 카탈로그 뷰로의 액세스에 제한을 두어야 한다. 이 카탈로그는 데이터베이스에 있는 모든 객체를 설명하기 때문이다. PUBLIC 에서 SELECT 특권을 취소한 후에 이 특권을 특정 사용자에게 부여한다. 시스템 카탈로그 뷰에 대한 SELECT 권한을 허용 또는 취소하려면 DBADM 또는 SYSADM 권한이 있어야 한다.


그림 6. View Privileges 노트북에서는 뷰에 대한 권한을 보거나 변경할 수 있다.

사용자의 권한 ID에 명확히 SELECT 특권이 부여된 모든 테이블의 이름을 포함하고 있는 뷰를 생각해 보자. Listing 11의 코드는 MYSELECTS라는 뷰를 만들어 낸다. 이 뷰는 또 다른 뷰인 SYSCAT.TABAUTH 카탈로그 뷰에 기반하고 있다. 우리는 U 라는 수혜자 유형(사용자의 U를 의미한다. 그룹일 경우 G가 된다.)을 지정하고 USER(런타임 권한 ID를 지정하는 특별 레지스터)라는 수혜 값을 지정한다. 또한 SELECT 권한 플래그가 YES로 설정된 열을 정렬한다.

일단 MYSELECTS 뷰가 만들어지면 이 뷰와 SYSCAT.TABLES 뷰에서 데이터를 가져오는 쿼리를 만들 수 있다. 두 개 이상의 테이블에서 동시에 데이터를 가져오는 쿼리를 join 이라고 한다. 우리는 join을 통해 MYSELECTS 뷰에서 테이블 스키마와 이름 값을 가져오고, SYSCAT.TABLES 뷰에서 상응하는 테이블 유형(뷰의 경우 V)도 가져온다. 이 경우, 쿼리는 한 개의 열을 리턴하는데 이것은 우리가 만들었던 뷰에 상응한다. 이것은 SELECT 권한을 권한 ID MELNYK에 부여한 유일한 테이블 또는 뷰이다.

마지막으로 모든 권한 ID에 MYSELECTS 뷰를 활성화 할 수 있고 PUBLIC에서 기본 뷰(SYSCAT.TABAUTH)에 대한 SELECT 권한을 취소할 수 있다. 기본 뷰에 대한 간단한 쿼리로 사용자 MELNYK와 PUBLIC이 MYSELECTS 뷰에 대해 SELECT 권한을 갖고 있다는 것이 확인된다. 그 ID가 뷰 생성자이기 때문이고, SELECT 권한이 PUBLIC에 명확하게 주어졌기 때문이다.


Listing 11. SYSCAT.TABAUTH 시스템 카탈로그 뷰에 기반한 뷰의 생성 및 사용
create view myselects as select tabschema, tabname from syscat.tabauth where granteetype = 'U' and grantee = user and selectauth = 'Y' select m.tabschema, m.tabname, t.type from myselects m, syscat.tables t where m.tabschema = t.tabschema and m.tabname = t.tabname

TABSCHEMA TABNAME TYPE
------------... ----------... ----
MELNYK MYSELECTS V
1 record(s) selected.

grant select on table myselects to public revoke select on table syscat.tabauth from public select tabschema, tabname, selectauth, grantee from syscat.tabauth where tabname = 'MYSELECTS'

TABSCHEMA TABNAME SELECTAUTH GRANTEE
------------... ----------... ---------- -------...
MELNYK MYSELECTS Y MELNYK
MELNYK MYSELECTS Y PUBLIC 2
record(s) selected.





요약

DB2 UDB 시스템 카탈로그는 데이터베이스 객체들을 설명하는 테이블들의 모음이다. DB2 UDB는 많은 뷰들을 제공한다. 이 뷰를 통해 데이터베이스의 작동방법을 이해하는데 도움이 되는 정보들을 쿼리할 수 있는 것이다. 뷰에 접근하려면 개별 쿼리나 스크립트를 구현할 수 있고 또는 DB2 Control Center를 통해 이 뷰에 쉽게 접근할 수 있다. 이 글에서는 유용한 쿼리에 대한 다양한 예제를 선보였지만 겉핥기에 불과하다. 여러분 스스로 공부해보기 바란다.




참고자료





필자소개

Roman Melnyk, DB2 Information Development, IBM

 

출처 : http://www-128.ibm.com/developerworks/kr/library/dm-0411melnyk/

'DB2' 카테고리의 다른 글

01 Basic SQL Procedure Structure  (0) 2006.04.03
DB2기초 : 재미있는 날짜와 시간  (0) 2006.03.24
DB2의 제약조건  (0) 2006.03.24
[본문스크랩] DB2 지원되는 함수 및 SQL 관리 루틴  (0) 2006.03.22
DB2 UDB 운용명령어  (0) 2006.03.20
 
블로그 이미지

시반

시반(詩伴)이란 함께 시를 짓는 벗이란 뜻을 가지고 있습니다. 함께 나눌수 있는 그런 공간이길 바라며...

카테고리

분류 전체보기 (233)
개발 이야기 (73)
WEB2.0 (57)
DB2 (24)
MySQL (6)
오라클 (26)
기타 (44)
취미 (0)
잡담 (2)