220 likes | 352 Views
KRISTAL-II v.1.6 을 이용한 Database 구축. 1997. 7. 11. 연구개발정보센터 김진숙 /GIIS. 차례. 데이타베이스 구조 문서구조 색인형태 데이타베이스 적재 스키마화일 문서적재 웹인터페이스 구축. 데이타베이스 구조. Database Group. Catalog. 데이타베이스그룹 카탈로그 데이터베이스 카탈로그 문서 카탈로그 섹션 카탈로그 복합섹션 카탈로그. 데이타베이스 1. 데이타베이스 n. 데이타베이스 2. 데이타베이스 3. 문서볼륨 2.
E N D
KRISTAL-II v.1.6을이용한 Database 구축 1997. 7. 11. 연구개발정보센터 김진숙/GIIS
차례 • 데이타베이스 구조 • 문서구조 • 색인형태 • 데이타베이스 적재 • 스키마화일 • 문서적재 • 웹인터페이스 구축
데이타베이스 구조 Database Group Catalog ..... 데이타베이스그룹 카탈로그 데이터베이스 카탈로그 문서 카탈로그 섹션 카탈로그 복합섹션 카탈로그 데이타베이스 1 데이타베이스 n 데이타베이스 2 데이타베이스 3 문서볼륨 2 문서볼륨 N 카탈로그볼륨 문서볼륨 1 • Catalog Volume • 하나 이상의 데이타베이스들에 대한 문서구조, 저장 위치, 색인 방법 등에 대한 정보들을 저장 • Document Volume • 구축하려는 실제의 문서들과 문서들에 대한 색인 저장 • Database Group • n개의 데이타베이스를 하나의 DB Group으로 확장
문서 구조 • 기본 섹션 (Primitive Section) • 문서를 구성하는 최소 단위 • 예) 제어번호, 저자, 제목, 초록 섹션 등 • 코드화된 섹션(Coded Section) • 축약된 형태의 데이타를 갖는 섹션을 위한 논리적인 섹션 • 예) 문헌종류 코드, 기관코드 등 • 결합 섹션(Complex Section) • 두개 이상의 기본 섹션들을 결합한 논리적인 섹션 • 예) 서명(통일서명, 총서명, 등), 저자 섹션 등
색인 형태(1) • EXACT • 기본섹션의 내용 또는 값 전체를 하나의 색인어로 추출 • 예) 제어번호, 기관코드 등 • INCLUSIVE_NONE, INCLUSIVE_MA • 내용기반의 부분 일치 검색 • 형태소 해석기의 사용 유무 • 예) 제목, 초록 등 • Not_Exist • 색인을 수행하지 않음
색인 형태(2) • INCLUSIVE_CHAR • 글자단위로 색인어 생성 • “홍_길동”, “홍_길_동”, “홍길동”의 검색 • 예) 저자명 등 • NUMERIC • 숫자로만 구성된 기본 섹션의 색인어 추출 • 예) 날짜, 일련번호 등 • STRING • EXACT와 동일한 방식이나 값의 비교가 가능 • 예) 제어번호 등
데이타베이스 적재 Database Schema File Documents Code List Stopwords KRISTAL LOADER Catalog Database Group Catalog Database Document Database 1 Document Database n ... Document Database 2 Document Volume 1 Document Volume 2 Document Volume 3 Document Volume n Catalog Volume
스키마 화일 • 스키마 화일 • 데이타베이스 디렉토리, 문서 볼륨, DB 그룹, 섹션의 정의, 기본 섹션 색인 방법 정의, 원시 문서의 구조, 적재 방법 등에 관한 정보 • DATABASE_DIRECTORY • CREATE_DOCUMENT_VOLUME • CREATE_SCHEMA • CREATE_DATABASE • DEFINE_DOCUMENT_STRUCTURE • DEFINE_DOCUMENT_GROUP • LOAD_DATABASE • END
스키마 화일(DB 디렉토리 지정) • DATABASE_DIRECTORY • DATABASE_DIRECTORY=‘directory_name’; // 디렉토리 이름 • 예) • DATABASE_DIRECTORY=‘/home/saturn/volume’; • 데이타베이스를 저장하기 위한 디렉토리 지정 • KRISTAL-II가 시스템 내부적으로 사용하는 목록데이타베이스 생성 및 문서볼륨 저장을 위한 명령어 • 위의 결과로 목록볼륨과 문서식별자 매핑 파일이 생성된다. /home/saturn/volume/CATALOG.SYS /home/saturn/volume/DOCLOC.SYS
스키마 화일(문서볼륨 생성) • 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
스키마 화일 (CREATE_SCHEMA) • 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] • } • };
스키마 화일(SECTION_DEFINITION) • 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 • { • (1) LABEL=“문헌종류” • SECTION_NAME=DT, • (2) LABEL=“문헌종류” • SECTION_NAME=DTC • . . . . . . • (n) LABEL=“초록” • SECTION_NAME=AB • }
스키마 화일(COMPLEX_SECTION_DEFINITION) • 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 • { • (1) LABEL=“기본 검색 필드” • SECTION_NAME=BI • SECTIONS=(TI, AB), • (2) LABEL=“저자” • SECTION_NAME=AU • SECTIONS=(TI, AB), • . . . . . . • }
스키마 화일(INDEX_DEFINITION) • 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 • { • (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’), • . . . . . . • }
스키마 화일(CREATE_DATABASE) • CREATE_DATABASE • { • (1) DATABASE_GROUP_NAME=“database_group_name” • DATABASES=(database_name, database_name, ......, database_name) • } • 예) CREATE_DATABASE • { • (1) DATABASE_GROUP_NAME=SATURN • DATABASES=(SATURN1, SATURN2, SATURN3, SATURN4, SATURN5, SATURN6, • SATURN7, SATURN8, SATURN9, SATURN10, SATURN12, SATURN13, • SATURN14, SATURN15) • }
스키마 화일(문서구조 정의) • 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, • } . . . . . . • }
스키마 화일(문서그룹 정의) • 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’), • . . . . . . • }
스키마 화일(문서적재 및 종료) • 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
문서적재(1) 문서적재시 필요한 디렉토리 • ~/data • ~/schema • ~/dict • ~/dict/code • ~/dict/stopword • ~/kristal • bin@, include@, lib@ • KRISTAL-II 디렉토리와의 link • ~/volume • catalog volume, document volume
문서 적재(2) • KRISTAL -Syntax < Schema_File_Name • schema 화일의 문법 오류만을 검사하고 실제작업은 수행하지 않음 • KRISTAL -Create < Schema_File_Name • schema 파일에 지정된 목록볼륨과 문서볼륨을 생성하고 시스템정보를 목록볼륨에 저장 • KRISTAL -Semantic < Schema_File_Name • schema 파일에 지정된 섹션이름, 필요한 파일들의 존재 여부를 확인하고, 데이타베이스그룹 이름, 문서볼륨이름, 문서구조이름 등이 제대로 사용되었는 지 검사하고 실제작업은 수행하지 않음
문서 적재(3) • KRISTAL -Index < Schema_File_Name • schema 파일에 기술된 문서구조에 따라 원시문서를 읽어들인 후 색인어를 추출하여 유닉스 파일로 저장. 사용자가 색인어 파일을 수정하여 새로운 내용으로 치환 가능. • KRISTAL -Loadp < Schema_File_Name • schema 파일에 기술된 문서구조에 따라 원시문서를 읽어들여 문서 데이타베이스에 적재하고, 위의 과정에서 생성된 색인어 파일로부터 색인 파일을 적재 • KRISTAL -Alter < Schema_File_Name • 데이타베이스 적재후 변경사항 있을 경우 사용
웹 인터페이스 구축 1) 홈에서 WebInterface.tar를 푼다 tar xvf WebInterface.tar 2) 기본적인 tuning make tuning 3) ~/public_html/tuning/systemtuning.html을 웹브라저로 읽는다. 4) 주어진 빈칸들을 채우고 실행을 시키면 시스템에 맞게 인터페이스가 tuning 된다. 2) 다음 명령어에 의해 설치가 완료된다. make install