1 |
1
사용자(21)와 시스템을 연결하는 인터페이스 관리 모듈(22)과, 카탈로그 및 사용자 정의 클래스를 관리하는 스키마 관리 모듈(23)과, 질의를 실행시켜 주는 질의 처리 모듈(24) 및 모든 객체를 관리하는 객체 관리 모듈(25)로 구성되는 객체지향 커널과, 자료 저장 관리 시스템(26)을 이용한 데이터베이스(27)에 데이타 저장으로 이루어진 객체지향 인덱스 관리에 있어서, 상기 사용자로부터 인덱스를 생성한다는 요구(41)가 오면 스키마 관리 모듈에서 인덱스 생성을 위해 필요한 정보들(인덱스를 생성할 클래스명, 인덱스 키로 사용할 어트리뷰트명)을 클래스 정보를 관리하는 SM_CLASS(31), 클래스에 정의된 각 어트리뷰트에 대한 정보를 관리하는 SM_ATTRIBUTE(32) 카탈로그의 정보를 이용하여 확인하는(42) 제 1 단계와; 상기 확인 후 적절하면 새로운 인덱스 식별자를 생성하고(43) 해당 클래스의 객체들이 존재하는 클래스 익스텐트에 객체 관리 모듈의 함수를 이용하여 인덱스를 생성하는(44) 제 2 단계와; 상기 인덱스 생성이 성공적으로 수행되면 상기 클래스 정보를 관리하는 SM_CLASS(31), 정의된 어트리뷰트에 대한 정보를 관리하는 SM_ATTRIBUTE(32), 클래스의 각 인덱스 정보를 관리하는 SM_INDEX(33), SM_KEY_DESC(35) 카탈로그 클래스에 필요한 인덱스 정보들을 저장하는(45) 제 3 단계를 포함하여 구성되는 것을 특징으로 하는 스키마 관리자의 객체지향 경로 인덱스 관리방법
|
2 |
2
제 1 항에 있어서, 경로 인덱스 생성시 스키마 관리자의 동작은 인덱스를 생성할 클래스에 대한 정보를 SM_CLASS로부터 가져오는(51) 제 1 단계와; 상기 클래스 정보 중에서 클래스의 어트리뷰트 리스트와 다음 인덱스 번호와, 클래스에 이미 존재하는 인덱스 리스트 및 클래스 식별자를 얻는 제 2 단계와; 상기 얻어진 클래스 식별자를 이용해 해당 클래스의 익스텐트를 가져오는 제 3 단계와; 상기 경로 인덱스의 경로에 있는 모든 키 어트리뷰트에 대한 정보를 SM_ATTRIBUTE로부터 가져오는(52) 제 4 단계와; 상기 키 어트리뷰트에 대한 정보 획득 후, 마지막 키 어트리뷰트인가를 판단하는(53) 제 5 단계와; 마지막 키 어트리뷰트가 아니면 상기 어트리뷰트의 타입이 클래스 타입인가를 판단하여(54) 클래스 타입이 아니면 오류이므로 오류 처리(55)를 하고 종료하는 제 6 단계와; 상기 제 5 단게에서 마지막 키 어트리뷰트이거나, 상기 제 6 단계에서 오류가 아니면 다음 인덱스 정보를 SM_KEY_DESC로부터 가져오는(56) 제 7 단계와; 상기 인덱스 정보의 키 어트리뷰트를 확인하여 이 어트리뷰트를 키로 하는 인덱스가 존재하는지 판단하는(57) 제 8 단계와; 상기 제 8 단계에서 같은 인덱스가 존재하지 않으면 생성할 다음 인덱스 번호를 부여하고(58), 다음 인덱스 번호는 클래스 정보에 유지되며 이를 얻은 후 하나를 증가시켜 다시 저장하는 제 9 단계와; 상기 저장 후, 해당 클래스 익스텐트에 인덱스를 생성하여(59) 어트리뷰트와 인덱스 정보에 해당 클래스의 식별자를 유지하는 제 10 단계와; 상기 저장 후, 해당 클래스 익스텐트에 인덱스를 생성하여(59) 어트리뷰트와 인덱스 정보에 해당 클래스의 식별자를 유지하는 제 11 단계와; 상기 생성된 인덱스의 여러 정보를 카탈로그에 저장하는(510) 제 12 단계와; 상기 제 8 단계에서 같은 인덱스 정보가 존재하거나, 상기 제 12 단계 수행 후 상기 인덱스 정보의 인덱스 참조 갯수를 증가시키는데(511), 처음 생성된 인덱스인 경우에는 1이 되며 기존의 경우에는 하나를 증가시키는 제 13 단계와; 상기 인덱스 생성 후, 경로의 다음 어트리뷰트에 대한 인덱스를 생성하기 위해 다시 마지막 키 어트리뷰트의 판단에서부터 행하고 마지막 어트리뷰트이면 끝내는 제 14 단계를 포함하여 구성되는 것을 특징으로 하는 스키마 관리자의 객체지향 경로 인덱스 관리방법
|
3 |
3
제 1 항에 있어서, 상기 질의 처리시 각 어트리뷰트에 대한 인덱스 확인은 먼저 어트리뷰트 정보에서 그 어트리뷰트를 키로 하는 인덱스 리스트를 얻는 (62) 제 1 단계와; 상기 인덱스 리스트를 얻은 다음 인덱스 객체 식별자로 인덱스 정보를 얻는 (63) 제 2 단계와, 상기 인덱스 정보에 있는 키 어트리뷰트리스트에 들어있는 어트리뷰트객체 식별자로 현재 어트리뷰트 정보가 같은 객체인지 판단하는(64) 제 3 단계와; 상기 확인 후 같지 않으면 (69) 인덱스 리스트의 마지막 원소인지 판단하는 (65) 제 4 단계; 상기 판단 후 마지막 원소가 아니면 마지막 원소일 때까지 인덱스 확인을 반복하고 (610), 마지막 원소이면 (611) 현재 어트리뷰트를 키로 하는 인덱스가 생성되어 있지 않음을 질의 처리 모듈에 알려주는 (66) 제 5 단계와; 상기 제 3 단계의 판단 후 같으면 (68) 상기 현재 어트리뷰트를 키로 하는 인덱스 정보를 질의 처리 모듈에 넘겨주는 (67) 제 6 단계를 포함하여 구성되는 것을 특징으로 하는 스키마 관리자의 객체지향 경로 인덱스 관리방법
|