SQL

SQL - 속성

데이터_박과장 2023. 10. 28. 15:26

속성

속성 : 업무에서 필요로 하는 인스턴스에서 더 이상 분리되지 않는 최소의 데이터 단위

(빈출 유형) - 한 개의 속성은 반드시 한 개의 속성값만을 가집니다. - 한 개의 엔터티는 최소 2개 이상의 속성을 가집니다. - 한 개의 엔터티는 최소 1개 이상의 다른 엔터티와의 관계를 가집니다. - 한 개의 엔터티는 최소 2개 이상의 인스턴스 집합이어야 한다.

위 4개는 반드시 외워야 합니다. 1문제씩은 나오는듯 합니다.

속성의 종류

기본속성 / 설계속성 / 파생속성

위 3가지 속성에도 키워드가 있습니다. 기본속성 : 업무상 필요한 데이터에 대해 정의 설계속성 : 업무를 규칙화하기 위해 새로 만들거나 변형한 속성 파생속성 : 다른 속성의 영향을 받아 발생. 주로 계산하는 값들이 이에 해당.

핵심키워드는 계산입니다. 계산이라는 말이 들어갔다. 혹은 계산을 통해 구한다. 하면 파생속성입니다. 은행 예시를 들겠습니다.

은행에 적금을 들고자 합니다. 그래서 우리는 원금을 통장에 입금했습니다. 이자율은 5%라서 연 이자는 원금의 * 0.05를 기대하면 되겠습니다.

여기서 기본속성은 원금입니다. 이 원금을 통해서 일이 이뤄집니다. 이자율은 그럼 뭘까요? 이것 역시 기본속성입니다. 기본속성은 '업무상 필요한 데이터'를 의미한다했습니다. 이자가 얼마가 되는지 알기위해선 이자율이 필요합니다. 그럼 이자는 뭘까요? 계산이 들어갔으니 파생속성에 해당합니다.

Q. 설계속성은요? A. 위 예시에서는 예금분류에 해당합니다. 설계속성은 우리가 업무상 데이터 외에 데이터 모델링에 필요한 속성의 추가가 요구될 때 하는 개념입니다.

도메인의 개념

도메인 : 각각의 속성이 가질 수 있는 값의 범위를 의미함. EX) 주문이라는 엔터티가 있을 때 단가라는 속성 값의 범위는 100 ~ 10000 사이의 실수 값이며 제품명이라는 속성은 길이가 20자리 이내의 문자열로 정의가 가능하다.

위 예시는 데이터모델의 개념 중 도메인에 대한 것입니다. 저렇게 '범위' 가 언급되면 도메인에 대한 이야기입니다.

속성 명칭 부여할 때 유의할 점

이거는 그냥 외우는 개념입니다. 속성에 이름을 지을 때, 주의할 사항은 크게 4가지가 있습니다.

1) 해당업무에서 사용하는 이름을 부여 한다. 2) 서술식 속성명은 사용하지 않는다. 3) 약어사용은 가급적 지양한다. 4) 유일성을 통해 구분할 수 있도록 하자.

관계의 정의

관계 : 존재에 의한 관계 / 행위에 의한 관계 2개로 나눌 수 있습니다. ERD에서 관계를 연결할 때는 따로 구분하지 않고 단일화된 표기법으로 통일해서 사용합니다.

위에 대한 구분을 이해하기 위해 예시를 들겠습니다. 부서와 사원의 관계는 존재에 의한 관계입니다. -> 사원들이 모여 구성된게 하나의 부서가 되기 때문입니다. 고객과 주문의 관계는 행위에 의한 관계입니다. -> 고객이 제품을 '주문'한다는 개념이므로 행위에 의한 관계입니다.

UML?

UML : Unified Modeling Language의 약어입니다. 연관관계 / 의존관계가 있고 이 둘은 단일화된 표기법이 아니라 실선과 점선으로 표기를 다르게 해야합니다.

UML은 그냥 이 개념만 알고 있으면 됩니다.

관계 관련 정리 및 추가개념

아래 개념들을 외우시길 바랍니다.

1) 관계 : 존재적 관계(ex.소속) / 행위에 의한 관계(ex. 말 그대로 행위) , 두 관계에 대한 표기는 단일화 2) UML : 연관 관계 / 의존 관계 (점선과 실선으로 표기함) 3) 관계를 표기할 때는 관계명 / 관계차수 / 관계선택사양 이 3가지를 기입해야함

관계차수?

1:1 , 1:M , M:N 으로만 있음. 그 이외의 것은 틀린 말.

관계선택사양?

필수관계인지 선택관계인지.

오늘의 마지막 개념으로 두 개의 엔터티 사이에서 정의한 관계를 체크할 때 고려해야할 사항들을 적겠습니다.

1) 두 개의 엔터티 사이에 관심있는 연관규칙이 있는가? -> UML을 묻고있죠 2) 두 개의 엔터티 사이에 정보의 조합이 발생되나? 3) 업무기술서, 장표에 관계연결을 가능하게 하는 동사 (중요)가 있는가? -> 이거 명사로 바꿔놓고 틀린거 찾으라고 합니다. 4) 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어있는가?

이렇게 4개입니다. 옆에 -> 로 주석달아준거만 보셔도 됩니다. 규칙은 당연한거고 엔터티가 2개면 정보의 조합도 당연한 개념이니까요!

'SQL' 카테고리의 다른 글

SQL - 정규화  (2) 2023.10.28
SQL - 성능데이터 모델링  (0) 2023.10.28
SQL - 엔터티  (0) 2023.10.28
SQL - 데이터 모델링의 특징  (0) 2023.10.28
SQL - 도입  (0) 2023.10.27