본문 바로가기

DataBase

Oracle Text를 이용한 전체 텍스트 검색 애플리케이션의 구현 Oracle Text를 이용한 전체 텍스트 검색 애플리케이션의 구현 저자 ? Marko Asplund 오라클 데이터베이스를 이용하여 애플리케이션에 전체 텍스트 검색(full-text search) 기능을 구현하는 방법을 배워 보십시오. 게시일: 2007년 4월 Oracle Text는 모든 오라클 데이터베이스 제품(Express Edition 포함)에 기본적으로 포함되어 제공되는 강력한 검색 테크놀로지입니다. Oracle Text에서 제공되는 개발 API를 이용하여 완성도 높은 컨텐트 검색 애플리케이션을 쉽게 구현할 수 있습니다. Oracle Text는 SQL 와일드카드 매칭 기능을 보완하는 기능을 제공하며, 구조형/비구조형 문서를 검색하는 용도로 활용됩니다. Oracle Text는 기본적 불리언 연산자(.. 더보기
Oracle TABLE 정보관련 및 VIEW [A] All_all_tables user가 access할수있는 모든 Table All_catalog user가 access할수있는 모든 Table, Views, synonyms, sequence All_clusters user가 access할수있는 모든 clusters All_col_comments user가 access할수있는 모든 Table,Views에 대한 칼럼comments All_col_privs user에게 또는 Public에게 허용된 모든 칼럼에 대한 권한. All_col_privs_made user가 부여한 칼럼에 대한 권한. All_col_privs_recd user에게 또는 Public에게 허용된 모든 칼럼에 대한 권한. All_coll_types user가 access 할수 있는 모.. 더보기
ROWNUM의 동작 원리와 활용 방법 ROWNUM의 동작 원리와 활용 방법 이번 호의 Ask Tom 컬럼은 지금까지와는 조금 다른 내용을 담고 있습니다. 필자는 오라클 데이터베이스에서 Top-N 쿼리와 페이지네이션(pagination) 쿼리를 구현하는 방법에 대해 자주 질문을 받곤 합니다. 하나의 컬럼을 통해 이러한 질문에 한꺼번에 대답하기 위한 방편으로, 의 내용을 인용하기로 했습니다. 컬럼의 포맷에 맞게 책의 내용이 다소 수정되었음을 참고하시기 바랍니다. Tom Kyte 결과 셋의 제한 ROWNUM은 오라클 데이터베이스가 제공하는 마술과도 같은 컬럼입니다. 이 때문에 많은 사용자들이 문제를 겪기도 합니다. 하지만 그 원리와 활용 방법을 이해한다면 .. 더보기
데이터베이스 모델링 데이터베이스 모델링 데이터베이스 모델링 이란 ? 현실 세계의 업무적인 프로세서를 물리적으로 데이터베이스화 하기 위한 과정으로 실체와 관계를 중심으로 체계적으로 표현하고 문서화 하는 기법이며 정보 시스템의 중심을 데이터의 관점에서 접근하는 데이터 중심의 분석방법. 데이터베이스 모델링 과정 과정 과정 주요 TASK 요구사항 정의 및 업무분석 - 정보화대상 업무의 문서를 이용하여 데이터로 관리되는 항목을 파악하고 세부적인 업무 프로세스 정의를 위해 현업 담당자의 인터뷰를 실시 - 사용자 요구분석은 기본적인 서류중심의 분석이 마무리된 후에 진행 개념적 모델링 - 개별 사용자의 뷰를 대상으로 분석 및 설계를 통해 엔티티, 속성을 정의하고 관계등을 표현하여 중복 및 불일치되는 점을 제거하여 최종 하나의 개념적 데이.. 더보기
ANSI/X3/SPARC ANSI/X3/SPARC [ American National Standards Institute/X3 Committee/Stands Planning Requirement Committee ] 미국 표준 협회(ANSI) 산하의 X3 위원회(컴퓨터 및 정보 처리)의 특별 연구 분과 위원회. 1978년에 데이터베이스 관리 시스템과 그 인터페이스를 위한 일반적인 아키텍처를 제안하였다. 이 아키텍처는 3층 스키마 구조(three-schema architecture)로 되어 있는데, ANSI/X3/SPARC 모델 또는 ANSI/SPARC 모델이라고도 부르며 일부 데이터베이스 관리 시스템의 기초로 사용되고 있다. 외부 단계(external level): 각 사용자의 뷰 외부 계층은 여러 사용자들의 다양한 외부 스키마.. 더보기
Hashing Hashing 1 Hashing이란 무엇인가? Hashing(hashing)이란 한마디로 말해서 많은 양의 데이터(data)들을 그보다는 작은 크기의 테이블(table)로 대응(mapping)시켜 저장할 수 있도록 하는 일종의 데이터 관리 기법이다. 데이터들을 저장하거나 찾을 때 인덱스(index)라는 또다른 데이터 스트럭쳐(data structure)를 이용하는 대신, 각 데이터들이 테이블의 어느 영역에 위치할 것인가를 결정해주는 해쉬함수(hash function)를 사용하여 일정한 시간 내에 데이터들을 효과적으로 찾을 수 있도록 해주는 것이 바로 Hashing이다. 따라서 데이터들은 순차적으로 저장되는 것이 아니라 테이블 전 영역에 걸쳐서 고루 분포하게 되며, 저장된 데이터를 찾을 때에도 해쉬함수를 .. 더보기
데이터 저장기술 데이터베이스 관리시스템은 기본적으로 대용량의 데이터를 효율적으로 저장 하고 관리할 뿐만 아니라 여러 사용자가 동시에 접근할 수 있는 환경을 제공하 고 시스템의 고장에 대비하여 데이터베이스의 상태를 일관성 있게 유지하는 회 복 기능을 제공한다. 데이터베이스 관리시스템에 대한 사용자의 만족도는 데이 터의 저장기술과 관련된 시스템의 성능에 크게 좌우된다. 시스템의 성능은 데 이터베이스 내의 데이터를 표현하기 위한 데이터 구조의 효율성과 데이터에 대 한 연산을 얼마나 효율적으로 수행할 수 있는 지 여부에 달려있다. 자료저장 기술은 데이터베이스 시스템의 하부에서 데이터베이스 관리시스템의 성능을 좌 우하는 기술이다. 본 절에서는 먼저 기존의 Oracle, DB2, Informix 등의 데이터베이스 관리 시스 템에서.. 더보기
Chapter 6 PL SQL(Procedural Language/SQL) - 9 PLT 6.9 SUBPROGRAM PL/SQL을 지원하는 어떤 툴이나 언어에서도 SUBPROGRAM(프로시저와 함수)을 실행할 수 있다. PL/SQL내부에서 식의 일부로서 함수를 실행할 수 있다. EXECUTE는 명령 다음에 입력되는 Stored Procedure를 실행한다. SUBPROGRAM의 개요 PL/SQL 프로시저와 함수는 3GL의 프로시저 및 함수와 매우 비슷하게 동작된다. 모듈화를 통해 관리가 용이하고 적절히 논리적 단위로 나누어진 프로그래밍을 할 수 있다. 즉, 잘 정의된 논리적인 단위로 코드를 분할할 수 있다. PL/SQL에서 이들 단위를 단위 프로그램 또는 SUBPROGRAM이라 부른다. PL/SQL에는 프로시저와 함수라는 두 가지 유형의 SUBPROGRAM이 있다. SUBPROGRAM.. 더보기
Chapter 6 PL SQL(Procedural Language/SQL) - 8 PLT 6.8 PL/SQL로 예외 처리 PL/SQL 코드를 실행할 때 error 발생하는 경우가 있다. Error는 예외(Exception)를 발생시켜 PL/SQL 블록을 중지시키고 예외 처리기 부분으로 제어가 이동한다. Exception handler는 Exception을 검출하고 조건에 따라 조치 작업을 할 수 있다. 예외 처리란 예외는 PL/SQL 블록의 실행 중에 발생하여 블록의 주요 부분을 중단 시킨다. 항상 PL/SQL 예외가 발생할 때 블록은 항상 종료되지만 마지막 조치 작업을 수행하도록 예외 처리 부분을 작성할 수 있다. 1. 예외란 무엇인가 ? - PL/SQL을 실행 동안에 발생하는 error 처리를 의미한다. 2. 어떻게 발생되는가 ? - Oracle 오류가 발생할 때 - 사용자가 직접.. 더보기
Chapter 6 PL SQL(Procedural Language/SQL) - 7 PLT 6.7 매개변수와 CURSOR CURSOR가 열릴 때 CURSOR로 매개변수 값을 전달하고, CURSOR가 실행될 때 질의에서 그 값이 사용될 수 있습니다. 이것은 각 경우마다 다른 활성 셋(set)을 생성하는 블록에서 여러 번 명시적 CURSOR를 열고 닫을 수 있음을 의미합니다. CURSOR선언 시 각각 형식적인(formal) 매개변수는 OPEN문장에서 실제 해당 매개변수를 가져야 합니다. 매개변수 데이터형은 스칼라 변수의 데이터형과 동일하지만 크기는 주지 않습니다. 매개변수 명은 CURSOR의 질의 표현식에서 참조하기 위한 것입니다. CURSOR cursor_name [(parameter_name1 datatype, . . . .)] IS select_statement; cursor_name.. 더보기