# CDS Cardinality in Associations에 대해서
# " 카디널리티는 [MIN .. MAX] 형식으로 연관 정의에 포함된 소스와 연관된 테이블(또는 CDS 보기) 간의 관계입니다.
주로 데이터 모델의 의미 체계를 문서화하는 데 사용됩니다. "
-SAP Blog-
# 이해하기 어려워서 최대한 제가 이해한 것을 쉽게 풀어 나가려고 썼다
우선 차이점부터 보자.
# Association VS JOIN 차이점
# Association
- 테이블 간의 관계를 정의하는 선언적 방식
- JOIN처럼 데이터를 즉시 가져오지 않고, 필요할 때만 데이터를 가져온다.
- 느슨한 JOIN으로 볼 수 있으며, 트리거하지 않으면 실행되지 않는다.
- 주로 웹/모바일 환경에서 앱 성능 저하를 방지하기 위해 사용된다.
# JOIN
- 테이블을 결합하여 데이터를 한 번에 가져오는 방식
- 즉각 실행되어 모든 관련 데이터를 가져온다.
- 성능에 영향을 줄 수 있으며, 대량의 데이터를 처리할 경우 앱이 느려질 가능성이 있다.
둘의 차이점은 개념이 다르다고 생각하면 된다.
# Association 중요
# 여기서 중요한 것은 트리거하지 않으면 Association로 연결한 테이블은 실행이 되지 않는다는 것이 가장 중요시 봐야 한다.
SAP GUI가 아닌 웹 환경이나 모바일 등 애플리케이션을 실행했을 때 JOIN 한 데이터를 한 번에 가져온다는 것은 앱이 느려질 수 있다는 것이다. 그래서 나온 것이 Association이라고 생각하면 된다.
사용자가 어떤 트리거를 실행했을 때만? 연결된 Table을 가져오는 느낌이라고 보면 되는 것이다.
그렇기 때문에 Join과 Association에 차이는 생각보다 큰 차이가 있다.
# Cardinality in Associations 비교 ( 정리중 )
# 예시를 보자
다음과 같은 테이블이 있다고 하자.
![](https://blog.kakaocdn.net/dn/bIfoi7/btr6QoO353n/PxgL10kspsxNRELk8KRUZK/img.png)
# 우선적으로 우리가 알아야 하는 것은 [ 0 or 1 ... 1 or * ] 구분을 할 줄 알아야 한다.
[ 0 or 1 ... ??? ]
앞부분은 무조건 연결되어 있는 값이 있는지 없는지로 구분할 수 있다
예를 들어)
0은 한 사람이 여러 개의 전화번호를 가질 수 있지만? 전화번호가 없는 경우도 있을 수 있다.
1은 사람은 반드시 생년월일이 있어야 한다.
[ ??? ... 1 or * ]
뒷 부분은 중복 값이 있는지 없는지로 구분할 수 있다.
# Association 예시 ( 참고 정도 )
# [ 0..1 ] or [ 1..1 ] 일 때 ( 앞부분 확인 )
![](https://blog.kakaocdn.net/dn/EBPdx/btr65o7gBx9/rmILAMWy2i4MM6onWhN1uK/img.png)
# SQL문.. 결과
![](https://blog.kakaocdn.net/dn/cHgyJp/btr61lXZIGh/MLeJn5xeVksqUFrFbw8KQK/img.png)
# 중복값 제외하고 SQL 되기 때문에 하나씩 데이터가 나오는 걸 볼 수가 있다.
1000 : 1개
1001 : 1개
1002 : 1개
# [ 0..* ] or [ 1..* ] 일 때 ( 뒷부분 확인 )
![](https://blog.kakaocdn.net/dn/cN3hH1/btr60GhmwXR/jxee97dwOmEbBJZT7SVMj1/img.png)
# SQL문.. 결과
![](https://blog.kakaocdn.net/dn/cYkb6r/btr62Hmeal5/2g3HGp2CCTOqowD4TSxwLk/img.png)
# 중복 값까지 같이 SQL 되기 때문에 다음과 같이 MONEY 필드가 중복된 값만큼 더해져서 가져오게 된다.
# 결과적으로 런타임이 길어지고, 레코드가 복제되어서 값이 더해지는 것이다.
1000 : 2개
1001 : 3개
1002 : 1개
'.BTP > ..Cloud ABAP(RAP)' 카테고리의 다른 글
SAP RAP Filter bar( Search bar ) 정리 (0) | 2023.05.17 |
---|---|
SAP RAP(ADT) ABAP Formatting(Pretty printer) 설정 (0) | 2023.04.20 |
SAP BTP와 ADT 연결 (2) | 2023.03.30 |
SAP RAP(ADT) 설명(Description) 변경 방법 (0) | 2023.03.22 |
SAP RAP(ADT) Structure 생성 (0) | 2023.03.16 |