DOI QR코드

DOI QR Code

Comparison of Conceptual Models of XML Based on Extended Entity Relationship Model

확장된 개체 관계 모델 기반 XML의 개념적 모델 비교

  • Received : 2019.09.27
  • Accepted : 2019.12.06
  • Published : 2019.12.31

Abstract

XML has been established as a de facto standard for representing and exchanging documents, and has been widely used as a logical data model. Using XML as a logical database model, it requires a conceptual model for the semantics that XML has. However, the existing conceptual models, such as Entity Relationship models and UML, have been extended their concepts to express the specific characteristics of XML, but so far, there are no standard models. This paper compares the characteristics of the typical model of conceptual model of XML by Extended Entity Relationship model from the perspective of database field. For this, we propose the requirements that must be met for XML, and on the basis of these requirements, the approaches of each model are compared.

XML은 문서의 표현 및 교환을 위한 사실상의 표준으로 자리 잡아 왔으며, 논리적 데이터 모델로 널리 사용되어 왔다. XML을 논리적 모델로 사용하기 위해서는 XML이 갖는 의미론에 대한 개념적 모델이 필요하다. 하지만, XML의 고유한 특성을 표현하기 위해 기존의 개념적 모델인 개체관계 모델이나 UML 등을 이용하여 모델을 확장하여 사용해 왔지만 현재까지 표준화된 모델은 없다. 본 논문은 데이터베이스 분야 관점에서 개체 관계 모델을 확장하여 XML의 개념적 모델로 사용하는 대표적인 모델들의 특징을 비교한다. 이를 위해 XML의 개념적 모델이 충족해야 할 요구사항들을 제시하고, 이를 근거로 각 모델들의 접근방식을 비교한다.

Keywords

Ⅰ. 서론

XML은 문서를 구조화하고 데이터 교환의 표준 언어로 사용될 뿐만 아니라, XML 자체가 논리적 데이터 모델로써 많은 응용분야에 자주 사용되고 있다. XML을 논리적 데이터 모델로 사용할 경우 이에 상응하는 개념적 모델이 필요하다. 대표적인 개념적 모델로는 데이터베이스 설계 분야에서는 개체 관계 모델(Entity Relationship Model)을, 객체지향 분석 및 설계 분야에서는 UML(Unified Modeling Lange) 등이 널리 사용되고 있고, 논리적 모델로는 관계형 모델, 객체 관계 모델, XML 등이 있다.

그러나 XML 데이터를 개념적으로 설계하기 위한 표준 방법론은 없다. 기존의 ER 모델에서는 개체와 개체사이의 관계를 중심으로 실세계의 데이터를 표현하고, UML 클래스 다이어그램에서는 클래스와 그들 사이의 관계를 표현하는데 중점을 두고 있는 반면, XML은 문서의 구조를 표현하는 데 중점을 두고 있기 때문에 ER 모델이나 UML을 XML을 위한 개념적 모델로 직접 사용하기에는 이들 사이의 구성요소 및 표현 방식이 달라 어려운 점이 많다.

이를 극복하기 위해 XML 데이터의 개념적 모델링에 적합하도록 기존의 ER 모델을 확장하는 접근방법, UML 개념을 확장하는 접근방법, XML의 계층구조를 표현하기 위해 새롭게 개념적 모델을 제시하는 방법들이 활발하게 진행되어 왔지만, XML의 모든 특성을 반영하기에는 어려운 점이 있어 현재까지 연구를 주도하는 대표적 모델은 없는 실정이다.

본 논문은 데이터베이스 분야 관점에서 ER 모델을 확장하여 XML을 개념적으로 설계하는 기법의 대표적인 개념적 모델들을 조사하여 비교한다. 이를 위해 XML의 개념적 모델이 충족해야 할 구성요소별 요구사항과 기능적 요구사항을 제시하고, 이를 근거로 각 모델들의 특징을 비교한다.

본 논문의 구성은 다음과 같다. 제 2장에서는 XML의 개념적 모델에 대한 관련 연구들을 기술하고, 제 3장에서는 XML의 개념적 모델이 충족해야 할 구성요소별 요구사항과 기능적 요구사항을 제시한다. 제 4장 ER 모델을 확장한 XML의 대표적인 개념적 모델에 대해 제 3장에서 기술한 요구사항들을 근거로 모델들을 비교하고, 끝으로 제 5장에서 결론을 맺는다.

Ⅱ. 관련 연구

이 장에서는 XML을 위한 개념적 모델에 대해 각 모델의 특성을 기술한다. 확장형 ER 모델의 대표적인 모델인 XER, ERX, EReX, 및 EERX 모델은 본 연구에서 비교의 대상이 되는 모델이므로 제4장에서 자세히 기술하고, 여기서는 그 외의 모델에 대해서 간략히 기술한다.

Badia[1] 연구에서는 개념적 스키마가 필요한 구조화 및 반구조화 데이터의 통합에 초점을 맞추어 확장형 ER 모델을 제안하였다. 이 연구에서는 ER 스키마를 관계형 스키마 및 DTD 스키마로 변환하기 위한 알고리즘을 제안하고 관계형 스키마와 DTD 스키마의 조합을 통해 ER 모델에 DTD 기반 확장을 위해 속성값 유무에 따른 선택(optional)/필수(required)의 제약조건 및 두 개 이상의 속성 중에서 선택(choice) 제약조건을 포함하여 제안하였다.

Fong[2] 연구에서는 관계형 데이터베이스를 XML로 변환하는 방법론을 제안하였다. 변환 방법은 관계형 데이터베이스를 EER 모델로 변환한 다음 다시 EER 모델을 XML 스키마로 변환함으로써, EER 모델을 관계형 모델과 XML을 연결하는 개념적 모델로 사용한다.

한편, ER모델을 XML로 변환하거나 관계형 모델을 XML로 변환하는 알고리즘을 제시하는 연구도 있다.

Nacasky[3] 연구에서 제안하는 XSEM 모델은 XML의 개념적 모델링 과정을 첫 번째 단계에서XSEM-ER이라는 확장형 ER을 이용하여 전체적인 개념적 스키마를 설계하고, 두 번째 단계는 XSEM-H라는 계층적 모델을 사용하여 첫 번째 단계에서 설계된 개념적 스키마를 계층적 구조로 설계한다. 이 경우 XSEM-ER 스키마에 의해 모델링된 동일한 데이터에 대해 다수의 계층적 구조가 생성될 수 있다.

Kim[4] 연구에서는 이질적인 개체 관계 모델링 도구들 사이의 표준 환경을 제공하기 위해 개체 관계 모델을 XML 스키마 문서로 변환하는 도구인 ERX를 제안하였다. 변환을 위해 ER 모델의 각 요소들을 XML 스키마로 변환하기 위한 변환규칙들을 제시하고, 변한규칙을 적용한 알고리즘을 제시하였다.

Penna[5] 연구에서는 XML 스키마를 ER 모델에 매핑하는 알고리즘으로 구성된 Xere 모델을 제시하였다. 이 모델서는 각 요소들의 콘텐츠 모델에 따라 각각을 개체 관계 다이어그램으로 표현하고, 속성 타입에 따라 주키를 선정하고, 요소간의 중첩구조를 관계 집합으로 표현하였다. 매핑 알고리즘은 XSLT를 이용하여 구현하였다.

이 외에도 UML 개념을 확장하는 모델, XML의 계층 구조를 표현하기 위해 새롭게 개념적 모델을 제시하는 방법들이 활발하게 진행되었지만, 본 논문에서는 다루지 않는다.

Ⅲ. XML의 개념적 모델 요구 사항

이 장에서는 XML에 대한 개념적 모델에 대한 요구 사항들을 기술한다. 여기서 기술하는 요구사항은 크게 개념적 모델이 지원해야 하는 기능적 요구사항과 XML의 구성요소에 대한 요구사항으로 구성된다. 여기서 기술하는 요구사항들은 연구[6][7][8]를 기초로 재정리하였다.

1. XML 구성요소에 대한 요구 사항

XML에서 사용하는 구성요소는 매우 많아 개념적 모델에서 구성요소를 제공하기에는 너무 복잡하다. 다음은 개념적 모델에서 제공해야 하는 주요 구성요소들은 다음과 같다.

• 요소(element) : 요소 및, 중첩된 요소를 모델링하기 위한 구조를 제공하여야 한다.

• 속성(attribute) : 일반 속성 및 키를 표현하여야 한다.

• 타입(type) : 복합타입을 표현하여야 한다.

• 연관관계(association) : XML이 갖는 연관 관계(또는 참조 관계)로 제공하여야 하며, 중첩 구조 (nested structure)를 모델링하여야 한다.

• 일반화(generalization) : 부모요소와 자식요소간의 일반화 관계 및 제약조건도 모델링하여야 한다.

• 대응수(cardinality) : 요소, 속성 및 관계타입에 대한 대응수 제약조건을 지정할 수 있어야 한다.

• 콘텐츠 모델(content model) : {all, sequence, choice..} 등 XML에 제공하는 콘텐츠 모델을 표현하여야 한다.

• 순서(order) : 속성이나 관계 타입에 참여하는 요소(element)들 사이의 순서를 표현할 수 있어야 한다.

• 그룹(group) : 다수의 요소 및 속성을 하나의 단위로 묶어 재사용 가능한 콘텐츠를 구성하기 위한 요소그룹 및 속성그룹을 모델링하여야 한다.

2. 기능적 요구 사항

• XML 스키마 언어에 대한 독립성 : 개념적 모델은 XML 스키마 언어에 독립적으로 높은 추상화 레벨을 제공하여야 한다.

• 형식적인 토대(Formal foundations) : 개념적 모델은 모델 구조 및 데이터에 대해 형식적 기반을 바탕으로 개발되어야 한다.

• 그래픽 표기 : 개념적 모델은 모델링 구조에 대해 사용자 친화적인 그래픽 표기법을 제공하여야 한다.

• 논리적 레벨로의 매핑 : 개념적 모델링 구조를 XML 논리적 레벨로 매핑하기 위한 알고리즘을 제공하여야 한다. 논리적 스키마는 개념적 스키마로부터 가능한 한 많은 무결성 제약조건을 제시하여야 한다.

• 방향성(direction) : 대부분의 연구에서는 개념적 모델로부터 XML 논리적 모델로 단방향 변환만을 제시하고 있지만, 역으로 XML 논리적 모델로부터 개념적 모델로의 역방향 변환도 제시되어야 한다.

Ⅳ. 모델 비교

이 장에서는 XML의 개념적 모델을 위해 확장형 ER 모델을 기반으로 하는 대표적 모델인 XER, EReX, ERX, 및 EERX 모델에 대해서 각 모델의 특성을 기술하고 제 3장에서 기술한 요구사항을 토대로 모델을 비교한다.

1. XER

Xer 모델[9]은 XML 스키마 개념을 기존의 객체관계 모델에서 표현할 수 없는 개념들을 반영한 확장된 개체관계 모델을 제안하였다. 확장된 개념으로는 요소의 순서의 유무(sequence/all), ‘mixed ’타입의 요소, 요소와 그에 내포된 요소의 표현 등의 개념이 있다. 그림 1은 XER 다이어그램의 예를 보여준다.

OTNBBE_2019_v19n6_197_f0001.png 이미지

그림 1. XER 다이어그램 예

Fig. 1. Example of XER Diagram

요소는 사각형으로 표현하고 상단에 요소이름으로 구분하며, 속성은 속성명 앞에 “@”로 표현하지만 키에 대한 표현은 없다. 타입에 대한 별도의 표현은 없고 요소로 표현한다. 복합요소가 복합요소를 포함할 경우 관계로 표현하지만, 대등한 두 요소 사이의 연관관계에 대한 표현은 없으며, 일반화 관계를 표현하지만, 제약조건에 대해서는 다루지 않는다. 개체가 선택적으로 하위개체를 포함할 경우(“xs:choice” 경우) 이를 개체 내부에서 중첩된 형태로 표현하고 있다. 요소, 속성 및 관계 타입에 대한 대응수 제약조건을 지정할 수 있다. 기본적으로 모든 요소는 순서를 가지며, 순서가 없는 요소의 경우 “?” 기호로 표현하며, 그룹 개념은 제공하지 않는다.

Xer은 XSD를 예를 들고 있지만 스키마 언어에 독립적으로 적용가능하며, 형식적 모델인 HNR을 제공하지만, Type, Subtype, Path에 대한 언급만 있고 자세한 내용은 찾을 수가 없다. 또한, XML을 개념적 모델링 구조로 표현하는 데 중점을 두고 있어 매핑에 대한 알고리즘은 제공하지 않으며, XML 스키마를 XER로 표현하는 역방향 접근방법이다.

2. EReX

EReX 모델[[10]은 XML 특성을 표현하기 위해 ER 모델에 category, coverage constraints, order constraints 개념을 확장한 개념적 모델이다. category는 슈퍼 타입과 서브타입의 관계를 고려한 것이며, coverage constraints는 카테고리 관계에 참여하는 서브 타입의 참여도 및 중복 여부에 따라 total/exclusive coverage로 구분하며, order constraints는 XML 스키마에서의 sequence 콘텐츠 모델을 표현하기 위한 제약조건이다. 이 모델에서는 XGrammar를 정의하여 XML 스키마를 명세하였으며, EReX 모델에서 제시하는 XGrammar는 스키마 G를 다음과 같은 6-튜플로 정의하고 있다.

G =(N,E,A,S,P,Σ) 여기서

– N은 비단말 심볼(타입)의 유한 집합,

– E는 요소 이름의 유한 집합,

– A는 속성 이름의 유한 집합,

– S 시작 심볼, where S ⊆ N.

– P는 X → x (RE) 형식의 생성 규칙 집합,

– Σ는 제약조건의 집합

EReX에서 요소, 속성, 타입은 각각 E, A, N으로 표현하며, 연관관계는 일부 P로 표현하지만 일반화 관계는 제공하지 않으며, 대응수는 Σ로 표현한다. 콘텐츠 모델 중 순서는 P로 표현되지만, 나머지는 제공하지 않으며, 그룹 개념도 제공하지 않는다.

EReX에서는 XSD를 예를 들고 있지만 스키마 언어에 독립적으로 적용가능하며, 형식적 모델인 XGrammar를 정의하고 있다. 이 모델은 그래픽 표기를 제공하지 않으며, EReX 스키마를 XGrammar로 순방향으로 매핑하는 알고리즘은 제공하지만, ERex 스키마를 논리적 모델로의 매핑은 제공하지 않는다.

3. ERX

ERX 모델[11]은 XML 고유의 특징들을 수용할 수 있도록 ER 모델의 확장형으로서 개체와 개체들 사이의 관계를 표현하기 위해 중첩된 구조나 링크를 기반으로 하지 않고 평면적으로 표현한다. ERX는 ER 스키마와 XML DTD사이의 양방향으로 변환하는 접근방식이다. 해결한다. 그림 2는 ERX 다이어그램의 예를 보여준다.

OTNBBE_2019_v19n6_197_f0003.png 이미지

그림 2. ERX 다이어그램 예

Fig. 2. Example of ERX Diagram

ERX에서 요소는 개체로 표현하고, 모든 속성의 데이터 타입은 문자열로 표현하지만, 타입 개념은 제공하지 않는다. 연관관계 및 대응수는 제공하지만 일반화 관계는 제공하지 않는다. 순서는 속성명에 “(O)” 한정자를 붙여 표현하나, 개체에 대한 순서는 제공하지 않으며, 콘텐츠 모델이나 그룹 개념도 제공하지 않는다.

ERX는DTD에 종속적이며, 형식적 모델이 없으며, 그래픽 표기법은 ER 모델을 약간 수정하여 사용하며, ER 스키마를 XML DTD로 변환하고, XML DTD를 ER 스키마로 변환하는 양방향 매핑 알고리즘을 제공한다.

4. EERX

EERX 모델[12]은 XML 특성을 개념적 설계 단계에서 표현하기 위해 기존의 개체관계 모델이 지원하지 않는 개념을 수용하는 확장된 개체관계 모델을 제시하고, 이를 기반으로 XML 스키마를 구성하는 각 요소들을 확장된 개체관계 다이어그램으로 표현하기 위한 표현 규칙들을 제시하고, EERX로 모델링한 결과를 생성 규칙과 생성 알고리즘 통해 XML XSD로 매핑하는 과정을 제시한다.

복합요소를 표현하는 개체집합은 세 개의 영역으로 나누어지며, 상위영역은 요소명과 그 요소에 적용되는 콘텐츠 모델을 지정하고, 중간영역은 요소 내에서 정의되는 하위요소명과 하위요소에 적용할 대응수를 지정하고, 하위영역은 요소에 속한 속성명을 지정한다. 복합타입은 점선으로 된 사각형으로 표현한다. 하위요소가 복합요소일 경우 부모요소와 관계로써 표현한다. 이 모델은 요소그룹, 속성그룹 유도요소 및 일반화 개념도 지원한다. 그림 3은 EERX 다이어그램의 예를 보여준다.

OTNBBE_2019_v19n6_197_f0004.png 이미지

그림 3. EERX 다이어그램 예

Fig. 3. Example of EERX Diagram

EERX에서 복합요소는 사각형으로 표현하고 요소명으로 구분하며, 속성은 사각형 하단에 속성명으로 구분한다. 타입은 점선 사각형으로 표현하며, 연관관계는 요소 사이의 선분으로 표현하고, 일반화 관계는 일반화 심볼로 표현한다. 단순요소, 복합요소, 속성의 대응수를 제공하며, 콘텐츠 모델은 한정자로 표현하며, 기본적으로 모든 요소는 위에서 아래 방향의 순서를 가지며, 그룹은 이중 점선으로 표현하여 타입과 구분한다.

EERX는 XSD에 종속되어 있으며, 형식적 모델을 제공하지 않는다. 이 모델은 EERX 스키마를 XSD로 매핑하는 순방향 알고리즘을 제시하고 있다.

표 1은 위에서 기술한 4개의 모델에 대한 구성요소 요구사항 및 기능적 요구사항을 비교한 표이다. 표에서 사용하는 기호인 ‘✓’는 기능을 제공한다는 의미이고, ‘✗’는 제공하지 않음을 나타내며, ‘?’는 제공유무를 파악할 수 없다는 의미이고, ‘⧍’는 일부만 제공한다는 의미이다. 또한 방향성을 나타내는 심볼인 ‘ ⟶’는 개념적 모델에서 논리적 모델로의 순방향을 의미하고, ‘⟵’는 역방향을, ‘⟷’는 양방향을 각각 표현한다. 각 항목의 괄호는 주석을 나타낸다.

표 1. XML 요구사항 비교

Table 1. Comparison against XML requirements

OTNBBE_2019_v19n6_197_t0001.png 이미지

① 키 속성에 대한 구분이 없음

② 대등한 두 요소 사이의 연관관계에 대한 언급은 없음

③ 일반화 관계는 표현하지만, 제약조건은 다루지 않음

④ 형식적 모델을 제공하지만, type, subtype 대한 언급만 있고 자세한 내용은 찾을 수가 없음.

⑤ EReX 스키마를 XGrammar로 매핑하는 알고리즘은 제공하지만 논리적 모델로의 매핑은 제공하지 않음

⑥ 모든 속성의 데이터 타입은 문자열로만 표현

⑦ 속성 순서는 제공하나 개체 순서는 제공하지 않음

⑧ DTD에 종속적

⑧ XSD에 종속적

위의 표에서 알 수 있듯이, 모든 요구사항을 충족하는 모델은 없다. 그 이유는 XML이 갖는 다양한 구성요소 및 기능들을 개념적 레벨에서 모두 표현하기에는 개념적 모델의 특징인 추상화 레벨이 떨어진다는 점과, 모델을 설계하는 설계자의 접근방식이 서로 다르기 때문이다.

V. 결론

본 논문은 ER 모델을 확장하여 XML을 개념적으로 설계하는 기법의 대표적인 기존 개념적 모델링 기법을 조사하여 비교하였다. 이를 위해 XML의 개념적 모델이 충족해야 할 구성요소별 요구사항과 기능적 요구사항을 제시하고, 이를 근거로 각 모델들의 특징을 비교하였다.

XER은 형식적 언어를 지원하고 XML 스키마 언어에 독립적인 장점이 있는 반면, 논리적 모델로의 매핑 알고리즘을 제공하지 않으며, XML 구성요소의 표현이 부족한 단점이 있고, EReX의 경우 형식적 언어로 잘 정의되어 있지만, 그래픽 표현을 지원하지 않아 개념적 모델로 사용하기 어려운 점이 있으며, ERX의 경우 양방향으로 매핑 알고리즘을 제공한다는 점에서 변환에 강점이 있는 반면 XML 스키마 언어가 DTD에 종속되어 있는 단점이 있으며, EERX의 경우 XML의 많은 구성요소를 풍부하게 표현하는 장점이 있지만, 형식적 언어를 제공하지 않으며, XML 스키마 언어가 XSD에 종속되어 있는 단점이 있다.

각 모델들은 저마다의 관심분야에 초점을 맞추어 개발되었기에 모든 요구사항을 충족하는 모델은 없다. 따라서 사용자 입장에서는 응용분야에 적합한 모델을 신중하게 선택하는 것이 중요하다.

향후 연구과제로는 문서 중심의 관점에서 기존을 모델을 확장하지 않고 XML의 특징인 계층적 구조를 기반으로 하는 새로운 모델에 대한 비교를 연구할 예정이다.

References

  1. A. Badia, "Conceptual Modeling for Semistructured Data", Proceedings of WISE 2002 Workshops, p.170-177. Singapore, December 2002.
  2. J. Fong, A. Fong, H. K. Wong and P. Yu, "Translating relational schema with constraints into XML schema", International Journal of Software Engineering and Knowledge Engineering, Volume 16, p.201-244, 2006. DOI : https://doi.org/10.1142/S0218194006002744
  3. M. Necasky. "XSEM - A conceptual model for XML", Proceedings of APCCM'2007, p.37-48, 2007.
  4. Y. Kim, "ERX: A Generation Tool of XML Schema based on Entity-Relationship Model", The Journal of The Institute of Internet, Broadcasting and Communication(JIIBC), Vol 13, No 2, 2013. DOI: https://doi.org/10.7236/JIWIT.2013..13.1
  5. G. Della Penna et al. "Xere: Towards a Natural Interoperability between XML and ER Diagrams", Lecture Notes in Computer Science, Vol 2621, Springer, Berlin, Heidelberg. DOI : https://doi.org/10.1007/3-540-36578-8_25
  6. E. Dominguez, J. Lloret, B. Perez, A. Rodriguez, A. Rubio and M. Zapata, "A Survey of UML Models to XML Schemas Transformations", Lecture Notes in Computer Science Vol 483, p.184-195, 2007. DOI: https://doi.org/10.1007/978-3-540-76993-4_16
  7. M. Necasky, "Conceptual Modeling for XML: A Survey", Technical Report No. 20063, Dep. of Software Engineering, Faculty of Mathematics and Physics, Charles University, Prague, 2006.
  8. C. Haitao, "A Survey to Conceptual Modeling for XML", Proceedings 2010 3rd International Conference Science and Information Technology, Vol. 8, p. 473-477, 2010.
  9. A. Sengupta and E. Wilde, "The Case for Conceptual Modeling for XML", Technical Report TIK Report No. 244, Computer Engineering and Networks Laboratory, ETH Zurich, Zurich, Switzerland, February 2006.
  10. M. Mani, "EReX: A Conceptual Model for XML", In Proceedings of the Second International XML Database Symposium, p. 128-142. Toronto, Canada, August 2004. DOI: https://doi.org/10.1007/978-3-540-30081-6_10
  11. G. Psaila, "ERX: A Conceptual Model for XML Documents", In Proceedings of the 2000 ACM Symposium on Applied Computing, p. 898-903. Como, Italy, March 2000. DOI: https://doi.org/10.1145/338407.338680
  12. Y. Kim and I. Jung, "Extended Entity-Relationshp Model for Conceptual Modeling of XML Schema", The Journal of The Institute of Webcasting, Internet and Telecommunication, VOL. 15 NO. 4, 2013. DOI: https://doi.org/10.7236/JIIBC.2013..13.5