태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'코드 속성'에 해당되는 글 2건

엔터티의 인스턴스가 개별 개체를 의미하면 코드 속성으로 설계하지 않고 엔터티로 설계한다. 개별 개체를 의미한다는 것은 묶이기 전, 변형되기 전의 순수 데이터를 의미한다.

 

예를 들어 국가 집합에 속한 인스턴스가 대한민국, 호주, 일본 등이라면 각각은 개별 개체를 의미하기 때문에 엔터티로 설계한다.

 

만약 외국인 고객을 관리하는 엔터티에서 해당 고객의 국적을 관리한다면 [그림1] 모델처럼 국가 엔터티를 별도로 설계하여 외국인고객 엔터티와 관계선을 표현한다.

 


[그림1]

 

위와 같이 개별 개체를 의미하는 국가를 엔터티로 설계해서 관리하지 않고, [그림2] 모델과 유사하게 국가 엔터티 없이 통합 코드 엔터티나 별도의 시스템에서 관리하는 국가코드 속성으로 설계하는 것은 바람직하지 않다.

 


[그림2]

 

국가 데이터는 데이터 성격 상 코드 성격이 아니기 때문에 현재는 국가명 밖에 관리하지 않는다고 하더라도 나중에 관리해야 할 속성이 다양하게 존재할 수 있다.

 

반면에 엔터티의 하나의 인스턴스가 개별 개체를 의미하지 않고 개별 개체를 묶은 개념을 의미한다면 코드 속성으로 설계해야 한다. 예를 들어 어떤 집합이 아시아, 유럽, 오세아니아 등이라면 데이터 성격 상 개별 개체라고 볼 수 없으며, 이는 어떤 개체를 묶은 개념이므로 엔터티로 관리하는 게 아니라 코드 속성으로 관리하는 것이 원칙이다.

 

데이터를 설계할 때 엔터티로 설계해야 할 것을 코드로 설계하면 추후에 문제가 발생할 수 있다. 이런 문제를 사전에 방지할 수 있는 것은 애초에 데이터 성격에 맞게 엔터티를 도출하는 것이다. 데이터가 실제의 개체를 의미하는지, 개체의 묶음을 의미하는지에 따라 판단하면 적절하다.

 

만약 인스턴스 성격이 개별 실체를 의미하지만 관리하고자 하는 특성이 명()뿐이어서 코드 속성으로 관리할 수 있다. 하지만 이 경우라도 추후에 부가 속성이 생길 가능성이 조금이라도 있기 때문에 실체를 의미하면 엔터티로 설계하는 것이 원칙이다.

 

간혹 어떤 집합은 실체를 의미하지만 개체 전체를 관리하지 않을 수 있다. 즉 집합 인스턴스가 대한민국/중국/일본 등으로 동북아시아 국가만 관리하면서 명()만 관리한다면, 인스턴스가 개체를 의하지만 동북아시아국가코드 등의 코드로 관리할 수 있다.



블로그 이미지

블루퍼필

댓글을 달아 주세요

모델링의 3요소는 엔터티, 속성, 관계입니다.

엔터티 정의는 중요하기 때문에 어려운 반면, 속성 정의는 많은 개수 때문에 어려움을 겪습니다. 엔터티나 관계에 비해 압도적으로 많죠
.

속성은 엔터티의 성격을 상세하게 기술하는 요소입니다. 속성을 모두 도출(정의)하면 해당 엔터티가 관리하는 데이터가 무엇인지 알기 쉽습니다.

속성은 데이터의 값을 저장하는 저장소입니다. 데이터를 저장하는 가장 작은, 독립된 저장 단위죠. 이렇게 저장된 데이터가 엔터티를 자세하게 묘사합니다.

 

속성을 모두 도출해야 엔터티가 온전해집니다. 속성이 채워지지 않는 한 모델링은 끝난 것이 아닙니다. 결국 속성을 상세하게 분석하는 시간이 많을수록 데이터 모델의 완성도는 높아집니다.

 

이를 역으로 표현하면 모델링 시간이 충분히 주어질수록 속성을 상세하게 분석할 수 있어 모델의 완성도가 높아지게 됩니다. 결국 모델링 시간이 충분하지 않으면 속성과 관련된 작업이 부실해지게 됩니다.

 

속성의 정의 자체는 어렵지 않습니다. 하지만 속성의 진정한 쓰임새를 알려면 속성의 종류를 아는 것이 좋습니다. 속성의 다양한 분류법을 통해 속성이 무엇인지 더욱 상세하게 알 수 있을 것입니다.

 

다음과 같은 다양한 방법으로 속성을 구분할 수 있습니다.

 

-식별자(Key) 속성 & 비식별자(Non-Key) 속성
-
기초(Basic) 속성 & 관계(Relationship) 속성 & 추출(Derived) 속성 & 시스템(System) 속성
-
원본(Raw) 속성 & 추출(Derived) 속성
-
단일 값(Single-Valued) 속성 & 다가(Multivalued) 속성
-
필수(Mandatory) 속성 & 선택(Optional) 속성
-
코드(Code) 속성 & 비코드(Non-Code) 속성

 

위와 같은 방법으로 어떤 속성을 명확히 분류할 수 있다면, 속성이 무엇인지 온전히 안다고 할 수 있습니다.

 

위의 분류를 앞으로 하나씩 상세하게 설명하겠습니다.



블로그 이미지

블루퍼필

댓글을 달아 주세요

  • 금땡이 2012.02.28 14:08  댓글주소  수정/삭제  댓글쓰기

    바쁘신 와중에도 꾸준이 글을 올려 주시니 고맙습니다. 책 내용도 좋아 3번이나 읽었네요.
    프로젝이 다르다 보니 자주 뵙지도 못하고 블로그로 위안을 삼아야겠네요.^^

    • 블루퍼필 2012.02.28 19:45 신고  댓글주소  수정/삭제

      ㅎㅎ 누군가 했어요.

      긴 프로젝트 끝내서 시원섭섭하겠어요.
      재충전할 시간이 있을려나 모르겠네요.

      가끔 들러서 좋은 글 남겨주시고...
      그래도 심심하면 분당으로 놀러와요... ㅎ