Coding Planet

Mapping(사상)이란 무엇인가? 본문

SQL

Mapping(사상)이란 무엇인가?

jhj.sharon 2023. 1. 27. 16:18
반응형
Java, data modeling에서 심심치 않게 등장하는 Mapping
 매번 어림짐작하고 넘어갔는데 그 의미를 나름대로 공부하며
정리하고자 한다

 

 

 

 

1. 수학적 개념

  • 함수와 비슷하지만 함수를 일반화한 개념이다.  함수와 마찬가지로 두 집합 X, Y가 존재할 때 집합 X의 각원소 x를 집합 Y의 하나의 원소 y로 대응시키는 관계를 말한다.
  • 대응, 변환 또는 함수라고 한다.
  • 깊게 들어가면 대응, 변환, 함수, 사상을 구분하여 관습적으로 사용하는 것 같은데 이 부분은 정확히 이해하기는 어려우므로 좀 더 일반화된 형태의 함수라고 이해하고 넘어간다.

 

2. 자바에서의 Mapping

  • 처음 Map이라는 개념을 자바에서 공부할 때 당연히 '지도'라고 생각했다. 그러나 자바의 자료구조를 공부할수록 Map의 형태는 지도처럼 어떠한 원소가 고정되어 메모리에 위치하는 것이 아닌데 왜 지도라고 불리는지 궁금했다.
  • Mapping의 수학적 개념을 찾아보고 나서야 자바에서의 Map이 Matching에 가까운 의미라는 것을 이해했다.
  • 'key-value'로 매칭되어 저장되므로 일종의 원소간 대응 관계인 것이다.
  • Map 구조에서  key와 value는 1대1 대응 관계의 함수이다.
  • 이 때, key는 unique한 특성을 가져 중복되지 않으며 key와 value는 단독적으로 존재할 수 없다. value 는 중복 가능하다. 이러한 특성 때문에 Map에서 특정 데이터를 찾을 때는 key를 이용하여 검색한다.

 

 

 

3. 데이터모델링에서의 Mapping

 

  • 데이터모델링에서 사상이란 상호 독립적인 개념을 연결시켜주는 다리이다.
  • 데이터 베이스를 설계할 때 개체 관계 모델(E-R : Entity-Relationship Model) 를 통해 개념적으로 정보구조를 표현했다면 그 후에는 DMBS에서 이해할 수 있도록 논리적 데이터 모델링을 해야한다. 
  • Data Mapping은 이 논리적 단계에서 Entity간의 연관관계를 설정하는 것이다. 가작 기본적인 관계는 이진 관계이다. 종류는 최대 카디널리티에 따라 1:N(one to many), 1:1(one to one), N:M(many to many)로 구분될 수 있고, 최소 카디널리티도 고려될 수 있다.(partial, total paticipation)
  • Mapping 방법으로는 Merge(두 Entity type을 합한다.), Foreign key(관계형 DB의 전형적인 방식), Relationship relation 추가(관계를 표현하는 새로운 relation 추가)이 있다.

 

 

 

 

 

 

 

반응형
Comments