리포트

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

데이터베이스 표준 기술 동향

리포트
DBMS별 분류
Sybase
작성자
dataonair
작성일
2003-01-01 00:00
조회
8932
pdf.gif11-31.pdf











1. 데이터베이스 언어 SQL(Database Language SQL)

SQL의 표준화 목적은 표준을 따르는 제품(즉, 데이터베이스 관리 시스템 : DBMS)들간에 SQL 응용 프로그램들의 호환성(Portability)을 가능하게 하기 위한 것으로, 이를 통해 데이터베이스 시장의 활성화와 안정화를 기할 수 있다. 그리하여, 현재 다양한 벤더(예를 들면, Oracle, IBM, Informix, Sybase, MS 등)들과 사용자들이 참여하여 여러 나라의 공동 노력으로 SQL의 표준화에 기여하고 있다.
현재까지 진행된 WG3의 ISO/IEC 9075: 200x 버전은 다음과 같이 9개 Part로 구성되어 있다.

가. SQL/Framework

SQL/Framework에서는 ISO/IEC 9075에서 사용하는 공통적인 정의와 기본 개념들을 기술하고 있다. 또한, ISO/IEC 9075를 구성하는 9개 part에 대한 간략한 설명과 기존의 ISO/IEC 9075에서 지원하던 개념 및 sequence gene- rator와 같이 새롭게 추가된 개념에 대해 정의하고 있다.

나. SQL/Foundation

SQL/Foundation은 SQL 자료를 생성, 접근, 유지 관리 및 통제하는데 필요한 기능을 제공하는 데이터베이스 언어의 구문 및 의미를 규정하고 있다. 이 문서는 ISO/IEC 9075:1999의 편집상의 교정과 개정안으로 추가되었던 OLAP을 위한 window table 개념, aggregate function과 그룹핑 기능을 포함하고 있으며, sequence generator 기능, unicode character string 타입 등을 새로 추가하고 있다.
이 문서에서는 Call-Level Interface와 비슷한 이슈들이 삭제되고, Information Schema와 Definition Schema에 대한 정의가 별도의 part(SQL/Schemata)로 구성됨에 따라 이에 대한 내용도 삭제되었다. 또한, SQL2에서는 SQL을 프로그래밍 언어에 내장하여 사용하는 방법과 동적 SQL에 대해 별도의 SQL/Bindings 문서로 구성하던 것을 이 문서에 흡수 통합하였다.

다. SQL/CLI(Call-Level Interface)

SQL/CLI는 응용 프로그램에서 SQL을 실행하기 위한 메커니즘을 기술하고 있는데, 사용자가 이를 사용하면 응용 프로그램의 pre-compiling이 필요치 않게 된다. SQL/CLI는 응용 수준에서의 데이터베이스 연동을 위한 기본 표준으로 이용된다. 이것은 SAG (SQL Access Group)와 X/Open의 CLI 및 Microsoft사의 ODBC에 근거하고 있다. 기존의 CLI:1999와 거의 차이가 없으나, 새로 제정될 SQL:200x와 ODBC 3.0 특성에 맞추어 이를 반영한 수정 작업이 이루어지고 있다.

라. SQL/PSM(Persistent Stored Modules)

SQL/PSM은 부가적인 SQL문들의 구문과 의미를 기술함으로써 SQL을 computational complete하게 만든다. 이것은 SQL 서버 모듈의 절차적 로직에 대한 구문을 지정하고 있다. 또한, 제어의 흐름을 지시하기 위한 문장의 명세, 변수/인수에 대한 표현식의 결과 지정, 지역 변수와 커서의 선언, 조건 처리기 및 신호 조건의 명세 등과 같은 내용을 포함하고 있다.
PSM:1999 문서 이후에는 함수와 프로시저 기능을 SQL/Foundation에 삽입하였다. 이 문서의 기술 내용은 Oracle의 PL/SQL이나 Transact-SQL과 비슷한 형태라 할 수 있다.

마. SQL/MED(Management of External Data)

SQL/MED는 데이터베이스의 외부 데이터 관리를 위한 기능을 포함한다. 이를 위해 새로운 데이터 타입인 datalink와 foreign server, foreign data wrapper, foreign tables를 지원하며 이를 이용한 외부 데이터 관리 방법을 제공한다.

바. SQL/OLB(Object Language Binding)

SQL/OLB는 객체 지향 언어인 Java 바인딩 기능들을 기술하고 있다. 즉, SQL/OLB는 강력한 타입 반복(Iterator)을 사용하여 Java프로그램 내에 SQL 구문을 내포시키는 기능을 제공하는데, SQL/OLB 프로그램은 JDBC 응용 프로그램 보다 작게 된다. Java 프로그래밍 언어에 삽입되는 SQL에 대한 ANSI 표준을 SQLJ라 한다. SQLJ는 개발자가 Java 코드 내에 SQL 구문을 삽입할 수 있다.

사. SQL/Schemata(Information and Definition Schemas)

SQL/Schemata는 Information Schema와 Definition Schema에 대한 정의를 기술하고 있다. 또한, SQL 객체 식별자와 SQL 구조 및 SQL 데이터의 참조 무결성, 보안 관계, 권한 부여 관계 등의 기능들을 기술하고 있다.

아. SQL/JRT(SQL Routines and Types Using the Java™ Programming Language)

SQL/JRT는 SQL 데이터베이스 내에 저장된 Java 루틴에 대한 정의를 기술하고 있다. 이 렇게 저장된 Java 루틴들은 SQL 문에서 호출되어 사용될 수 있다. 또한 테이블 정의시에 SQL 컬럼의 데이터 타입으로 사용될 수 있는 Java class들에 대해 기술하고 있다.

자. SQL/XML(XML-Related Specifications)

SQL/XML은 SQL과 XML이 함께 이용될 수 있는 방법에 대해 언급하고 있는데, ISO/ IEC에는 2000년 9월에 제안되었으며, 개발자와 표준 참여자가 모여 SQLX라는 비공식적인 그룹을 형성하기도 하였다. SQL/XML의 데이터 모델은 XQuery 1.0과 XPath 2.0 데이터 모델을 기반으로 할 예정이나, 약간의 차이점이 드러날 것으로 보인다.
현재 SQL/XML에서 검토중인 기반 구조로서 XML과의 매핑과 지원 기능은 다음과 같다.

  • SQL 식별자와 XML QName 간의 매핑
  • SQL 데이터 타입과 XML 스키마 타입간의 매핑
  • SQL 값과 XML 값 사이의 매핑
  • SQL 테이블/스키마/카탈로그와 XML 문서/스키마/엘리먼트간의 매핑
  • SQL데이터에서 XML을 생성하거나 XML 렌즈를 통해 SQL 데이터를 viewing
  • SQL 데이터베이스 내에 XML을 저장하기 위한 XML 내장 타입 지원
  • SQL데이터베이스 내에서 XML을 관리(삽입, 삭제, 변경)하는 기능
  • SQL 데이터베이스에 저장된 XML 데이터를 검색하는데 유용한 XPath의 사용

2. SQL 멀티미디어 및 응용 패키지 (SQL Multimedia & Application Packages)

SQL 멀티미디어 및 응용 패키지 표준의 적용 범위는 텍스트, 그래픽, 이미지 정보와 같은 멀티미디어 영역과 데이터마이닝과 같은 그 밖의 주제 영역에서 사용되는 데이터가 SQL 데이터베이스에서 조작되고 저장될 수 있도록 하며, 이러한 데이터에 공통적인 일반적 데이터 타입의 패키지들을 정의하는 것이다. 이러한 데이터 타입 정의는 데이터베이스 언어인 SQL의 기존 기능들과 함께 사용될 수 있도록 제공되고 있다.
SQL 멀티미디어는 Full-Text, Spatial, Still Image, Still Graphic, Animation, Full Motion Video, Audio, Seismic 등과 같은 멀티미디어 데이터를 다양한 응용 분야에서 추상 데이터 타입(abstract data types) 패키지 형태로 사용할 수 있도록 규정한다. 이러한 추상 데이터 타입 정의 패키지는 SQL 데이터베이스 언어에서 제공하는 사용자 정의 타입 기능을 이용하여 명세 된다.
SQL 멀티미디어 및 응용 패키지는 5개 part로 구성되어 있으며, 각 part별 표준 기술 내용은 다음과 같다.

가. SQL/MM Framework

SQL/MM Framework에서는 SQL 멀티미디어 표준 문서의 다른 part에서 제공하는 speci- fication들을 기반으로 그에 대한 표준화 접근 방법과 구현 및 사용 목적에 관해 기술하고 있다.

나. SQL/MM Full-Text

SQL/MM의 full text에서는 full text와 search pattern을 어떻게 구조화할 것인지, 그리고 그렇게 구조화된 search pattern에 따라 full text 데이터를 어떻게 search할 것인지에 대한 규약과 사용자 정의 타입, 관련 루틴들을 제공한다.
full text내에서 search pattern의 구조 단위로서 사용되는 text model로는 word, sen- tence, paragraph 들이 있으며, 이러한 search pattern은 두 가지 경우에 적용될 수 있다. 하나는 텍스트 내에 특정 패턴이 존재하는지를 단순히 식별해 내는 기능과 또 하나는 존재한다면 얼마나 많은 내용이 어느 정도의 적합성을 갖는지를 나타내는 scoring 기능으로 나눌 수 있다.

다. SQL/MM Spatial

SQL/MM Spatial은 geometry나 location, topology 같은 spatial 데이터와 관련된 정보들을 데이터베이스 내에서 저장하고, 관리하고, 검색할 수 있는 규약 및 사용자 정의 타입과 루틴들을 제공하고 있다. 특히, 루트 타입인 기하(Geometry) 타입을 기반으로 이의 서브타입들을 정의하고 있다. 이러한 서브타입들은 2 차원 좌표 공간에 존재하는 0 차원, 1 차원, 2 차원 기하 타입들을 의미한다. 이 표준 문서에서 0 차원 기하 타입으로는 점(Point) 타입과 이의 서브타입들이 정의되며, 1 차원 기하 타입으로는 곡선(Curve) 타입과 이의 서브타입들이, 그리고 2 차원 기하 타입으로 면(Surface) 타입과 이의 서브타입들이 정의된다. 그밖에 기하 집합(Geometry Collection) 타입과 공간 인용계(Spatial Reference System) 타입 및 지원 루틴들을 정의하고 있다.
Spatial에서 제공하는 기하 타입의 메소드들을 이용해 geometric 질의(즉, 공간상의 기하학적 성질을 이용한 질의, 예를 들면, 거리, 넓이 등)들을 할 수 있으며, 위상적 공간 관계를 이용해 객체들간의 공간 관계 (예를 들면, 포함관계, 이웃 관계 등)를 나타낼 수 있다.

라. SQL/MM Still Image

SQL/MM Still Image는 SQL 멀티미디어에서 대용량의 정지 화상 정보에 대한 사용자 정의 타입과 이와 관련된 루틴들을 정의한다. 특히 Still Image의 사용자 정의 타입은 높이, 너비, format과 같은 이미지 본래의 특성을 기반으로 하는 정보와 average color, color histogram, positional color, texture와 같은 이미지 특성을 기반으로 하는 정보를 저장하고, 관리하고, 검색하기 위한 필요 기능들을 제공하고 있다. 또한, 두 이미지의 유사성을 측정해서 수치로 표현된 값을 얻을 수 있는 메소드도 제공한다.

마. Data Mining

SQL 응용 패키지의 Data Mining은 데이터마이닝 데이터 처리에 공통으로 사용가능한 사용자 정의 타입을 제공하며, 데이터마이닝 모델, 데이터마이닝 세팅, 데이터마이닝 테스트 결과 등과 같은 요소들을 기반으로 정보를 저장, 관리, 검색하기 위해 필요한 사항들을 제공한다. 데이터마이닝은 대량의 실제 데이터로부터 이전에 잘 알려지지 않고 추출해 내기가 쉽지 않은 패턴, 즉 사용자가 추출되는 데이터의 스키마를 설정할 수 없는 패턴을 탐색하는 작업이다. 결국, 구체적 사실인 데이터베이스 레코드들로부터 일반화된 지식인 규칙성을 발견하는 작업이라 할 수 있다.
SQL 응용 패키지의 Data Mining은 데이터마이닝을 SQL 질의의 일부로서 허용하게 한다. 특히, 이 문서는 데이터마이닝 모델의 포맷이나 데이터마이닝 메타데이터의 포맷을 지정하는 것이 아니며, 데이터마이닝 기술을 구현하기 위한 알고리즘을 명세하는 것도 아니다. SQL 데이터와 데이터마이닝을 함께 가져올 수 있고, 데이터마이닝 모델을 계산해서 테스트하고 적용할 수 있는 SQL 인터페이스를 제공할 목적으로 진행되는 표준이다. SQL응용 패키지의 Data Mining은 데이터마이닝 모델이 계산되는 training 단계와 모델을 테스트하는 test 단계, 모델을 사용하는 application 단계로 구분되며, 데이터마이닝 모델 타입을 제공한다.

제공 : DB포탈사이트 DBguide.net