Overview : XML과 Database

Slides:



Advertisements
Similar presentations
신도초 5 학년 4 반 김정수 지도교사 전혜원 선생님.  산출물 주제를 정하다가 문득 낮보다 왜 밤이 더 소리가 잘 들리는지 궁금해서 결정했다. 처음에 는 물질의 종류에 따른 소리의 크기로 하려 그랬 지만 실험이 너무 간단한 것 같아서 재료를 늘리 거나 온도를 높이려고.
Advertisements

Web Based Data Warehouse Query Tool 이화여자대학교 2002 년 컴퓨터학과 졸업프로젝트 14 조.
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
8 장 웹 프로그래밍 언어의 종류. 8.1 문서의 표준화  컴퓨터와 웹을 이용하기 위해서는 컴퓨터가 이 해할 수 있는 언어를 사용.  웹 프로그래밍 언어 (Web Programming Languages) 란 인터넷에 웹 서비스를 제공하거 나 제공받기 위하여 사용하는.
Information Retrieval (Chapter 6: 텍스트와 멀티미디어 언어)
D-Guard Security Suites 제품 소개서
- SW_Desing Study Group -
전자상거래 원론: 제18장 전자상거래 수행전략 및 구현.
eXtensible Markup Language
박용수 XML 박용수
웹 페이지.
HTML5 웹 프로그래밍 입문 (개정판) 1장. 인터넷과 웹환경의 발전.
2011년 봄학기 정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험
소리가 작으면 이어폰 사용 권장!.
Web Service / SOAP 배재대학교 컴퓨터공학과 멀티미디어정보공학연구실 이 상 조
XSD (XML Schema Definition)
XML 응용 프로그래밍 3장 XML 문서 제작 기본
HTML & CSS 겉핥기 2012 SUMMER SPARCS.
데이터베이스 시스템.
빅데이터 분석 과정.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
제 11 장 복 리 후 생 6조 김 태 찬, 양 승 원, 유 상 림, 박 미 현
빅데이터 순환 과정과 플랫폼.
10장. 웹 서비스 공격 (Attacking Web Service)
Chapter 05 SQL 인젝션 공격.
Information Technology
DB표준화 작업의 현황과 과제 Presentation
11장. 데이터베이스 서버 구축과 운영.
제 8장. 멀티미디어 데이터베이스 및 정보검색 시스템
HTML5 입문 인공지능 연구실.
데이터 웨어 하우스 이병규 김기훈.
1. 시멘틱웹(Semantic Web) Preview 항목 상세내역 개요 기출여부 관련KeyWord 추천사이트
HTML5 웹 프로그래밍 입문(교수용) 2장.HTML5 문서의 기본.
ㅎㅎ MS-SQL서버 2000과 XML MS-SQL 서버 2000과 XML 활용 HTTP를 이용한 XML 데이터 접근
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Database 소개.
소프트웨어시스템 실험 Software Systems Lab. 데이터베이스 기초
XML DOM (Document Object Model)
Lore: A Database Management System for XML
XML XSLT.
X M L 컴퓨터공학과 윤 홍 국.
[ 고급소프트웨어공학 ] XML parser: DOM G 김지희.
XML-I (eXtensible Markup Language) Instruction of XML
Booksinprint.com (BIP 2.0) 한글 매뉴얼
XML.NET XML 검색, 수정 프로그램 작성 2010 컴퓨터공학실험(Ⅰ)
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
Html(front end) & jsp(back end)
SQL (structured query language)
JSP 게시판 구현.
II. XML과 Database 연동 [Beginning XML, 제13장]
4. 관계 데이터베이스 (Relational Database)- 7, 8장
제 8 장 객체지향 데이타베이스와 데이타베이스의 새로운 응용 분야
데이터베이스 (Databases) 데이터베이스 소개 문양세 강원대학교 IT대학 컴퓨터과학전공.
정보 검색 연구 내용 및 연구 방향 충남대학교 정보통신공학부 맹 성 현 데이타베이스연구회 2000년도 춘계 튜토리얼
2002년 3월 한국후지쯔 주식회사 (소네트) 임철순 과장
SMIL.
Booksinprint.com (BIP 2.0) 한글 매뉴얼
Introduction to Semantic Web 시맨틱 웹의 개요
XML-II (eXtensible Markup Language) DTD/DOM
데이터베이스응용 오라클 개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
Web & Internet [02] HTML5 기본구조와 작성법
제 8장 데이터베이스.
05 ASP.NET 2.0 페이지 및 응용 프로그램 구조 웹 폼(Web Form) 웹 폼 이벤트
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
ER-관계 사상에 의한 관계 데이터베이스 설계
ㅎㅎ DTD DTD 개념 DTD 문법 [실습] DTD 활용.
3장. 데이터베이스 시스템 데이터베이스 시스템의 정의 데이터베이스의 구조 데이터베이스 사용자 데이터 언어
Presentation transcript:

Overview : XML과 Database 멀티미디어 데이터베이스 (2001.10.23~11.1)

목차 강의노트(PPT 파일) : http://mm.sookmyung.ac.kr/~sblim 1. Overview XML 개요 XML 문서 저장/검색 시스템, XML 데이터 모델링, XML 질의언어 2. XML과 Database 연동 [교재] Beginning XML, David Hunter 외 5인 공저, 정보문화사, 2001. 제13장 XML과 데이터베이스, pp.625-654. 3. XML 질의 언어 (XML Query Language) [교재] XML-QL , XQL 사양 문서 [참고] Quilt , XQuery 1.0

1. XML 개요 eXtensible Markup Language 의 약어, W3C의 표준 XML의 사양은 SGML보다 훨씬 간략 XML은 메타 언어(meta language) 마크업 언어를 만들기 위한 언어 : 문서 유형을 만드는 역할, 즉 요소(element)를 선언하고 이 요소들의 관계를 기술하는 언어 문서의 구조 및 의미를 마크업으로 정의. 문서의 표현(스타일)은 분리 : CSS, XSL 등의 스타일시 사용 XML의 구성 (관련된 기술 표준 http://www.w3.org/ ) 문서 내용을 위한 XML, 스키마 정의를 위한 DTD, XML-data, XDL 문서 구조 접근을 위한 DOM , SAX 문서 질의 등을 위한 XQL, XML-QL, XQuery 문서 변환 혹은 표시를 위한 CSS, XSL (XSLT, XSL-FO) 문서의 링크를 위한 XLink, XPointer 등

XML의 장점 및 응용 분야 범용성 및 확장성 태그가 문서의 내용과 밀접하게 관련 웹 응용분야의 데이터/정보 교환 언어로 발전 문서의 내용에 관련된 독자적 tag를 직접 만들어 사용 가능 XML 파일은 구조와 의미에 관한 정보만 포함, 출력 표현은 스타일시트로 분리 태그가 문서의 내용과 밀접하게 관련 XML의 tag가 검색에 효율적으로 사용 가능 데이터로써 취급 가능, 즉 스스로 설명 가능한 데이터가 될 수 있다. => 잘 설계된 데이터베이스 역할이 가능 웹 응용분야의 데이터/정보 교환 언어로 발전 전자상거래, 전자도서관, 검색엔진과 같은 분야에서 활발한 연구 XML은 다른 마크업 언어를 생성할 수 있음 MathML, CML(Chemical Markup Language), WML(Wireless ML) XHTML, SMIL(Synchronized Multimedia Integration Language) ebXML, OEB(Open eBook), EBKS, …

XML 예제 문서형 선언부(DTD: Data Type Definition): 문서구조 정의 <?xml version="1.0" encoding="EUC-KR"?>   <!DOCTYPE 방명록 [         <!ELEMENT 방명록 (성명, 전자우편, 내용)>         <!ELEMENT 성명 (성, 이름)>         <!ELEMENT 성 (#PCDATA)>         <!ELEMENT 이름 (#PCDATA)>         <!ELEMENT 전자우편 (#PCDATA)>         <!ELEMENT 내용 (#PCDATA)>         <!ATTLIST 내용 종류 (TEXT|HTML) "HTML">   ]> 문서부(DI : Document Instance)    <방명록>       <성명>            <성>홍</성>  <이름>길동</이름>       </성명>       <전자우편>gildong@email.com</전자우편>       <내용 종류="HTML">안녕하세요? 만나서 반갑습니다.</내용>  </방명록>

스타일시트 (Stylesheet) 기타 표현 요소 CSS(Cascading Style Sheet) 또는 XSL(eXtensible Stylesheet Language) 문서의 배치 혹은 포맷을 표현 XML 문서의 출력과정 문서의 논리적 구조 및 내용과 출력형식이 분리되는 것을 원칙 기타 표현 요소 시간적 배치 : SMIL (Synchronized Multimedia Integration Language) 문서의 링크 : XLink, XPointer 문서의 위치, 패턴 : XPath 문서 구조 접근 : DOM(Document Object Model) , SAX(Simple API for XML)

XML 문서의 특성 문서의 논리적 구조를 문서 내에 포함 => DTD <!ELEMENT book (author+, title, publisher)> <!ATTLIST book type CDATA> <!ELEMENT publisher (name, address)> <!ELEMENT author (firstname?, lastname)> … 논리적 구조 위에 공간적, 시간적, 네트웍(링크) 구조 표현 DOM(Document Object Model) : 응용프로그램 API book XSL, CSS SMIL XLink, XPointer author+ title publisher + firstname? lastname name address . . .

2. XML문서 저장 /검색 시스템 특징 Data-Centric XML 문서 Document-Centric XML 문서 정형적인 구조 로서 내용과 구조가 혼재되어 있는 양이 적다 CALS/EC 등 대규모의 표준화된 데이터, 비행 스케줄 , 메시지 등 엘리먼트를 저장 , 조작 , 변경하는 데 중요한 의미를 가진다 Document-Centric XML 문서 비정형적인 구조로서 매우 혼재된 형태의 내용을 가진다 전자도서관, 전자책, 온라인 매뉴얼, 논문 , 광고 등 Intranet, WCMS(Web Contents Management System) 문서 단위의 저장, 내용검색, 문서단위 검색이 중요한 기능이 된다 Data-Centric 과 Document-Centric XML 문서 혼재 정형 데이터, 비정형 데이터 혼재 : 멀티미디어 데이터베이스

필요 기능 XML 저장 기능 XML 검색 기능 DTD / XML Instance (문서) Loading 기능 파싱 / 검증 기능 DTD / Instance 파싱, Well-formed / Valid 검사 저장 기능 DTD, XML Instance, External Entity / XLink 관련 문서 XML 검색 기능 내용정보 검색 엘리먼트 내용, XML Instance 내의 내용 같은 문서 타입 (DTD) 중의 내용, 서로 다른 문서 타입 (DTD) 간의 내용 Attribute 검색 : 이름 / 값에 대한 검색 구조정보 검색 타입 /순서 / 계층 정보, 순환 (Traversing) 검색 링크정보 검색

XML 삭제 기능 XML 수정 기능 XML Instance 삭제 기능 DTD 삭제 기능 엘리먼트 삭제 기능 엘리먼트 추가 기능 Document ID 를 이용한 삭제 DTD ID 를 이용한 문서 셋 삭제 검색된 엘리먼트를 포함하는 문서, 검색된 문서에 대한 삭제 DTD 삭제 기능 DTD Name 을 이용한 DTD 삭제, DTD 에 해당하는 문서 셋 삭제 XML 수정 기능 엘리먼트 삭제 기능 특정 엘리먼트 삭제, 특정 엘리먼트의 자식 /자손 /형제들 삭제 엘리먼트 추가 기능 특정 엘리먼트의 특정 위치로 엘리먼트 추가 엘리먼트 변경 기능 속성 추가 /삭제 /변경 기능, 엘리먼트 내용의 변경

XML 저장 / 검색 시스템 사례 국외 개발 사례 (http://www.xmlsoftware.com/) 국내 개발 사례 XML Database System eXcelon – Object Design  eXcelon Inc. Oracle 8i – Oracle Tamino – Software AG XML Content Management System Bladerunner – Interleaf POET CMS – POET 국내 개발 사례 ReposiWare –한국정보공학 ㈜ XCMS – 한국지식웨어 ㈜ XDMS – Techno2000 Project BADA IV/XML – ETRI XD2M2 –충남대 데이터베이스 연구실

3. XML 데이터 모델링 전용 데이터베이스 시스템 구현 기존 데이터베이스 시스템 이용 <DB 구현 방법에 따라> 질의어가 정규 경로식 형태 => 새로운 모델을 제대로 표현 => 구현 완료성 및 시스템 안정성 불안, 기존 연구 할용 부족 기존 데이터베이스 시스템 이용 OODB, 또는 RDB 이용 문서 저장을 위한 적절한 테이블 또는 클래스 생성 XML에 대한 질의를 DB 질의어로 변환 => Wrapping : 기존 시스템 이용 Database에 저장하기 위한 스키마 생성이 관건 엘리먼트 의미를 저장하는 방법, XML 트리 구조를 저장하는 방법

XML 문서를 하나의 큰 객체로 저장 적절한 크기의 객체로 나누어 저장 <저장방법에 따라> 파일 형태, RDB의 BLOB(Binary Large Object) 또는 OODB의 LargeObject에 저장 구현이 간단하다 원하는 정보 추출시 XML문서 전체를 파싱해야 한다 적절한 크기의 객체로 나누어 저장 1) XML 문서의 의미를 보존하는 방법 예) <book> 태그 : book 에 관한 정보임 => book 테이블, 또는 book class 에 book 엘리먼트 저장 XML DTD로부터 스키마를 생성하므로 DB구조가 가변적이어야 함 2) 구조적인 정보를 이용하여 저장 트리형태의 XML 데이터를 테이블/클래스에 매핑하여 저장 XML 응용 프로그램에 적용할 때 편리

OODB vs RDB for XML DBMS RDBMS 상에 XML 데이터베이스 시스템 구현 이유 대부분의 기관에서 관계 데이터베이스 시스템 사용 기존 RDBMS 위에 개발된 여러 응용 시스템과 연동 필요 XML 데이터 저장 /검색 시스템을 위해 새로운 데이터베이스 시스템 구입은 비용적 부담 구분 OODB RDB XML Model Integrity XML Model 을 보전 XML Model 의 구조와 의미를 쪼개어 Table 에 저장 Large Data Volumes Excellent scalability 조인의 필요성 때문에 scalability 가 좋지 못하다 Link Management and Navigation 문서–엘리먼트등 다양한 종류의 링크가 가능 링크는 primary key lookup 에 의해서만 가능 Full-text Queries 태그 영역까지의 full-text 인덱싱 가능 제한적으로 가능

RDBMS 상의 XML 모델링 Problem : XML 모델 Integrity 문제 Solution OODB 에서는 파싱된 객체를 바로 Complex object 형태로 저장 RDB는 객체를 여러 개의 테이블에 쪼개어 저장 : 검색시 조인 필요 Solution 스키마 설계시 DTD 독립적 스키마 생성 : 객체 관련 테이블 최소화 XML 구조의 의미를 유지하는 ID 부여 방법 : 계산만으로 구조 연산을 지원하여 DB 참조 최소화 Decomposition 기법 해당객체가 실제 내용 (content,value)을 저장 검색시 하위 객체의 내용을 취합 => 성능 저하 객체의 내용 변경시 다른 객체는 영향을 받지 않는다 . Virtual Fragmentation 기법 해당객체는 하위객체에 대한 오프셋과 길이, 검색 시 취합과정 없음 객체의 변경 시 다른 객체의 관련정보도 영향을 받음

4. XML 질의 언어 XML Query Language XML-QL (1998) XQL (1998) W3C XML Query Working Group XML-QL, XPath, XQL, YATL, XSQL, etc. XML-QL (1998) Web 환경 하에서 다량의 XML 데이터 availability 를 높이기 위해 XQL (1998) XML문서의 패턴 검색, XSL pattern syntax 에서 발전 Quilt (2000) => Xquery (2001) XQL과 XML-QL의 특징을 통합

XQL 특징 Syntax XSL pattern syntax 에서 확장 XML 문서의 엘리먼트/텍스트를 접근하거나 필터링하기 위한 표기 절차적(procedural)보다는 선언적(declarative) 출력 형식은 정의하지 않는다 Syntax 특정 노드 또는 엘리먼트를 명시하는 정확한 표기가 가능 URI directory navigation syntax 를 사용 / : root context, // : descendent, * : collection of all children, @ : attribute 결과 : Context – Query의 수행결과로 생성되는 set of node 예제 /book/author , ./author , author , //author , author//first-name , bookstore/*/title, author/**/* @style

Filters : [ ] - filter clause Grouping 모든 괄호 Filters : [ ] - filter clause collection의 모든 엘리먼트에 대하여 조건 검색 예) book[@style] book[/bookstore/@specialty = @style] Boolean Expressions & Equivalence $and$, $or$ =, !=, $eq$, $ne$

XML-QL 특징 Syntax Web 환경 하에서 다량의 XML 데이터 availability 를 높이기 위해 다량의 XML 문서에서 데이터 추출, 데이터 변환, 여러 장소의 XML 데이터의 통합, 다량의 XML 데이터 전송을 위해 정의 결과 : well-formed XML 문서 Syntax 패턴을 사용하여 데이터 매칭 element pattern을 사용 ‘$’: variable indicator (예 $a) </> : end tag 결과로서 새로운 XML 데이터를 생성 Grouping with Nested Queries Joining Elements by Value CONTENT_AS, ELEMENT_AS

예제 Query 문서 => bib.xml 결과문서 <bib> <book year=“2000"> WHERE <book> <publisher><name> 숙명여대 </></> <title> $t </> <author> $a</> </> IN "bib.xml" CONSTRUCT <result> <title> $t</> </> <bib> <book year=“2000"> <title> 데이터베이스 시스템 </title> <author> <lastname> 홍길동 </lastname> </author> <publisher> <name> 숙명여대 </name> </publisher> </book> <book year=“2001"> <title> XML 데이터베이스 </title> <author> <lastname> 고소영 </lastname> </author> <publisher> <name> 숙명여대</name> </publisher> </bib> <result> <author> <lastname> 홍길동 </lastname> </author> <title> 데이터베이스 시스템 </title> </result> <title> XML 데이터베이스 </title> <author> <lastname> 고소영 </lastname> </author>