kristal-ii v.1.6 을 이용한 database 구축

22
KRISTAL-II v.1.6 을을을 Database 을을 1997. 7. 11. 1997. 7. 11. 연연연연연연연연 연연연연연연연연 연연연 연연연 /GIIS /GIIS

Upload: allistair-haley

Post on 02-Jan-2016

61 views

Category:

Documents


0 download

DESCRIPTION

KRISTAL-II v.1.6 을 이용한 Database 구축. 1997. 7. 11. 연구개발정보센터 김진숙 /GIIS. 차례. 데이타베이스 구조 문서구조 색인형태 데이타베이스 적재 스키마화일 문서적재 웹인터페이스 구축. 데이타베이스 구조. Database Group. Catalog. 데이타베이스그룹 카탈로그 데이터베이스 카탈로그 문서 카탈로그 섹션 카탈로그 복합섹션 카탈로그. 데이타베이스 1. 데이타베이스 n. 데이타베이스 2. 데이타베이스 3. 문서볼륨 2. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: KRISTAL-II v.1.6 을 이용한   Database  구축

KRISTAL-II v.1.6 을이용한 Database 구축

1997. 7. 11.1997. 7. 11.

연구개발정보센터연구개발정보센터김진숙김진숙 /GIIS/GIIS

Page 2: KRISTAL-II v.1.6 을 이용한   Database  구축

차례차례

데이타베이스 구조데이타베이스 구조 문서구조문서구조 색인형태색인형태 데이타베이스 적재데이타베이스 적재 스키마화일스키마화일 문서적재문서적재 웹인터페이스 구축웹인터페이스 구축

Page 3: KRISTAL-II v.1.6 을 이용한   Database  구축

데이타베이스 구조

카탈로그볼륨

.....

문서볼륨 N

데이타베이스 1 데이타베이스 n

데이타베이스 3

데이타베이스그룹 카탈로그데이터베이스 카탈로그

문서 카탈로그섹션 카탈로그

복합섹션 카탈로그

문서볼륨 2문서볼륨 1

데이타베이스 2

Catalog Volume• 하나 이상의 데이타베이스들에 대한 문서구조하나 이상의 데이타베이스들에 대한 문서구조 , , 저장 위치저장 위치 , , 색인 방법 등에 대한 정보들을 저장색인 방법 등에 대한 정보들을 저장

Document Volume• 구축하려는 실제의 문서들과 문서들에 대한 색인 저장구축하려는 실제의 문서들과 문서들에 대한 색인 저장

Database Group• nn 개의 데이타베이스를 하나의 개의 데이타베이스를 하나의 DB GroupDB Group 으로 확장으로 확장

CatalogDatabase Group

Page 4: KRISTAL-II v.1.6 을 이용한   Database  구축

문서 구조 기본 섹션 (Primitive Section)

• 문서를 구성하는 최소 단위문서를 구성하는 최소 단위• 예예 ) ) 제어번호제어번호 , , 저자저자 , , 제목제목 , , 초록 섹션 등초록 섹션 등

코드화된 섹션 (Coded Section)• 축약된 형태의 데이타를 갖는 섹션을 위한 논리적인 섹션축약된 형태의 데이타를 갖는 섹션을 위한 논리적인 섹션• 예예 ) ) 문헌종류 코드문헌종류 코드 , , 기관코드 등기관코드 등

결합 섹션 (Complex Section)• 두개 이상의 기본 섹션들을 결합한 논리적인 섹션두개 이상의 기본 섹션들을 결합한 논리적인 섹션• 예예 ) ) 서명서명 (( 통일서명통일서명 , , 총서명총서명 , , 등등 ), ), 저자 섹션 등저자 섹션 등

Page 5: KRISTAL-II v.1.6 을 이용한   Database  구축

색인 형태 (1) EXACT

• 기본섹션의 내용 또는 값 전체를 하나의 색인어로 추출기본섹션의 내용 또는 값 전체를 하나의 색인어로 추출• 예예 ) ) 제어번호제어번호 , , 기관코드 등기관코드 등

INCLUSIVE_NONE, INCLUSIVE_MA• 내용기반의 부분 일치 검색내용기반의 부분 일치 검색• 형태소 해석기의 사용 유무형태소 해석기의 사용 유무• 예예 ) ) 제목제목 , , 초록 등초록 등

Not_Exist• 색인을 수행하지 않음색인을 수행하지 않음

Page 6: KRISTAL-II v.1.6 을 이용한   Database  구축

색인 형태 (2) INCLUSIVE_CHAR

• 글자단위로 색인어 생성글자단위로 색인어 생성• ““ 홍홍 __ 길동”길동” , “, “ 홍홍 __ 길길 __ 동”동” , “, “ 홍길동”의 검색홍길동”의 검색• 예예 ) ) 저자명 등저자명 등

NUMERIC• 숫자로만 구성된 기본 섹션의 색인어 추출숫자로만 구성된 기본 섹션의 색인어 추출• 예예 ) ) 날짜날짜 , , 일련번호 등일련번호 등

STRING• EXACTEXACT 와 동일한 방식이나 값의 비교가 가능와 동일한 방식이나 값의 비교가 가능• 예예 ) ) 제어번호 등제어번호 등

Page 7: KRISTAL-II v.1.6 을 이용한   Database  구축

DatabaseSchema

File

Documents Code ListStopwords

KRISTAL LOADERKRISTAL LOADER

DocumentVolume

1

DocumentVolume

2

DocumentVolume

3

DocumentDatabase 2

DocumentDatabase 1 Document

Database n

DocumentVolume

n

CatalogVolume

...Catalog

Database

Database GroupCatalog

데이타베이스 적재

Page 8: KRISTAL-II v.1.6 을 이용한   Database  구축

스키마 화일 스키마 화일

• 데이타베이스 디렉토리데이타베이스 디렉토리 , , 문서 볼륨문서 볼륨 , DB , DB 그룹그룹 , , 섹션의 정의섹션의 정의, , 기본 섹션 색인 방법 정의기본 섹션 색인 방법 정의 , , 원시 문서의 구조원시 문서의 구조 , , 적재 방법 적재 방법 등에 관한 정보등에 관한 정보

• DATABASE_DIRECTORYDATABASE_DIRECTORY• CREATE_DOCUMENT_VOLUMECREATE_DOCUMENT_VOLUME• CREATE_SCHEMACREATE_SCHEMA• CREATE_DATABASECREATE_DATABASE• DEFINE_DOCUMENT_STRUCTUREDEFINE_DOCUMENT_STRUCTURE• DEFINE_DOCUMENT_GROUPDEFINE_DOCUMENT_GROUP• LOAD_DATABASELOAD_DATABASE• ENDEND

Page 9: KRISTAL-II v.1.6 을 이용한   Database  구축

스키마 화일 (DB 디렉토리 지정 )

DATABASE_DIRECTORYDATABASE_DIRECTORY=‘directory_name’; // 디렉토리 이름

예 )

DATABASE_DIRECTORY=‘/home/saturn/volume’;

데이타베이스를 저장하기 위한 디렉토리 지정 KRISTAL-II 가 시스템 내부적으로 사용하는 목록데이타베이스 생성

및 문서볼륨 저장을 위한 명령어 위의 결과로 목록볼륨과 문서식별자 매핑 파일이 생성된다 .

/home/saturn/volume/CATALOG.SYS

/home/saturn/volume/DOCLOC.SYS

Page 10: KRISTAL-II v.1.6 을 이용한   Database  구축

스키마 화일 ( 문서볼륨 생성 )

CREATE_DOCUMENT_VOLUME{

(1) VOLUME_NAME=‘saturnvol01’

NUMBER_OF_EXTENTS=10000

EXTENT_SIZE=16,

(1) VOLUME_NAME=‘saturnvol02’

NUMBER_OF_EXTENTS=10000

EXTENT_SIZE=16

};

볼륨의 크기 = (num_ext * extent_size * 4Kbytes) 예

10000 * 16 * 4Kb = 640000Kb = 640Mb

Page 11: KRISTAL-II v.1.6 을 이용한   Database  구축

CREATE_SCHEMA

{

DATABASE_GROUP_NAME=database_group_name

SECTION_DEFINITION

{

(sec_no) [section_def],

. . . . . . ,

(sec_no) [section_def]

}

COMPLEX_SECTION_DEFINITION

{

(sec_no) [complex_section_def],

. . . . . . ,

(sec_no) [complex_section_def]

}

INDEX_DEFINITION

{

(idx_no) [index_def],

. . . . . . ,

(idx_no) [index_def]

}

};

스키마 화일 (CREATE_SCHEMA)

Page 12: KRISTAL-II v.1.6 을 이용한   Database  구축

SECTION_DEFINITION{

(1) LABEL=“section_descripton”

SECTION_NAME=section_name,

(2) LABEL=“section_descripton”

SECTION_NAME=section_name

. . . . . .

(n) LABEL=“section_descripton”

SECTION_NAME=section_name

}

스키마 화일 (SECTION_DEFINITION)

예 ) SECTION_DEFINITION{

(1) LABEL=“ 문헌종류” SECTION_NAME=DT,

(2) LABEL=“ 문헌종류” SECTION_NAME=DTC

. . . . . .

(n) LABEL=“ 초록” SECTION_NAME=AB

}

Page 13: KRISTAL-II v.1.6 을 이용한   Database  구축

COMPLEX_SECTION_DEFINITION{

(1) LABEL=“complex_section_descripton”

SECTION_NAME=complex_section_name

SECTIONS=(section_name, section_name, . . . , section_name),

(2) LABEL=“complex_section_descripton”

SECTION_NAME=complex_section_name

SECTIONS=(section_name, section_name, . . . , section_name),

. . . . . .

}

스키마 화일 (COMPLEX_SECTION_DEFINITION)

예 ) COMPLEX_SECTION_DEFINITION{

(1) LABEL=“ 기본 검색 필드” SECTION_NAME=BI

SECTIONS=(TI, AB),

(2) LABEL=“ 저자” SECTION_NAME=AU

SECTIONS=(TI, AB),

. . . . . .

}

Page 14: KRISTAL-II v.1.6 을 이용한   Database  구축

INDEX_DEFINITION{

(1) SECTION_NAME=“section_name”

INDEX_TYPE=index_type,

(2) SECTION_NAME=“section_name”

INDEX_TYPE=index_type

STOPWORD=(‘stopword_file_pathname’),

. . . . . .

}

스키마 화일 (INDEX_DEFINITION)

예 ) INDEX_DEFINITION{

(1) SECTION_NAME=AN

INDEX_TYPE=EXACT,

(2) SECTION_NAME=DT

INDEX_TYPE=EXACT,

(3) SECTION_NAME=DTC

INDEX_TYPE=NOT_EXIST,

(3) SECTION_NAME=TI

INDEX_TYPE=INCLUSIVI_MA

STOPWORD=(‘~/dict/stopword/swords’),

. . . . . .

}

Page 15: KRISTAL-II v.1.6 을 이용한   Database  구축

CREATE_DATABASE{

(1) DATABASE_GROUP_NAME=“database_group_name”

DATABASES=(database_name, database_name, ......, database_name)

}

스키마 화일 (CREATE_DATABASE)

예 ) CREATE_DATABASE{

(1) DATABASE_GROUP_NAME=SATURN

DATABASES=(SATURN1, SATURN2, SATURN3, SATURN4, SATURN5, SATURN6,

SATURN7, SATURN8, SATURN9, SATURN10, SATURN12, SATURN13,

SATURN14, SATURN15)

}

Page 16: KRISTAL-II v.1.6 을 이용한   Database  구축

DEFINE_DOCUMENT_STRUCTURE{

DATABASE_GROUP_NAME=database_group_name

STRUCTURE_DEFINITION=document_structure_name

{

(1) TAG=“section_start_tag”

ACTION=DISCARD, COPY, or TRANSLATE

NEW_DOCUMENT_FLAG=FALSE (default) or TRUE,

(2) TAG=“section_start_tag”

ACTION=DISCARD, COPY, or TRANSLATE

SECTION_NAME=section_name,

. . . . . .

}

}

스키마 화일 ( 문서구조 정의 )

예 ) DEFINE_DOCUMENT_STRUCTURE{

DATABASE_GROUP_NAME=SATURN

STRUCTURE_DEFINITION=DOCSTRUC1

{

(1) TAG=“@ SATURN_VIEW”

ACTION=DISCARD NEW_DOCUMENT_FLAG=TRUE,

(2) TAG=“#AN=”

ACTION= COPY

SECTION_NAME=AN,

} . . . . . .

}

Page 17: KRISTAL-II v.1.6 을 이용한   Database  구축

DEFINE_DOCUMENT_GROUP{

(1) doc_group_name=(‘doc_pathname’,

. . . . .

‘doc_pathname’),

(2) doc_group_name=(‘doc_pathname’,

. . . . .

‘doc_pathname’),

. . . . . .

}

스키마 화일 ( 문서그룹 정의 )

예 ) DEFINE_DOCUMENT_GROUP{

(1) kord92=(‘~/data/kord/92/kord001.dat’,

. . . . . .

‘~/data/kord/92/kord100.dat’),

(2) kord93=(‘~/data/kord/93/kord001.dat’,

. . . . . .

‘~/data/kord/93/kord100.dat’),

. . . . . .

}

Page 18: KRISTAL-II v.1.6 을 이용한   Database  구축

LOAD_DATABASE{

(1) FROM=document_group_name

TO=(DATABASE_GROUP_NAME:database_group_name

DATABASE_NAME:database_name

VOLUME_NAME:’document_volume_name’

FILE_NAME:file_name_in_volume)

WITH=document_structure_name,

. . . . . .

}

스키마 화일 ( 문서적재 및 종료 )

예 ) LOAD_DOCUMENT{

(1) FROM=kord92

TO=(DATABASE_GROUP_NAME:SATURN

DATABASE_NAME:SATURN1

VOLUME_NAME:’saturnvol01’

FILE_NAME:kord92)

WITH=DOCSTRUC1,

. . . . . .

}

END

Page 19: KRISTAL-II v.1.6 을 이용한   Database  구축

문서적재 (1)

문서적재시 필요한 디렉토리 ~/data ~/schema ~/dict

• ~/dict/code• ~/dict/stopword

~/kristal• bin@, include@, lib@bin@, include@, lib@• KRISTAL-II KRISTAL-II 디렉토리와의 디렉토리와의 linklink

~/volume• catalog volume, document volumecatalog volume, document volume

Page 20: KRISTAL-II v.1.6 을 이용한   Database  구축

KRISTAL -Syntax < Schema_File_Name• schema schema 화일의 문법 오류만을 검사하고 실제작업은 수행하지 않음화일의 문법 오류만을 검사하고 실제작업은 수행하지 않음

KRISTAL -Create < Schema_File_Name• schema schema 파일에 지정된 목록볼륨과 문서볼륨을 생성하고 시스템정보를 파일에 지정된 목록볼륨과 문서볼륨을 생성하고 시스템정보를

목록볼륨에 저장목록볼륨에 저장

KRISTAL -Semantic < Schema_File_Name• schema schema 파일에 지정된 섹션이름파일에 지정된 섹션이름 , , 필요한 파일들의 존재 여부를 필요한 파일들의 존재 여부를

확인하고확인하고 , , 데이타베이스그룹 이름데이타베이스그룹 이름 , , 문서볼륨이름문서볼륨이름 , , 문서구조이름 등이 문서구조이름 등이 제대로 사용되었는 지 검사하고 실제작업은 수행하지 않음제대로 사용되었는 지 검사하고 실제작업은 수행하지 않음

문서 적재 (2)

Page 21: KRISTAL-II v.1.6 을 이용한   Database  구축

KRISTAL -Index < Schema_File_Name• schema schema 파일에 기술된 문서구조에 따라 원시문서를 읽어들인 후 파일에 기술된 문서구조에 따라 원시문서를 읽어들인 후

색인어를 추출하여 유닉스 파일로 저장색인어를 추출하여 유닉스 파일로 저장 . . 사용자가 색인어 파일을 사용자가 색인어 파일을 수정하여 새로운 내용으로 치환 가능수정하여 새로운 내용으로 치환 가능 ..

KRISTAL -Loadp < Schema_File_Name• schema schema 파일에 기술된 문서구조에 따라 원시문서를 읽어들여 문서 파일에 기술된 문서구조에 따라 원시문서를 읽어들여 문서

데이타베이스에 적재하고데이타베이스에 적재하고 , , 위의 과정에서 생성된 색인어 파일로부터 위의 과정에서 생성된 색인어 파일로부터 색인 파일을 적재색인 파일을 적재

KRISTAL -Alter < Schema_File_Name• 데이타베이스 적재후 변경사항 있을 경우 사용데이타베이스 적재후 변경사항 있을 경우 사용

문서 적재 (3)

Page 22: KRISTAL-II v.1.6 을 이용한   Database  구축

웹 인터페이스 구축웹 인터페이스 구축1) 1) 홈에서 홈에서 WebInterface.tarWebInterface.tar 를 푼다를 푼다

tar xvf WebInterface.tartar xvf WebInterface.tar

2) 2) 기본적인 기본적인 tuningtuning

make tuningmake tuning

3) ~/public_html/tuning/systemtuning.html3) ~/public_html/tuning/systemtuning.html 을 을 웹브라저로 읽는다웹브라저로 읽는다 ..

4) 4) 주어진 빈칸들을 채우고 실행을 시키면 시스템에 주어진 빈칸들을 채우고 실행을 시키면 시스템에 맞게 인터페이스가 맞게 인터페이스가 tuning tuning 된다된다 ..

2) 2) 다음 명령어에 의해 설치가 완료된다다음 명령어에 의해 설치가 완료된다 ..

make installmake install