KR20010093796A - 관련 데이터베이스 관리 시스템 내에서 동적 실행-시간객체 정의를 지원하는 방법 및 장치 - Google Patents

관련 데이터베이스 관리 시스템 내에서 동적 실행-시간객체 정의를 지원하는 방법 및 장치 Download PDF

Info

Publication number
KR20010093796A
KR20010093796A KR1020017006740A KR20017006740A KR20010093796A KR 20010093796 A KR20010093796 A KR 20010093796A KR 1020017006740 A KR1020017006740 A KR 1020017006740A KR 20017006740 A KR20017006740 A KR 20017006740A KR 20010093796 A KR20010093796 A KR 20010093796A
Authority
KR
South Korea
Prior art keywords
null
per
data
physical
application
Prior art date
Application number
KR1020017006740A
Other languages
English (en)
Inventor
리위시케이쓰
캐리건에드
본느듀아네
Original Assignee
엘그레시 도론
컴퓨터 어소시에이츠 싱크, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘그레시 도론, 컴퓨터 어소시에이츠 싱크, 인코포레이티드 filed Critical 엘그레시 도론
Publication of KR20010093796A publication Critical patent/KR20010093796A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 따르면 관련 데이터베이스 내에 동적인 실행-시간 객체 정의를 제공하기 위한 방법 및 시스템이 제공된다. 중재층은 어플리케이션과 데이터베이스 객체 사이에 적용된다. 이 층은 테이블과 같은 물리적인 데이터베이스 객체에 액세스를 중재하며, 어플리케이션이 물리적인 명칭 대신 논리적인 명칭을 끼워넣는 것을 허락한다. 바란다면, 중재층은 어플리케이션이 실행되고 있는 바와 같이 동적으로 유지될 수 있다. 바람직하게는, 중재층은 관련 데이터베이스 공급자가 제공한 SQL의 공급자-특징 확장자에도 불구하고 다양한 관련 데이터베이스 상에서 실행될 수 있다.

Description

관련 데이터베이스 관리 시스템 내에서 동적 실행-시간 객체 정의를 지원하는 방법 및 장치{METHOD AND APPARATUS FOR SUPPORTING DYNAMIC RUN-TIME OBJECT DEFINITION IN A RELATIONAL DATABASE MANAGEMENT SYSTEM}
데이터베이스 내에서 관련 데이터베이스를 액세스하는 어플리케이션은 명칭에 의해 데이터베이스 내의 객체(테이블, 칼럼 등)를 참조한다. 이것은 어플리케이션과 데이터베이스 객체 사이의 밀접한 관계를 발생시킨다. 데이터베이스 또는 어플리케이션이 업그레이드되는 때 이 밀접한 관계로 인하여 상황이 복잡하게 된다. 이러한 상황은 다수의 어플리케이션이 동일한 객체를 참조하거나 이 어플리케이션들이 인스톨된 사이트에서 서로 다른 시간에 스스로 업그레이드 될 때 악화된다.
전술한 문제의 종래 해법은 관련 데이터베이스에 의해 통상적으로 제공된 "뷰" 구조를 사용하는 것이다. 그러나 잘 알려진 갱신 뷰의 부재와, 종종 비표준 SQL 신택스(syntax)를 뷰가 그들의 정의 내에 짜넣기 때문에 데이터베이스 뷰의 사용은 문제가 있다. 다른 공급자의 관련 데이터베이스 상에서 실행 가능한 것도 필요한 능력이다.
본 발명은 데이터베이스 시스템 및 방법에 관한 것이다.
도 1은 본 발명에 따르는 예시적인 시스템의 블럭도.
도 2는 본 발명에 따르는 예시적인 과정의 흐름도.
본 발명은 관련 데이터베이스 내에서 동적 실행-시간 객체 정의를 허용하는 방법 및 장치에 관한 것이다.
본 발명의 예시적인 실시예에 있어서, 데이터 및 처리 층은 어플리케이션과 데이터베이스 객체 사이에 삽입된다. 이 층은 물리적인 층에 액세스를 중재하며, 어플리케이션이 물리적인 명칭 대신 논리적인 명칭을 끼워 넣는 것을 허락한다. 바란다면, 본 발명은, 또한 어플리케이션이 실행됨에 따라, 동적으로 발생되는 이 층을 유지할 수 있다. 바람직하게 중재층은 관련 데이터베이스의 공급자가 도입한 특정한 공급자-지정 SQL의 확장자(extention)에도 불구하고 다양한 관련 데이터베이스 상에서 실행될 수 있다.
본 발명의 예시적인 실시예는 POEMS 데이터 교환(또한 "DEX"로 알려짐) 및 플래티늄 테크널로지사의 POEMS 서비스 프로세서 "ptsprdbm"로 실행된다. DEX는 중재층에 의해 사용된 데이터를 저장하고 처리는 ptsprdbm 서비스 프로세서에 의해 처리된다. 이 실시예에 있어서, DEX 중재층은 DEX에 제출된 메시지와 DEX의 물리적인 테이블 층 사이의 맵핑으로 볼 수 있다. 이 맵핑은 물리적인 테이블에 대해 다중 연합을 허용하며, 이로써 상위 층을 물리적 구현의 변화로부터 격리한다. 또한 중재은 하나 이상의 어플리케이션 요청을 테이블 또는 테이블 셋트 상에서 실행될 동작과 연관시키는 논리적인 트랜잭션을 규정한다.
예시적인 실시예에 있어서, 각 어플리케이션은 DEX에 보낼 하나 이상의 요청을 생성한다. 각 요청에 대하여, DEX는 하나의 결과를 돌려준다. 여기에는 하나 이상의 ptsprdbm 과정 실행이 있을 수 있다. 각 어플리케이션 요청은 하나의ptsprdbm 서비스 프로세서 과정에 의해 처리된다. 중재층 데이터는 DEX의 메타데이터 주체 영역에 저장된다. 동일한 머신 상에서 실행되는 ptsprdbm의 모든 단계는 동일한 메타데이터를 참조한다. 메타데이터는 어플리케이션으로부터 물리적인 테이블로의 요청을 맵핑한다. 그 결과로서, 어플리케이션은 물리적인 테이블의 식별자를 알 필요가 없다. 물리적인 테이블은 시간이 지나면서 변할 수 있고, 메타데이터 맵핑이 유지된다면, 어플리케이션은 이러한 변화로부터 격리될 것이다.
예컨대, 클라이언트는 메시지를 통하여 "머신"이라고 하는 논리적인 엔티티에 관해 데이터를 요청할 수 있다. 논리적인 명칭 "머신"은 "머신"이라고 하는 물리적인 테이블에 대응하거나 대응하지 않을 수 있다. 논리적인 트랜잭션 명칭을 물리적인 테이블 명칭 및 칼럼으로 정확하게 번역하는 것은 중재층의 책임이다.
다른 예에 있어서, 클라이언트는 "머신용 ip_address"로 이름 붙여진 논리적인 트랜잭션으로 맵핑된 메시지를 제출할 수 있고, 여기서 "머신 명칭" = absun10 이다. 이 예에 있어서, 인용된 요소는 물리적인 객체로 번역되어야 하는 논리적인 객체도 고려되어야 한다. 요청된 데이터는 또한 포맷을 변경할 수 있으므로 이것은 바람직하다. 예컨대, POEMS의 버전 1에 있어서, 물리적인 데이터베이스는 각 머신에 대한 하나의 ip_address 만을 저장할 수 있다. 그러나, POEMS의 버전 2에 있어서, 데이터베이스는 각 머신에 대한 ip_address의 리스트를 저장할 수 있다. 이것은 아마 클라이언트 어플리케이션을 고장내는, 클라이언트에게 되돌려질 결과 셋트를 다른 것으로 만들 수 있다. 중재데이터를 사용하여, 버전 2에 대해 새로운 트랜잭션이 규정되는데, 서비스 프로세서는 이것을 어떻게 취급하는지 알것이며 올바른결과 셋트는 클라이언트에게 되돌려지게 된다.
본 발명에 따르는 중재 데이터층 사용의 이점은 어플리케이션이 새로운 논리 트랜잭션을 구비하는 새로운 메시지를 규정할 수 있고, DEX 서비스 프로세서가 현존하는 서비스 프로세서를 변경하지 않고 이러한 새 메시지를 올바르게 다루도록 하는 것이다. 어플리케이션은 새로운 논리적인 트랜잭션을 규정하기 위해 DEX 메타데이터 테이블에 간단히 행을 추가할 수 있다. 서비스 프로세서는 메타데이터 테이블에 부가될 논리적인 트랜잭션 데이터에 새로운 메시지를 맵핑하는 것을 알 수 있으며 따라서 새로운 메시지용의 올바른 SQL 명령어를 구성할 수 있다.
물리적인 데이터베이스로의 변경은 간단한 방법으로 처리될 수 있다. 새로운 논리적인 트랜잭션은 새로운 테이블층에 구 메시지의 맵핑으로 규정될 수 있다. 이것은 각 트랜잭션에 대한 버전 번호를 사용하거나, 메타데이터로부터 원래의 트랜잭션을 삭제함으로써 실행될 수 있다.
메타데이터는 또한 사용자에 의해 DEX 내에 생성되는 테이블을 통합하는데 사용될 수 있다. 사용자는 표준 SQL을 사용하여 테이블을 생성할 것이며, 새로운 테이블을 설명하기 위해 DEX 메타데이터 테이블에 행을 추가할 것이다. 사용자는 또한 현재 테이블이 갱신되는 때 새로운 테이블이 자동적으로 갱신되도록 하는 per_triggers를 생성할 수 있다.
도 1은 POEMS 데이터 교환(DEX; 1000)으로 구현되는 본 발명에 따르는 시스템의 예시적인 실시예의 블록도이다. POEMS DEX는 플래티늄 프로비젼 공공 서비스 참조 가이드(PLATINUM ProVision Common Services Reference Guide)에 기술되어있다. DEX(1000)는 복수개의 물리적인 테이블(1500)을 포함하며, 하나 이상의 어플리케이션(100)과 상호 작용할 수 있다. 어플리케이션(100)의 예는 프로비젼 디렉터 및 TS Reorg 를 포함한다.
본 발명에 따르면, 중재층(1100)은 어플리케이션(100)과 DEX(1000)의 물리적인 테이블(1500) 사이에 제공된다. 중재층(1100)은 POEMS 관련 데이터베이스 서비스 프로세서(ptsprdbm) 과정(1150)의 하나 이상의 단계 및 메타데이터(metadata) 주체 영역(1200)을 구비한다. 중재데이터(1250) 는 메타데이터주체 영역(1200)에 저장된다. 중재데이터(1250)는 후술하는 바와 같이 ptsprdbm 서비스 프로세서(1150)에 의해 사용된다.
중재층(1100)은 DEX(1000)에 제출된 메시지와 DEX 의 물리적 테이블 층 사이에 맵핑을 제공한다. 이 맵핑은 물리적인 테이블에 다중 연합을 허용함으로써 물리적 구현에 대한 변화로부터 상위 층을 격리한다. 다수의 논리적 명칭은 동일한 물리적 객체를 참조할 수 있으며 논리 명칭은 시간이 지남에 따라 변할 수 있다. 또한, 중재는 하나 이상의 어플리케이션 요청(예컨대, PEC 메시지)을, 테이블 또는 테이블 셋 상에서 실행될 작용과 관련시키는 논리적인 트랜잭션을 규정한다. 작용은 데이터 처리 언어(DML) 동사 즉, insert, update, select, delete 중의 하나에대응한다.
각 어플리케이션(100)은 하나 이상의 요청을 생성하며 요청을 DEX(1000)에 보낸다. DEX(1000)는 수신된 각 요청에 대한 결과를 보낸다. 하나 이상의 ptsprdbm 서비스 프로세서 과정(1150)은 어떤 하나의 시간에 실행될 수 있다. 각 어플리케이션 요청은 하나의 ptsprdbm 과정(1150)에 의해 취급된다. 동일한 머신 상에서 실행되는 ptsprdbm의 모든 단계는 동일한 메타데이터를 참조한다. 여기에는 하나 이상의 물리적인 테이블이 존재한다. 메타데이터는 어플리케이션으로부터의 요청을 물리적 테이블에 대한 요청으로 맵핑한다. 결과적으로 어플리케이션(100)은 물리적인 테이블(1500)의 식별자를 알 필요가 없다. 물리적인 테이블(1500)은 시간에 따라 변할 수 있고, 메타데이터 맵핑이 유지된다면, 어플리케이션은 이러한 변화로부터 격리될 것이다.
중재되는 메타데이터(1250)는 예컨대, POEMS를 갱신함으로써 또는 어플리케이션(100)을 갱신함으로써 갱신될 수 있다. 예컨대, 새로운 어플리케이션(100)은 메타데이터 주체 영역(1200) 내에 위치한 그 어플리케이션에 관련된 새로운 중재 데이터를 가질 수 있다. 이러한 능력은, 모든 어플리케이션의 갱신을 요구함이 없이, 본 발명의 시스템을 사용하는 여러 제품이 동시에 개별적으로 발전할 수 있는 유연성을 제공한다. 어플리케이션(100)이 중재되는 메타데이터(1250)에 직접 액세스하는 것과는 반대로, 바람직하게는 이러한 갱신이 서비스 프로세서(1150)에 의해 실행된다.
변역은 DEX 서비스 프로세서(1150) 내에서 이루어진다. 서비스프로세서(1150)는 번역을 실행하기 위해 중재 데이터(1250)를 사용한다. 서비스 프로세서(1150)는 메타데이터 주체 영역(1200) 및/또는 어플리케이션(100)과 인터페이스하기 위해, 개방형 데이터베이스 접속성(OBDC; open database connectivity)과 같은 표준, 개방형 인터페이스를 사용한다.
대안의 실시예에 있어서, 주문형 POEMS ODBC 드라이버는 서비스 프로세서(1150)의 번역층을 요약한다. 그 다음 이 드라이버는 DEX[예컨대, 인포리포트(InfoReport)]를 액세스하기 위해 제3자 어플리케이션에 의해 사용될 수 있다.
예시적인 실시예에 있어서, 중재 데이터(1250)는 다음과 같은 테이블 셋을 포함한다.
per_table: 이 테이블은 데이블의 주 리스트를 포함한다. DEX 내의 각 테이블은 이 테이블 내에 하나의 엔트리를 가질 수 있다
per_column: 이 테이블은 DEX 내의 각 테이블의 각 칼럼의 엔트리를 포함한다. 각 칼럼에 관련된 특성은 타입, 크기, 테이블 내의 칼럼의 위치이다.
per_data_type: 이 테이블은 모든 지원되는 데이터 타입의 주 리스트를 포함한다.
per_key: 이 테이블은 DEX 테이블 상에 프라이머리(primary) 및 포린(foreign) 키를 확립하기 위한 특성을 포함한다.
per_logical_object: 이 테이블은 논리적인 트랜잭션을 식별하며 트랜잭션과 관련된 어떠한 트리거는 물론 트랜잭션 디테일(detail)을 룩업(lookup)하는데 사용된다.
per_tran_column: 이 테이블은 논리적인 트랙잭션에 속하는 칼럼을 식별하며 칼럼이 SQL "where" 절의 구성에 관여하는지 아닌지를 식별한다.
per_trigger: 이 테이블은 트리거를 하나 이상의 논리적인 트랜잭션과 결합시킨다.
메타데이터로서 중재 데이터(1250)를 저장하는 예시적인 방법은 다음과 같다.
CREATE TABLE per_source (
per_source_id int NOT NULL,
source_description varchar(255) NULL,
product_id int NULL,
per_source int NULL,
per_last_updated smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_source
PRIMARY KEY (per_source_id)
)
CREATE TABLE per_tran_col_type (
column_type smallint NOT NULL,
column_type_desc varchar(31) NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_tran_col_type
PRIMARY KEY (column_type)
)
CREATE TABLE per_logical_object (
object_id int NOT NULL,
object_name varchar(30) NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_logical_object
PRIMARY KEY (object_id)
)
CREATE TABLE per_table (
table_name varchar(30) NOT NULL,
storage_type char(10) NULL,
subject_area CHAR(18) NULL,
delete_policy CHAR(18) NULL,
sequence_nbr numeric(10,0) NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_table
PRIMARY KEY (table_name)
)
CREATE TABLE per_key (
table_name varchar(30) NOT NULL,
key_id smallint NOT NULL,
key_type char(1) NOT NULL,
foreign_table varchar(30) NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_table
PRIMARY KEY (table_name, key_id)
)
CREATE TABLE per_data_type (
data_type smallint NOT NULL,
data_type_desc varchar(31) NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_data_type
PRIMARY KEY (data_type)
)
CREATE TABLE per_column (
column_name varchar(30) NOT NULL,
table_name char(18) NULL,
table_sequence smallint NOT NULL,
column_size int NOT NULL,
null_flag smallint NOT NULL,
sequence_flag smallint NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_column
PRIMARY KEY (column_name, table_name)
)
CREATE TABLE per_key_column (
column_name varchar(30) NOT NULL,
table_name varchar(30) NOT NULL,
table_name varchar(30) NOT NULL,
key_id smallint NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_key_column
PRIMARY KEY (column_name, table_name, table_name, key_id)
)
CREATE TABLE per_tran_type (
tran_type smallint NOT NULL,
tran_type_name varchar(31) NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_tran_type
PRIMARY KEY (tran_type)
)
CREATE TABLE per_tran (
object_id int NOT NULL,
tran_type smallint NOT NULL,
tran_version char(10) NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_logical_tra
PRIMARY KEY (object_id, tran_type)
)
CREATE TABLE per_trigger (
object_id int NOT NULL,
tran_type smallint NOT NULL,
trigger_sequence smallint NOT NULL,
trigger_obj_name varchar(30) NOT NULL,
trigger_tran_type smallint NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_trigger_det
PRIMARY KEY (object_id, tran_type, trigger_sequence)
)
CREATE TABLE per_logical_column (
object_id int NOT NULL,
logical_col_id smallint NOT NULL,
logical_col_name varchar(30) NOT NULL,
column_name varchar(30) NOT NULL,
table_name varchar(30) NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_logical_col
PRIMARY KEY (object_id, logical_col_id)
)
CREATE TABLE per_tran_column (
object_id int NOT NULL,
logical_col_id smallint NOT NULL,
tran_type smallint NOT NULL,
column_type smallint NOT NULL,
join_column varchar(30) NULL,
join_table varchar(30) NULL,
where_flag smallint NOT NULL,
order_by_sequence smallint NOT NULL,
group_by_sequence smallint NOT NULL,
sub_tran varchar(30) NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_trans_detai
PRIMARY KEY (object_id, logical_col_id, tran_type)
)
CREATE TABLE per_index_type (
index_type smallint NOT NULL,
index_type_desc char(20) NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_index_type
PRIMARY KEY (index_type)
)
CREATE TABLE per_index (
table_name varchar(30) NOT NULL,
index_sequence smallint NOT NULL,
index_type smallint NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_index
PRIMARY KEY (table_name, index_sequence)
)
CREATE TABLE per_index_column (
column_sequence smallint NOT NULL,
table_name varchar(30) NOT NULL,
index_sequence smallint NOT NULL,
table_name varchar(30) NOT NULL,
column_name varchar(30) NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_index_colum
PRIMARY KEY (column_sequence, table_name, index_sequence)
)
CREATE TABLE per_config (
per_version char(10) NOT NULL,
sp_version char(10) NOT NULL,
doc_version char(10) NOT NULL,
install_date smalldatetime NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_config
PRIMARY KEY (per_version, sp_version, doc_version)
)
CREATE TABLE per_status (
per_status_nbr smallint NOT NULL,
per_status_name varchar(31) NOT NULL,
per_source int NULL,
per_last_update smalldatetime NOT NULL,
per_status smallint NULL,
CONSTRAINT XPKper_status
PRIMARY KEY (per_status_nbr)
)
본 발명에 따르는 서비스 프로세서(1150)의 예시적인 동작 방법을 도 2의 흐름도에 나타낸다.
도 2에 도시한 바와 같이, 서비스 프로세서(1150)는 (실례로서) 단계(2010)에서 어플리케이션(100)으로부터 요청을 수신한다. 이러한 요청은 어플리케이션 요청 내부의 데이터 구조-즉, 요청 데이터 구조 또는 RDS-내에 요약된다. 단계(2020)에서, 서비스 프로세서는 어플리케이션 요청을 언팩하고 RDS의 요소를 추출한다. 데이터 요소는 DEX 내에 저장된 메타데이터를 액세스하기 위해 단계(2030)에서 서비스 프로세서에 의해서 사용되는 식별자를 포함한다. 단계(2040)에서, 식별자는 메타데이터에 대하여 처리된다. 더 상세하게, 서비스 프로세서는 메타데이터에 요청 내용을 디-리퍼런스하고 맵핑하기 위해 메타데이터를 사용한다. 이 처리는 RDS 내의 식별자를 물리적인 테이블(1500)에 사용되는 식별자로 번역하는 결과를 가져온다.
디-리퍼런스 절차에 의해 되돌려진 결과는 데이터베이스의 현 예에 대한 유효한 물리적 명칭의 셋트이다. 단계(2050)에서 서비스 프로세서는 물리적인 명칭의 셋트를 획득한다. 그 다음 서비스 프로세서는 데이터베이스에 대하여 직접적으로 실행될 수 있는 SQL 진술문을 작성하기 위해 단계(2060)에서 이 데이터를 사용한다. 그 다음 서비스 프로세서는 단계(2070)에서 SQL 진술문을 실행하고 SQL 진술문의 처리로부터 결과를 수집한다. SQL 진술문의 실행 결과는 단계(2080)에서 단계(2010)에서 수신된 RDS 내의 논리명으로 재맵핑된다. 그 다음, 단계(2090)에서 요청할 때 어플리케이션이 사용한 논리명과 관련된 어플리케이션에 결과가 되돌려진다. 이러한 방법으로, 어플리케이션은 그 안에 사용된 식별자와 물리적인 데이터베이스로부터 완전히 격리된다.
본 발명의 다른 실시예에 있어서, 부가적인 메타데이터는 어느 엔티티가 데이터에 대해 승인 받았는지에 관한 정보(즉, 어느 어플리케이션이 물리적 테이블 내에 데이터를 "소유"하며 어느 어플리케이션이 데이터를 갱신 또는 제거할 수 있는가에 관한 정보)를 포함하는 DEX 데이터에 관해 저장된다.
또 다른 예시적인 실시예에 있어서, 디스플레이하고 포맷팅한 정보는 각 논리 객체에 대해 저장되고 모니터 상 또는 리포트 내의 중재층을 통하여 액세스된 데이터를 렌더링하기 위한 어플리케이션에 의해 사용된다. 메타데이터 내에 디스플레이되고 포맷팅된 정보를 저장하는 것은 이러한 데이터를 사용하는 어플리케이션이 그들에게 되돌려지는 데이터를 동적으로 렌더링하는 것을 허용한다.

Claims (5)

  1. 데이터베이스 내의 데이터를 처리하는 시스템에 있어서, 상기 시스템은
    중재 데이터 저장장치와,
    프로세서를 포함하고,
    상기 프로세서는 데이터를 처리하기 위해 어플리케이션으로부터 요청을 수신하고,
    상기 수신된 요청으로부터 논리적인 식별자를 추출하고,
    상기 논리 식별자를 사용하여 중재 데이터 저장 장치로부터 물리적인 식별자를 획득함으로써 상기 논리적인 식별자를 물리적인 식별자로 번역하고,
    상기 물리적인 식별자에 의해 식별된 물리적인 테이블 내에 저장된 데이터를 회복하고,
    결과를 얻기 위해 상기 회복된 데이터를 처리하고,
    상기 논리적인 식별자를 사용하여 상기 결과를 어플리케이션에 돌려보내는 것인 데이터베이스 내의 데이터를 처리하는 시스템.
  2. 데이터베이스 시스템 내에서 동작을 처리하는 방법에 있어서
    데이터를 처리하기 위해 어플리케이션으로부터 요청을 수신하는 단계와,
    상기 수신된 요청으로부터 논리적인 식별자를 추출하는 단계와,
    논리적인 식별자를 물리적인 식별자로 번역하는 단계와,
    상기 물리적 식별자에 의해 식별된 물리적 테이블 내에 저장된 데이터를 회복하는 단계와,
    결과를 얻기 위해 회복된 데이터를 처리하는 단계와,
    상기 논리적인 식별자를 사용하여 상기 결과를 어플리케이션에 돌려보내는 단계
    를 포함하는 데이터베이스 시스템 내에서 동작을 처리하는 방법.
  3. 제2항에 있어서, 상기 번역 단계는 상기 논리적인 식별자를 사용하여 중재 데이터 저장장치로부터 상기 물리적인 식별자를 얻는 단계를 포함하는 방법.
  4. 제3항에 있어서, 상기 중재 데이터는 동적으로 갱신되는 것인 방법.
  5. 제3항에 있어서, 상기 중재 데이터 저장장치는 데이터베이스 시스템의 메타데이터 주체 영역 내에 포함된 것인 방법.
KR1020017006740A 1998-11-30 1999-11-30 관련 데이터베이스 관리 시스템 내에서 동적 실행-시간객체 정의를 지원하는 방법 및 장치 KR20010093796A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/201,607 1998-11-30
US09/201,607 US6237003B1 (en) 1998-11-30 1998-11-30 Method and apparatus for supporting dynamic run-time object definition in a relational database management system
US09201607 1998-11-30
PCT/US1999/028258 WO2000079429A1 (en) 1998-11-30 1999-11-30 Method and apparatus for supporting dynamic run-time object definition in a relational database management system

Publications (1)

Publication Number Publication Date
KR20010093796A true KR20010093796A (ko) 2001-10-29

Family

ID=22746521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017006740A KR20010093796A (ko) 1998-11-30 1999-11-30 관련 데이터베이스 관리 시스템 내에서 동적 실행-시간객체 정의를 지원하는 방법 및 장치

Country Status (9)

Country Link
US (1) US6237003B1 (ko)
EP (1) EP1301874A4 (ko)
JP (1) JP2003524822A (ko)
KR (1) KR20010093796A (ko)
CN (1) CN1122233C (ko)
BR (1) BR9915785A (ko)
CA (1) CA2352840A1 (ko)
IL (1) IL143282A0 (ko)
WO (1) WO2000079429A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100872287B1 (ko) * 2007-06-26 2008-12-05 주식회사 케이티프리텔 실행 파일 실행 방법 및 장치와 이 방법을 실행하는프로그램 기록매체

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172550A (ja) * 1998-12-07 2000-06-23 Fujitsu Ltd 情報処理システム間連携装置、統合情報処理システム、および情報処理システム間連携プログラムを記録した記録媒体
GB2348970B (en) * 1998-12-29 2003-10-22 Sgs Thomson Microelectronics Maintenance of a system model
US6457003B1 (en) * 1999-08-16 2002-09-24 International Business Machines Corporation Methods, systems and computer program products for logical access of data sources utilizing standard relational database management systems
EP1108407A1 (en) 1999-12-14 2001-06-20 The Procter & Gamble Company Tampon having an oval form after expansion and process for producing the same
US6490590B1 (en) * 2000-02-14 2002-12-03 Ncr Corporation Method of generating a logical data model, physical data model, extraction routines and load routines
US6574631B1 (en) * 2000-08-09 2003-06-03 Oracle International Corporation Methods and systems for runtime optimization and customization of database applications and application entities
US6842904B1 (en) * 2000-11-21 2005-01-11 Microsoft Corporation Extensible architecture for versioning APIs
US20030074209A1 (en) * 2001-10-15 2003-04-17 Tobin Christopher M. User device with service finding and purchasing functionality
US20040098294A1 (en) * 2002-09-06 2004-05-20 Eftia Oss Solutions Inc. Adaptable resource model
US7698441B2 (en) * 2002-10-03 2010-04-13 International Business Machines Corporation Intelligent use of user data to pre-emptively prevent execution of a query violating access controls
US7181481B2 (en) * 2003-10-20 2007-02-20 International Business Machines Corporation System and method for concurrently reorganizing logically related LOB table spaces
WO2005057365A2 (en) 2003-12-08 2005-06-23 Ebay Inc. System to automatically regenerate software code
EP1569132B1 (en) * 2004-02-23 2012-07-04 Sap Ag Computer system and method of performing a database access
US7275065B2 (en) * 2004-05-24 2007-09-25 International Business Machines Corporation Method and system for supporting per-user-per-row read/unread tracking for relational databases
US7693856B2 (en) * 2004-06-25 2010-04-06 Apple Inc. Methods and systems for managing data
US8131674B2 (en) 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
KR100714693B1 (ko) * 2005-06-07 2007-05-04 삼성전자주식회사 소프트웨어 모듈의 독립성을 보장하는 데이터베이스어플리케이션을 구현하는 시스템 및 방법
US8819088B2 (en) * 2005-07-14 2014-08-26 International Business Machines Corporation Implementing storage management functions using a data store system
US8966456B2 (en) * 2006-03-24 2015-02-24 The Mathworks, Inc. System and method for providing and using meta-data in a dynamically typed array-based language
US20090019022A1 (en) * 2007-07-15 2009-01-15 Dawning Technologies, Inc. Rules-based data mining
US20110302220A1 (en) * 2010-06-08 2011-12-08 Albert Marcella Sql processing for data conversion
US8612405B1 (en) 2011-09-30 2013-12-17 Emc Corporation System and method of dynamic data object upgrades
US9164751B2 (en) * 2011-09-30 2015-10-20 Emc Corporation System and method of rolling upgrades of data traits
CN106919607B (zh) * 2015-12-25 2020-09-08 华为技术有限公司 一种数据访问方法、装置及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2284247C (en) * 1989-09-01 2005-12-06 Amdahl Corporation Programmable computer with automatic translation between source and object code
US5181162A (en) * 1989-12-06 1993-01-19 Eastman Kodak Company Document management and production system
US5873097A (en) * 1993-05-12 1999-02-16 Apple Computer, Inc. Update mechanism for computer storage container manager
US5870764A (en) * 1993-05-12 1999-02-09 Apple Computer, Inc. Method of managing a data structure for concurrent serial and parallel revision of a work
EP0675451A3 (en) * 1994-03-30 1996-12-04 Siemens Stromberg Carlson Distributed database architecture and system for managing a distributed database for development in an open network.
US6160549A (en) * 1994-07-29 2000-12-12 Oracle Corporation Method and apparatus for generating reports using declarative tools
US5734887A (en) * 1995-09-29 1998-03-31 International Business Machines Corporation Method and apparatus for logical data access to a physical relational database
US5978808A (en) * 1995-12-27 1999-11-02 Intel Corporation Virtual small block file manager for flash memory array
US5970490A (en) * 1996-11-05 1999-10-19 Xerox Corporation Integration platform for heterogeneous databases
US6014674A (en) * 1996-11-14 2000-01-11 Sybase, Inc. Method for maintaining log compatibility in database systems
US6016394A (en) * 1997-09-17 2000-01-18 Tenfold Corporation Method and system for database application software creation requiring minimal programming
US6154750A (en) * 1998-04-01 2000-11-28 Cyberpulse Llc Method and system for navigation and data entry in heirarchically-organized database views
US6122640A (en) * 1998-09-22 2000-09-19 Platinum Technology Ip, Inc. Method and apparatus for reorganizing an active DBMS table

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100872287B1 (ko) * 2007-06-26 2008-12-05 주식회사 케이티프리텔 실행 파일 실행 방법 및 장치와 이 방법을 실행하는프로그램 기록매체

Also Published As

Publication number Publication date
WO2000079429A1 (en) 2000-12-28
CA2352840A1 (en) 2000-12-28
CN1122233C (zh) 2003-09-24
CN1332877A (zh) 2002-01-23
EP1301874A1 (en) 2003-04-16
JP2003524822A (ja) 2003-08-19
US6237003B1 (en) 2001-05-22
BR9915785A (pt) 2001-08-14
WO2000079429A9 (en) 2001-05-17
IL143282A0 (en) 2002-04-21
EP1301874A4 (en) 2004-05-19

Similar Documents

Publication Publication Date Title
KR20010093796A (ko) 관련 데이터베이스 관리 시스템 내에서 동적 실행-시간객체 정의를 지원하는 방법 및 장치
US7634513B2 (en) Metadata in directory service systems and methods
US6134558A (en) References that indicate where global database objects reside
US6457003B1 (en) Methods, systems and computer program products for logical access of data sources utilizing standard relational database management systems
US6748374B1 (en) Method for generating a relational database query statement using one or more templates corresponding to search conditions in an expression tree
US8090693B2 (en) System, method, and article of manufacture for maintaining and accessing a whois database
US20020078041A1 (en) System and method of translating a universal query language to SQL
US6587856B1 (en) Method and system for representing and accessing object-oriented data in a relational database system
US7089566B1 (en) Method for accessing object linking-embedding database data via JAVA database connectivity
US7315853B2 (en) Service-oriented architecture for accessing reports in legacy systems
JPH0765032A (ja) データベース言語変換機能を持つ情報処理システム
US7543004B2 (en) Efficient support for workspace-local queries in a repository that supports file versioning
US7409386B2 (en) Method and apparatus for executing a query on dynamic properties of objects in a database
US7136872B2 (en) Method, system, and article of manufacture for transferring structured data between different data stores
CN100440803C (zh) 模型化处理网格信息的方法
US6466943B1 (en) Obtaining table objects using table dispensers
US7970867B2 (en) Hypermedia management system
US6845376B1 (en) Method for accessing hierarchical data via JDBC
US5761671A (en) Method for interfacing queryable datestore persistent objects to non-relational, non-object-oriented datastores
US5765161A (en) Method for encapsulating data from non-object-oriented datastores as datastore persistent objects
JPH1049410A (ja) 異種データベースアクセス装置
AU780435B2 (en) Method and apparatus for supporting dynamic run-time object definition in a relational database management system
JP3217896B2 (ja) オブジェクト情報定義支援システム
US7769750B2 (en) Metadata based hypermedia management system
US6470350B1 (en) Method and system for simulating a database table in response to a database query

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application