The Journal of Korean Institute of CALS/EC Vol. 7, No. 1, April 2002
UML Class 모델을 이용한 XML 응용 설계 방법론 *
* 본 연구는 정보통신부의
ITRC사업에 의해 수행된 것임.
** 순천향대학교 전산학과
방승윤 **
, 주경수 **
XML Application Design Methodology using Mod
시
of UML ClassBang Sung-yoon, Joo
Kyung-Soo
Abstract
Nowadays an information exchange on XML such as nzn electronic commerce is spreading. Therefore the systematic and stable management mechanism for storing the exchanged information is needed. For this goal there are many research activities for connection between XML application and relational database. But because XML data have hierarchical structures and relational database can store only flat-structured data, we need to store XML data in object-relational database that support hierarchical structure. Accordingly the modeling methodology for storing XML data in object-relational database is needed.
In order to build good quality application systems, modeling is an important first step. In 1997, the OMG adopted the UML as its standard modeling language. Since industry has warmly embraced UML, its popularity should become more important in the future. So a design methodology based on UML is need to develop efficiently XML applications.
In this paper, we propose a unified design methodology for XML applications based on
object-relational database using UML. To this goal, first we introduce a XML modeling
methodology tn design W3C XML schema using UML and second we propose data modeling
methodology for object-r ■이 ational database schema to store efficiently XML data in
object-relational databases.
154
한국전자거래
(CALS/EC)학회지 제꿘 제
1호
L
서론
XML 은 구조화된 정보를 포함하고 있는 문서들을 위한 마크업 언어이다. 구조화된 정 보는 구체적인 내용과 그 내용이 수행해야 할 역할을 포함하고 있다[0. XML Schema 애 대한 연구는 지금도 계속 W3C 에서 연구 진행 중인 W3C XML Schema 가 표준 XML Schema 의 스펙이 될 가능성이 가장 높은 실 정이다. W3C XML Schema 는 XML DTD 보 다 다양한 데이터 타입을 정의할 수 있고 강 력한 표현력을 이용하여 다양한 어플리케이 션으로 사용하기에 편리한 장점을 가지고 있 다. 또한 attribute, element, 사용자 정의 데 이터 타입에 대해서 상속하는 메커니즘올 갖 고 있다. 그러므로 XML 관련자들의 많은 관 심올 끌고 있는 것은 사실이다 [2 皿 5].
한편 XML 어플리케이션과 데이터베이스 시스템 사이의 원활한 연계롤 위해서, 그 동 안 XML DTD 를 관계형 데이터베이스 스키 마로 변환하는 방법에 대해서는 많은 연구가 진행되었다. 그러나 아직까지 표준화가 진행 중인 W3C XML Schema 를 UML 를 이용한 클래스 다이어그램에 의해서 모델링하고 그 모델링에 의해 교환되는 데이터를 ORDBS.
저장하는 통합 모델링에 대한 연구는 미비한 실정이다. 본 논문에서는 2 장에서 관련 연구, 3 장에서 UML 를 이용한 통합 모델링, 4 장에 서는 W3C XML Schema 의 관계성, 5 장에서 는 XML 모델링, 6 장에서는 데이터 모델링 그리고 마지막 7 장에서는 결론을 기술한다.
2.
관련 연구
XML 이 단순한 컨텐츠에서 데이터베이스로 까지 그 적용 분야가 확장되면서 XML 로 표현 된 정보들올 어떻게 효율적으로 저장하고 관 리할 것인지에 대한 기술도 XML 과 함께 발전 되어 가고 있다. 가장 큰 이슈 중의 하나는 기 존의 DBMS 로도 XML 파일을 효율적으로 관 리할 수 있는가이다.
XML Sdiema 에 대한 연구는 W3C 와 XML 에 관심 있는 관련자들에 의해서 연구되 었고, W3C Recstimmiation 으로 채택되었다 [12], UML 를 이용한 XML 모델링에 대한 연 구는 UML 를 XML Schema 로 변환할 때 UML 확장 메커니즘 (stereotype and tagged values) 올 사용하여 XML 구조를 표현하였다
[11]
. 또한 UML 클래스 다이어그램올 XML DTD 로 자동 변환하고 XML DTD 를 XML Schema 로 자동 변환하는 도구 (twl) 의 개발은 모델을 만드는 자 (modeller) 가 XML Schema 구문에 익숙하지 못해도 XML 모델링올 신속 하게 하고 개별적으로 서로 다른 언어 또는 환경에서 모델 어휘들올 재 사용할 수 있게 하였다 [13][14].
그 동안 많은 논문들이 복잡한 XML 파일올 관계형 데이터베이스에 저장하는데 초점을 맞추 어 데이터배이스와 XML 문서의 연결에 대하여 발표되었다 [20]21
丄발표돤 논문들의 내용을 분 류하면 주어진 XML 파일올 관계형 ,데이터베이 스에 어떻게 저장할 것인가 하는 제안들을 하고 있으며, 주어진 XML 파일이나 DTD 로부터 정 보의 의미에 대하여 데이터베이스 제약사항들올 다루는 방법을 제안한대 6] [7][8][9].
XML 문서를 객체-관계 시스템으로 구조
UML Class
모델을 이용한
XML응용 설계 방법론
155화된 데이터 타입 형태로 저장하는 방법이 제 안되고 있다 [5H8]. 다른 한편으로는 객체-관계 데이터베이스로부터 XML 로 변환하는 내용을 다루고 있으며, 그 내용은 어떻게 XML 파일 을 객체-관계 데이터베이스에 저장하여 빠르 게 질의할 것인가를 다루고 있다 [4H10]. 또한 XML 파일을 객체지향 데이터베이스로 저장하 기 위한 모델링 방안에 대한 연구는 객체모델 을 토대로하여 XML DTD 를 객체지향 데이터 베이스 스키마로 변환하기 위한 방법론이 제 안되었다 [23].
위와 같이 부분적으로 제안된 연구는 많으 나 UML 클래스 다이어그램을 이용하여 XML 모델링 (XML Schema) 과 데이터 모델링 (ORDB Schema) 으로 변환하는 통합 설계 방 법론을 제안한 연구는 미비한 실정이다. 따라 서 이에 대한 통합 설계 방법론이 요구되고 있다. 본 연구에서 제안한 통합 설계 방법론은 XML 어플리케이션올 체계적이고 효율적으로 설계할 수 있으며 프로그램 개발을 통합적으 로 추진할 수 있는 장점을 가지고 있다.
3. UML를 이용한 모델링
UML 은 소프트웨어 시스템의 구조물을 명 세화, 구조화, 시각화, 문서화뿐만 아니라 비-소
프트웨어 시스템 그리고 비즈니스 모델링을 위 한 하나의 언어이다 [17]. 또한 XML 프로그램 이나 XML 를 이용한 B2B 시스템 구축과 같은 XML 프로젝트에서는 객체 지향적 설계 언어 인 UML 올 이용하여 개발의 효율을 높일 수 있다.
순차 다이어그램은 응용 프로그램에서 사 건의 흐름을 분명하게 하는 역할을 하며 글로 풀어서 쓴 유스 케이스 (Use case) 를 메시지로 표현한 그림으로 변환할 수 있다. 또한 그 그 림은 항상 더 간결하게 이해되고, 특히 우리가 클래스 다이어그램을 만들 때 작업을 쉽게 해 준다. 그러므로 UML 을 이용해 유스케이스에 의한 순차 다이어그램을 도출하여 클래스 다 이어그램을 만든 후 그 클래스 다이어그램에 의해서〈그림 1> 과 같이 XML 모델링과 데이 터 모델링으로 변환할 수 있다.
〈그림 2> 의 순차 다이어그램은 객체들간의 메시지 과정을 설명한다. 이 다이어그램은 메 시지 객체들과 진행과정에 관계된 actors 를 포 함하고 있다.
〈그림 2> 에서 객체들과 actors 이외에 수직 의 축은 시간을 표현한다. 화살표는 행위 또는 객체와 actors 간에 발생하는 사건을 표현한다.
이 순차 다이어그램은 2 개의 새로운 actors ('Distribution Manager', 'Shippin 蟾 Agent') 를
UML
이용한 순차 다이어그램
〈그림 1> UML 을 이용한 XML 모델링과 데이터 모델링
156
한국전자거래
(CALS/氏)학회지 제
7권 제
1호
DistnUautor
Enter Order
:
Order :Delivery f\lc+icaSubmissior toPublisher
Complete R( celpt
Sendto Dlstrlt utor Ship
Delivery Timeline
Generate Deliverynotice alivery
NotifyDistrlbul ionof Pending D
〈그림 2> 메시지 객체와 순차 다이어그램
소개한다. 이것은 시스템에서 actors 를 설명하 는 객체를 의미한다.〈그림 3> 의 클래스 다이 어그램은 3 개의 메시지 그리고 그들의 연관된 속성과 서브-객체를 예를 들어 설명한다 [3
丄〈그림 3> 은 'Order' 그리고 'Order
Receipt' 간에 관계성에서 연관 관계를 갖는다 왜냐하면 1 Order Receipt' 는 'Order' 객체에 의존하고 있기 때문이다. 이것은 반 직관적일 수 있다. 그 이유는 진행흐름의 방향이 'Order, 가 발생하면 'Order Receipt' 가 존재하
〈그림 3> 클래스 다이어그램
UML Class
모델윻 이용한
XML응용 설계 방법론
157기 때문이다. 그렇지만〈그림 3> 은 진행과정 을 설명하지 않고 오직 진행과정에 참여하는 정보항목 그리고 객체들간에 종속성과 관계성 올 설명한다. 진행의 설명을 자세히 하기 위해 서는 객체 정의가 필요하고 주문처리에 대한
객체들의 정의는〈표 1> 과 같다⑶.
각각의 객체 ('Order,, z Order Receipt, 'Delivery Notice') 에 대한 속성, 사상수, 관계 성은〈표 2> 와 같다.
〈표 1> 객체 정의
클래스 기 술
Order 구체적인 달에 배달해야 할 잡지의 수량을 Distributoi •가 Distribution Manager 에게 송신한다. 또한 배달 요구 날짜를 포함.
Order Receipt
Distribution Manager 는 Distributor 에 의거한 Order 에 대한 대답을 송신 한다. 주문된 수량, 그 주문에 대한 계산된 총액, 예상 선적일, 주문상태 를 기술한다.
Delivery Notice
Distribution Manager 는 출판물이 Shipping Agent 에 배달된 후에 Distributor 에게 송신한다. 선적된 날짜, 예상 배달날짜, 수량, 출판 달을 기술한다
〈표 2> 객체들의 속성(서브-객체), 사상수, 관계성
클래스 속성/서브-객체 사상수 관계 기술
Quantity 1・ .1 복합 요구한 잡지의 수량올 기술해야 함
Order
Distributor 1. ・1 집합 Distributor 를 기술해야 함 Required Delivery Date 0 . ・1 복합 배달날짜를 기술할 수 있다 Publication Month 1・ .1 복합 출판 달을 기술해야 함
Quantity 1 . .1 복합 주문수량올 숭인해야 함
Order
Status 1 . .1 복합 주문 상태를 기술해야 함
Receipt
Expected Delivery Date 0 . .1 복합 예상 배달날짜를 기술할 수 있다
Amount Billed 1・ .1 복합 주문에 대한 계산금액을 기술
Quantity 1 . .1 복합 배달된 수량을 기술해야 함
Delivery Notice
Date Shipped 1 . .1 복합 선적날짜를 기술해야함
Shipping Agent 1・ ・1 잡 합 선적한 중개인을 기술해야 함
Expected Arrival Date 1 . .1 복합 예상된 도착날짜를 기술해야 함
Publication Month 1・ . 1 복합 출판 달올 기술해야 함
158
한국전자거래
(CALS/EC)학회지 제
7권 제
1호
4. W3C
XML
SchemaW3C XML Schema 는 아직도 표준화가 진 행 중인 상태이지만, 큰 틀은 바뀌지 않을 것 이다. Schema 의 표기법은 제안한 업체마다 조 금씩 다르긴 하지만 데이터 형식 및 반복 횟 수 지정 등, 그 자체가 XML 구조로 되어 있 다는 것은 공통점이다 [18].
관계성 표현은 정보모델에서 객체들에 관 련하여 4 가지 유형(복합, 집합, 상속, 연관)의 관계성을 말한다. 이 관계성들은 '각각 XML Schema 에서 표현될 수 있다⑶.
① 복합관계
복합관계는 가장 이해하기 쉬운 관계성이 다. 이것은 하나의 용기 (Gontainer) 안에 한 객 체의 단순중첩을 말한다. XI 血에서 이것은 또 하나의 element 자식과 마찬가지로. element 또는 attribute 를 정의하는 것으로 변환한다.
② 집합관계
복합관계와 마찬가지로 동일한 기법올 사 용하며, element 를 포함하는 복합관계의 내부 에 독립적으로 존재하는 객체를 정의한다.
③ 상속관계
샹속관계는 오직 형식 (Types) 에 적용한다.
XML Schema 에서 상속구조는 매우 간단하다
고 할 수 있다. XML Schema 에 2 개의 기본적 인 형식이 있는데 이것은 simple type 과 complex type 이다. 그렇지만 hybrid complex type 은 simple type 으로부터 상속한다.
④ 연관관계
연관관계는 2 개의 객체 또는 속성들이 서로 상호간에 관련된 곳에서, 이들 2 개의 항목들을 함께 묶도록 XML instance. document 안에 링 크를 생성하는 것이 가능하다. 이것은 집합관 계에서 보여준 동일한 '수법을 사용하며 관련 된 ■항목들에 관해서는 1
时// 7 戚를 pair 로 생 성해서 처리한다.
5.
XML 모델링
XML 어플리케이션에서 기본이 되는 XML Schema 설계 과정에서 최적의 Schema 가 되 도록 하기 위해서 물리적인 모형이나 도해를 만드는 것올 말한다.
5.1 XML Schema
를 위한
XML모델링 방법
3 절에서 제시한 UML 클래스를 이용한 XML 모델링 과정의 도식화는〈그림 4> 와 같 다
〈그림 4> XML 모델링 과정
UML Class
모델을 이용한
XML응용 설계 방법론
159〈그림 4> 에서 W3C XML Schema 도출을 위한 XML 모델링 방법은 다음의 방법들을 사 용한다⑶.
① empty elements 또는 empty attributes 를 인정 안함. 그 대신 그들이 어떤 값을 갖는 지 또는 값이 존재하지 않는지 둘 중의 하 나를 분명히 함. 만일 element 가 필수적이 면 minOccurs="l", attribute 가 필수적이면 use="required” 로 설정함. 또한 그 값이 미 심쩍을 때는 empty 문자열을 인정함. 그때 element 인 경우 minOccurs="0”, attribute 인
경우 use="optionaF' 로 설정함.
② whitespace 는 instance document 의 크기를 크게 할 수 있음. 그 경우 파일 크기가 제 한적임을 분명히 하기 위해 XML instance document 를,수산하는 어플리케이션이 필요 함. 또한 일반적으로 프로세싱 어플리케이 션은 데이터구조의 크기에 관하여 약간의 제한을 가짐. 그렇기 때문에 개별적인 필드 들은 길이를 제한함. 특히 key 일 경우 대 부분의 데이터베이스들은 필드들의 일정한 형식에 입각하여 크기 제한함.
③ 문자 집합과 필드크기를 제한할 경우 base types(string, decimal, integer) 를 이용하여 속성 값의 데이터 형식을 지정함.
④ element 또는 attribute 값의 유일함을 나타 내기 위헤 unique element 를 사용함.
⑤ document 에서 2 개의 location 을 연관시키기 위해 key/keyref element 를 사용함.
⑥ 만일 Schema 가 클 경우 그룹참조 방법을 사용하여 별개의. 파일로 sections 를 이동시 킴. 이때 추상적 원리를 균일하게 적용하고 별개의 파일로 이동한 sections 의 . Schema 파일은 전역적 element# 갖지 않음.
simple type 정의, complex type 정의, 그룹정 의를 모두 포함하고 있는 파일을 가질 수 있고, 그들을 관련된 block 으로 분할 가능 함.
⑦ namespace 를 어디서 변경해도 instance document 에서는 어떤 element 라도 사용 가 능함. 그리고 그 location 에서 허락한 자식 elements 의 number 와 namespace 를 일일 이 지정함. 새로운 namespace 에서 element 의 이름을 분명히 . 하기 위해 element ref=". . element * 상술한다.
⑧ 만일 element 또는 attribute/} 특정한 조건 으로 존재하지 않으면, 어플리케이션은 기 본값 (default value) 이 존재함을 표시 가능 함. 그것은 element 또는 attribute 선언에서 default attribute 사용으로 지정 가능함.
⑨ instance document 에서 유도형 (derived type) 이 치환되는 것을 방지하기 위해 Schema element 에 blockDefault="#all"
attribute 를 포함킴.
⑩ 현재 Schema 에서 선언된 것으로부터 어떤 새로운 형식이 유도되는 것을 방지하기 위 해 Schema element 에 finalDefault="#al]〃
attribute 를 포함시킴. 이것은 blockDefault 보다 엄격한 제한조건임.
5.2 XML
모델링의 에
〈그림 3> 에서 'Order' 객체와 'Distributor'
객체는 관계성에서 집합관계이며 이 의미는
'Order' 객체가 'Distributor' 를 갖고았어야 하
며 따라서 'Distributor, 쪽이 다중성 값이 1..1
이라는 것을 보여주고 있다 반면 'Order, 객체
의 다중성 값이 L.1 인 것은 주문여부에 '따라
160
한국전자거래
(CALS/EC)학회지 제
7권 제[호
서 'Distributor, 가 존재할 수 있음올 의미한 다. 이를 XML 모델링을 하기 위해서는 XML Schema 를 위한 XML 모델링 방법 ①과 ④를 적용하여 XML Schema 로 모델링 하면〈그림 5> 와 같다.
<element namgprd驴〉
<oomplexType>
<sequence>
<element name='Publication Month" type^Mate11 minOccurs="r maxOccurs^V^
<element name=BQuantity type=W minOccurs^T maxOccurs=
* l7>
<element name^'Required D이igry Date" type^'date* minOccurs=Br maxOocurs»'r/>
<element REF=1t)istributor'
</sequence>
</complexType>
</element>
<element name^'Distributor^
<comptexType>
〈attribute name^^Distributor" type="ID# use=Brequired*/>
</complexType>
</olement>
〈그림 5> Order 객체 XML Schema 모델링
〈그림 5> 에서 'Order, 객체는 3 개의 자식 객체와 1 개의 참조객체를 가지고 있다. 또한 'Order' 객체에서 참조하는 'Distributor' 객체 는 자식객체를 갖고 있지 왆으면서 'Order Receipt' 객체와 연관관계로 인하여 type=ID 로 설정하고 ,OEer' 객체에서 반드시 기술해야 한다는〈표 2> 에 의해서 use=required 로. 설정 하기 위해서 attribute 로 정의하였다.
〈그림 3>에서 'Deliv 但 y Notice' 객체와 'Ship 应 I 叩 Agent' 객체는 관계성에서 집합관 계이며 이 의미는 'Delivery Notice' 객체가
'Shining Agent' 객체를 갖고 있어야 하며 'Delivery Notice' 객체의 존재 여부에 따라 'Shipping Agent' 객체가 존재할 수 있다. 이 를 XML 모델링올 하기 위해서는 XML Schema 를 위한 XML 모델링 방법 ①과 ④를 적용하여 XML Schema 로 모델링 하면〈그림 6> 과 같다.
<element name=,lDelivery Notice>
<comptexType>
<sequence>
<element name^Vublication 새。nth type="data"
mjfQccurm,maxOccurs="r/>
〈element names<lQuantity type^,int' minOccurB='V maxOccurs='1,/>
<element nafnes'Expected Arrival Date" type="date' minOccurs
**
r maxOccurs그"IV>
<element name逐Dm Shipped' type^Mate"
m»nOccufs=Br maxOccurs-T^
<element REF고'Ship애】。Aoent"
</sequence>
</complexType>
</element>
<element na(ne='ShippinQ Agent">
<complexType>
〈attribute name^'Shipping Agent" type='strinQ' uso3E>required7>
<ZcomplexType>
</element>
<그림 6> Delivery Notice 객체의 XML Schema 모델링
〈그림 6> 에서 'Delivery Notice' 객체는 4
개의 자식객체와 1 개의 참조객체를^]•지고 있
다. 또한 'Delivery Notice' 객체에서 참조하는
-Shipping Agent' 객체는 자식객체를 갖고 있
지 않으면서 'Delivery Notice' 객체에서 반드
시 기술해야 한다는(표 2> 에 의해서 use
UML Class
모델을 이용한
XML응용 설계 방법론
161=required 로 설정하기 위해서 attribute 로 정의 하였다.
〈그림 3> 에서 'Ord 如 Receipt' 객체와 'Order' 객체는 관계성의 종류에서 연관관계를 나타내며, 객체들간의 연관관계에서 역할이름 은 '〈〈 Response to>>' 이다. 'Order Receipf 객체는 4 개의 자식객체를 포함하고 있으며 이 중에서 'Expected Delivery Date' 객체는 'Order, 객체의 'Distribute, 속성과의 관계성 을 고려해서 type=IDREF 로 설정하였다. 이를 XML 모델링을 하기 위해서 XML Schema 를 위한 XML 모델링 방법 ①과 ④ 그리고 관계 성을 적용하여 XML Schema 로 모델링하면
〈그림 7> 과 같다.
<element name=',Order Receipt*>
<complexType>
<sequence>
<element name-'Quantity" type«"int7>
<element names<lExpected Delivery Date* type="IDREF7>
<element name-'Amounted Billed" type~'double7>
<element name^'Status" type그'Mtring"/〉
</sequence>
</complexType>
</element>
〈그림 7> Order Receipt 객체의 XML Schema 모델링
〈그림 3> 에서 'Order' 객체와 'Order Receipt' 객체간의 연관관계의 관계성 표현은 XML 모델링 방법 ⑤에 의해서〈그림 8> 과 같다.
〈element name=',Order Receipts*>
<keyref refer^^rdedD' name="dummy"
<selector xpath그"Order Receipt*/ 〉
〈filed xpath="Expected Delivery Date7>
</keyref>
</element>
<element name="Orders"
<key name="OrdertD'>
<selector xpath드"Orde广/〉
<filed gth드.Distributor'/〉
</key>
</element>
〈그림 8> Order Receipt Schana 의 관계성 표현
6. 데이터
모델링
데이터베이스 스키마 변환 과정에서 정보 구조로부터 논리적 개념을 이용하여 어떤 논리 적(데이터) 구조로 표현하는 것이 필요한데, 데 이터 모델링이란 이 변환 과정을 말한다 [19].
6.1 ORDB
스키마 모델링
〈그림 3> 의 클래스 다이어그램을 ORDB Scham 로 변환한다.〈표 1> 과〈표 2> 에서 언 급한 내용으로 객체 (Object), 관계성 (Relation -ships), 멀티플리시티 (Multiplicity), 방향성 (Direction) O] 만들어지며, 이들은 ORDB Schema 객체, 즉 객체 타입, 객체 테이블, 참 조 대 포함, 컬렉션으로 변환된다 [16][22].
6.2 ORDB
변환 방법
3 절에서 제시한 UML 클래스를 이용한 데이
터 모델링 과정의 도식화는〈그림 9> 와 같다.
162
한국전자거래
(CALS/EC)학회지 제
7권 제
1호
毫 一^卜W
〈그림 9> 데이터 모델링 과정
〈그림 9> 에서 ORDB Schema 도출을 위한
ORDB 변환 방법은 다음의 방법들을 사용한
대 16].
① 객체 클래스는 구조화된 객체 타입올 생성함.
테이블과 연결하여 타입을」개 또는여러 개 의 테이블에 객체의 원소가 되도록 함.
② 객체 타입은 사용자 정의 타입이거나, 속성 을 가진 객체 타입임.
③ 클래스에서의 객체 속성은 객체 타입에서 의 속성임.
④ 타엽이 테이블이나 객체 또는 특정 타입으 로 변환때 클래스의 객체 속성 타입은 객 체 타입의 속성 타입임.
⑤ 객체 속성이 NULL 제약조건을 가지면 NOT NULL 제약조건도 가짐.
⑥ 객체 속성이 초기 값올 가지면 컬럼에 DEFAULT 값을 추가함.
⑦ 독립적인 클래스나 함축적인 성질을 가진 클래스들을 위해 기본키로 정수를 생성하 고 {o 记}를 위해 태그된 컬럼에 기본키 제 약조건에 따라 {0
记}를 추가함.
⑧ 부 클래스를 위해 기본키 제약조건과 외래 키 제약조건에 따라 각각의 부모 클래스의 키를 추가함.
⑨ 클래스들의 결합을 위해 객체 타입올 생성
하고 기본키 제약조건과 외래키 제약조건에 따른 역할 테이블로부터 기본키를 추가함.
⑩ 교환 oid 가 <n> 인 경우 UNIQUE 제약조 건에 따른 컬럼올 추가함.
⑪ 각각의 확실한 제약조건올 위해 CHECK 를 실시함;
⑫ 결합하는데 있어서 각각의 0..1, 1..1 역할을 위한 참조 테이블에서 외래키 컬럼올 생성 함. 교대로 단일 객체들이나 컬렉션을 위한 그 자신'안에서 속성으로.객체를 선언하기 위하여 객채 타입에 참조를 사용함 또는 다중관계 객체를 위한 참조의 배열로 객체 를 선언하기 위하여 객체 타입에 참조를 사용함.
⑬ 집합 테이블에 외래키를 가진 다중 집합을 위해 기본키를 생성하고, 기본키를 위한 컬 럼을 추가하며, 테이블 안에서 그 집합을 저장하기 위한 객체 타입올 사용함. 또한 단일 객체를 위한 객체 속성 또는 컬렉션 올 통하여 배열아나 중첩 테이블올 사용함.
⑭ 너무 많이 이동하게 되는 이진 결합 클래 스들올 최적화 함.
⑮ 외래키를 사용하여 결합이 안된 클래스와 함께 N : N 결합의 관계 테이블올 생성함.
⑯ N : N 결합에서. 역할,.테이블의 키로부터 기본키, 외래키의 제약조건을 생성함.
⑰ 객체 클래스의 전달 작용올 위한 객체 타 입에 메소드를 생성함.
6.3 ORDB
스키마 변환 예
(1) 〈그림 3> 과〈표 1> 및〈표 2> 에 의한
'Distributor' 객체는 ORDB 변환 방법 ③
번의 성질에 따라 'Distributor"/ 객체타입
HL Class
모델율 이용한
XML응용 설계 방법론
163속성을 저장하는 ^stributof 테이블로
〈그림 10> 과 같이 변환된다.
SQL> CREATE TYPE DistributorJ AS OBJECT (
Distributor string, );
SQL> CREATE TABLE Distributor OF Distributor^;
〈그림 10> Distributor 테이블
(2) 〈그림 3> 과〈표 1> 및〈표 2> 에 의한 아 lipping Agent' 객체는 ORDB 변환 방 법 ③의' 성질에 따라 Shipping Agent_t,
객체타입 속성을 저장하는 -Shipping Agent' 테이블로 VI 림 11> 과 같이 변환 된다.
SQL> CREATE TYPE Delivery Notice.t AS OBJECT
Publication Month date,
Quantity int.
Expected Arrival Date date,
Date Shipped date,
Shipping Agent Shipping Agent_t,
SQL > CREATE TABLE glivwy N이眼 OF Delivery Notice_t
〈그림 12> Delivery Notice 테이블
⑷〈그림 3 〉과〈표 1> 및〈표 2> 에 의한 'Order, 객체는 ORDB 변환 방법 ③과 ④ 의 성질에 따라 'Order_t' 객체타입 속성 을 저장하며 'Distributor, 의 객체타입은 < 그림 10> 에서 정의한 'Distributor_t' 를 적 용하고〈그림 13> 과 같이 변환한다.
SQL> CREATE TYPE Shipping Aoent_t AS OBJECT (
Shipping Agent stting, );
SQL> CREATE TABLE Shipping Agent OF Shipping AgenLt
〈그림 11> Shipping Agent 테이블
⑶〈그림 3> 과〈표 1> 및〈표 2> 에 의한 'Delivery Notice * 객체는 ORDB 변환 방 법' ③과 ④의 성질에 따라 1 Delivery Notice
* , 객체타입 속성을'저장하며, 속성 아 dpping Agent' 의 객체타입은〈그림 11> 에서 정의한 'Shipping. Agent_t' 를 적 용하고〈그림 12> 와 같이 변환한다.
〈그림 13> Order 테이블
SQL> CREATE TYPE OrderJ AS OBJECT
(
Publication Month date,
Quantity int.
Required Delivery Date date,
Distributor DistributorJ,
);
SQL> CREATE TABLE Order OF OrderJ;
⑸〈그림 3> 과〈표 1> 및〈표 2> 에' 의한 'Order Receiptz 객체는 ORDB 변환 방법
③과 ④및 ⑫의 성질에 따라 'Order
Receipt_t' 객체타입 속성을 저장하며
'Order' 객체와 'Order Receipt/ 객체는 연
관관계로서 ,Order' 정보속성 (refOrder) 에
대해서 SCOPE FOR 문을 이용하여 참조하
164
한국전자거래
(CALS/EC)학회자 제
7권 제]호
는 'Order' 객체 테이블 명올 정의하여
〈그림 14> 와 같이 변환한다.
SQL> CREATE TYPE Order ReceipLt AS OBJECT (
Quantity int.
Amount Silled double, Expected Delivery Date date*
Status string,
refOrder REF Ordect
);
SQL> CREATE TABLE Order Receipt OF Order ReceipLtC SCOPE FOR gQ2er) IS Order);
〈그림 14> Order Receipt 테이블
7 .결론
XML 올 이용하여 상호 교환되는 정보를 체 계적이고 안정적으로 저장•관리하기 위해서 XML 옹용과 데이터베이스 연계롤 위한 다양 한 연구가 지금까지 관계형 데이터베이스룔
중심으로 수행되었다. 그러나 XML 응용에서 DTD 가 다양한 데이터 타입을 정의할 수 없는 한계 때문에 데이터베이스에 매끄럽게 연계시 키기 어려운 점이 있으며, 또한 계층구조를 갖 는 XML 데이터를 2 차원 테이블의 집합인 관 계형 데이터베이스로의 저장에는 본질적인 한 계가 있다.
본 논문에서는 계층구조를 갖는 XML 데이 터룔 계충구조롤 지원하는 ORDB 로 저장이 가능하도록 하는 통합 모델링 방법론을 제안 하였다. 이룔 위하여 우선적으로 객체지향 설 계언어인 UML 룔 이용해서 클래스 다이어그램 을 도츨한 후, 클래스 다이어그램에 의해서 W3C 에서 연구 중인 W3C XML Schema 설계 롤 위한 XML 모델링을 소개하고 이들의 모델 링으로 교환되는 XML 데이터롤 효율적으로 저장하고 계충적 질의를 보다 빠르게 처리할 수 있고 대용량의 데이터에 대한 질의를 안정 성 있게 처리할 수 있는 ORDB 스키마 설계 룔 위한 데이터 모델링 방법올 제안하였다.
참고 문헌
[1] What is XML ?, http:/7 www.xmlxoni/pub/a/W10/guidel.html#AEN58 . [2] Migrating from XML DTD to XML-Schema using UML,
. http://www.rational.com/products/whi 坷 0)ers/412jsp
[3] Dudiett Jon, Ozu Nik, Williams Kevin, Mohr Stephen, Cagle Jurt; Griffin Oliver, Norton Francis, Stokes-Rees Ian, and Tennison Jeni. Professicmal Xml Schemas, Wrox Pr Inc, 2001.
[4] Carey, M., Florescu, D., Ives, Z., Lu, Y., Shanmugasundaram, J., Shekita, E.,Subramanian,
S.,: XPERANTO: Publishing Object Relational Data as XML. In Suciu, D., Vossen(eds.),
G., Proceedings of the 까 did International Workshop on the Web and Databases, WebDB
2000, Dallas, Texas, USA, May- 18-19, 2000, 105-110.
UML Class
모델을 이용한
XML응용 설계 방법론
165[5] Cheng, J., Xuf J,,: XML and DB2, In Sixteenth International Conference on Data EngineeringdCDE'OO), 28 February-3 March 2000, San Diego, IEEE Computer Society Press, Los Alamitos, CA, 2000, 569-576.
[6] Florescu, D., Kossmann, D; Storing and Querying XML Data using an RDBMS. Data Engineering 22-3 (1999), 27-34.
[7] Kanne, C.-C., Moericotte, G: Efficient Storage of XML Data. In Sixteenth International Conference on Data EngineeringdCDE'OO), 28 February-3 March 2000, San Diego, IEEE Computer Society Press, Los Alamitos, CA, 2000, 198.
⑻ Klettke, M., Meya-, H•,: XML and Object-Relational Database Systems-Enhancing Structural Mayings Based on Statistics. In Suciu, D., Vossen(eds), G., Proceedings of the Third International Workshop on the Web and Databases, WebDB 2000, Dallas, Texas, USA, May 18-19, 2000, 63-68.
[9] Lee, D, Chu, W. W
・,: Constraints-Preserving Transformation from XML DTD to Relational Schema. In Laender, A., Liddle, S.r Storey(eds.), V., Conceptual Modeling, Salt Lake City, Utah, USA, October, 9-12, 2000, LNCS 1920, Springer-Verlag, Berlin, 2000, 323-338.
[10] Shanmugasundaram, J., Shekita, E. J., Bar, R, Carey, M. J., Lindsay, B. G., Pirahesh, H, Rinw 기 d, B.,: Efficiency Publi 아血电 Relational Data as XML Documents. In Abbadi, A. E., Brodie, M・ L” Chakravarthy, S.f Dayal, U., Kamel, N., Schlageter, G., Whang(eds.), K. Y., VLDB2000-Proceedings of the 26th International Conference on Very Large Data Bases, September 10-14, 2000, Cairo, Egypt, Morgan Kaufmann Publishers 2000.
[11] UML for XML Schema Mapping Specification,
http://www.Rational.o)in/media/uml/resources/media/umLxmlschema33.doc, 12/08/99.
[12] W3C Recommendation, , 05/02
/2001.
http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/
[13] XML Modeling, http:〃www.xmlmodeling.com
[14] Modeling XML vocabularies with UML, ,
09/19/200L
http://www.xmlwnVpub/a/2001/09/19/iiinl.html
[15] 방승윤; 주경수, “전자상거래를 위한 UML 기반의 XML 스키마 모델링에 관한 연구”, 순천향 대학교 산업기술연구소 논문집, 제 7 권 제 1 호, pp.19-29, 2001.
[16] 이상태; 주경수, “객체모델을 이용한 XML DTD 의 ORDB 스키마로의 변환”, 정보기술과 데 이터베이스 저널, 제 8 권 제 11 호, pp.111-112, 2001.
[17] 임춘봉; 신인철; 심재철 공저, UML 사용자 지침서, 도서출판 인터비전, 1999.
[18] 김채미; 최학열; 김심석 공저, 전문가와 함께가는 XML Camp, 마이트 Press, 2001.
[19] 이석호; 데이터베이스론, 정익사, 1999.
166