새소식

반응형
밥벌이/기타 데이터베이스

XML 데이터베이스

  • -
반응형
  • XML 개요
    • XML의 정의
      • W3C에서 웹 상의 구조화된 문서를 효율적으로 처리하도록 설계한 마크업 언어
      • SGML의 실용적인 기능만을 모은 부분 집합으로, 인터넷상에서 광범위하게 사용될 차세대 언어
      • 현재는 마크업 언어 보다는 데이터 교환 포멧으로 널리 사용되고 있음
    • XML의 특징
      • 범용성 및 확장성
        • 문서의 내용에 관련된 독자적 태그를 직접 만들어 사용가능
        • XML 파일은 구조와 의미에 관한 정보만 포함하고, 출력 표현은 스타일시트로 분리
      • 태그의 활용
        • XML의 태그를 이용해 효율적인 검색이 가능
        • 데이터로서 취급 가능, 즉 스스로 설명 가능한 데이터가 될 수 있음
      • 웹 응용 분야의 데이터 교환 언어로 발전

        전자 상거래, 전자 도서관, 검색 엔진과 같은 분야에서 활발하게 연구함

      • XML은 다른 마크업 언어를 생성할 수 있음

        MathML, CML, WML, SMIL 등

           

  • XML의 구성 요소
    • XML 데이터의 구성

      Tag, element, Attribute 등

    • XML 데이터의 구조 정의

      DTD, XML 스키마

항목

DTD

XML 스키마

문법

EBNF + pseudo XML

XML 1.0

내용 모델

(content Mdoel)

약함(단순한 순차적 표현 도는 리스트의 선택만을 지원)

강력(현재 사용되는 모든 데이터 타입을 지원)

데이터 타입

String, Name Tokens, ID 등

String, Numeric, Date/Time, Structure 등

이름 공간

전역적인 이름들만 이용 가능

전역적, 지역적 이름 모두 이용 가능

객체 상속

제공 안됨

제공

확장성

제한적(XML 1.0 스펙 변경)

비제한적

동적인 문서 구조

제공되지 않음(작성된 DTD는 런타임상 읽기만 가능)

제공(스키마들은 런타임상 선택 및 변경 가능)

   

  • 표준 언어 및 API
    • 표준 XML 질의 및 변환 언어
      • Xpath

        XML 문서의 구조에 대한 경로식(Path Expression) 구문을 사용하여 항목을 선택해서 검색하는 기능을 제공하는 언어

      • XSLT

        XML을 XML로 변환하거나 XML을 HTML로 변환하기 위해 설계된 범용 변환 언어

      • XQuery

        W3C에서 표준화하고 있는 다양한 XML 문서를 해석하고 검색하는 기능을 제공하는 범용 XML 질의 언어

      • SQL/XML

        ISO에서 XML 데이터를 처리하기 위해 표준화하고 있는 SQL의 확장 언어

      • 기타
        • XLink : XML 문서들 간의 링크를 기술하고 만들어 내기 위해 사용하는 언어
        • XPointer : XML 문서의 내부 구조 안에서 또는 외부 파싱된 Element 를 참조할 때 사용하는 언어로서, XPath 를 확장하고 XLink와 결합하여 사용
    • 표준 XML API
      • SAX(Simple API for XML)
        • 파서 모델에 기반하여 사용자는 이벤트를 파싱하기 위한 이벤트 핸들러를 제공
        • 이벤트의 예 : Element의 시작, Element의 끝 등
        • 데이터베이스 응용에 적합하지 않음
      • DOM(Document Object Model)

        XML 데이터가 트리 표현으로 파싱되고, DOM 트리를 순회하거나 갱신하기 위한 다양한 함수를 제공

         

  • XML 데이터베이스 개요
    • 정의

      비정형 구조의 가변 길이 XML 데이터를 저장, 검색, 관리하는 데이터베이스

    • 특징
      • 계층적 구조가 반복되고 중첩된 정보 표현
      • 한 노드에 복수 값의 정의가 가능
      • 기존의 상용 DBMS에 저장 시 성능상의 문제 야기
    • XML 데이터베이스 구성 개념도

      • Wrapper

        다양한 소스를 공통 데이터 모델로 매핑하여 정보를 추출하기 위해 공통 질의어로 변환

      • Mediator

        정보 소스들의 변경 없이 정보 통합을 가능하게 하는 것으로, 사용자의 질의를 재작성하여 각 사이트의 Wrapper에게 분산 질의하며, Wrapper로부터 데이터를 combine, integrate, refine 함

         

  • XML 데이터베이스 구현 방법
    • 파일 관리형

      XML 데이터를 파일 시스템상의 파일로 보관

    • RDBMS 매핑형
      • XML의 계층 구조를 RDB의 관계로 표현하고, XML의 각 요소와 속성을 테이블 또는 필드로 표현하는 방식
      • 현재 가장 많이 사용되고 있음
    • 객체-지향형
      • XML의 계층 구조를 객체-지향형 모델의 클래스 계층에 매핑하는 방식
      • XML과 모델이 유사하므로, 대부분의 XML 데이터 구조 저장이 가능
    • Native XML형
      • XML의 계층 구조를 계층형 데이터베이스 구조로 관리하며, 노드의 데이터나 속성을 XML 데이터로 관리하는 방식
      • 가장 이상적인 방법
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.