본문 바로가기

Data Modeling21

속성 정련하기 오늘은 속성을 가다듬는 방법에 대해서 살펴보겠습니다. 지금까지는 그저 각 테이블에 속한 정보를 나타내는 수준에서만 속성을 정해왔습니다. 그런데, 이렇게만 진행하다보면 전체적으로 봤을때 통일되지 않아서 부작용이 발생할 수 있습니다. 다음과 같은 상황일때 말이죠. 이름에 대한 개별적 설계 속성 직원의 성명은 10자리이고 고객의 성명은 20자리입니다. 게다가 한쪽은 ~명이고 한쪽은 ~성명이죠. 이렇게 되면 직관적으로도 같은 정보인지 인식하기 어려울 뿐 아니라, Query 문장에서 비교하는데에도 어려움이 발생할 수 있습니다. 만약에 '홍길동'이라는 사람이 임직원이기도 하고 고객이기도 하다고 해볼께요. 한글 한글자가 3byte를 차지한다고 가정하면 직원에는 '홍길동 '이라 저장되고 고객에는 '홍길동 '이라고 저장.. 2013. 7. 30.
파생 속성 추가하기 오늘은 파생 속성 (derived attribute)에 대해서 알아보도록 하겠습니다.파생 속성이란 기본적인 속성 정보 이외에, 이 기본 속성을 가지고 계산해서 알 수 있는 정보를, 추가 속성으로 설계한 것을 말합니다. 예제를 위해서 회원이 주문을 하는 경우에 대한 데이터 모델을 그려보겠습니다. 주문 데이터 모델 이것은 인터넷 쇼핑몰에서 회원이 여러 상품을 묶어서 한번에 주문하는 내용입니다. 누적 주문 금액에 따라서 회원의 등급이 결정되구요. 이때 다른 속성을 가지고 계산해서 알 수 있는, 즉 파생 속성은 어떤것이 될까요? 생각 해 보셨나요? 네, 주문 테이블의 총 금액이요? 맞습니다. 주문총금액 = 해당 주문건의 (주문상품의 상품가격 X 개수)의 총 합 이라는 식으로 구할 수 있으니까요. 이게 다 일까요.. 2013. 7. 25.
아크관계를 위해 키 조정하기 오늘은 통합이나, 아크(arc) 관계 설정을 위해서 키를 조정하는 상황에 대해서 살펴 보겠습니다. 예를들어 도서를 대출할 때 개인회원이나 법인 회원이 대출 가능한 경우 입니다. 개인회원은 주민등록번호를 사용하여 식별하구요, 법인회원은 법인번호로 식별하도록 합니다. 그런데, 법인은 해마다 일정금액을 기부해야만 법인 회원 자격이 유지되도록 하고 있기 때문에, 법인번호와 회원등록년도를 조합하여 식별하도록 키를 구성하겠습니다. 개인회원이나 법인회원 모두가 도서 대출을 할 수 있는 경우, 도서대출 테이블에 전달할 키 (Foreign Key)가 문제가 됩니다. 만약 아무 생각없이 개인이나 법인을 모두 연결한다면 컬럼이 이렇게 구성되겠지요. 그런데, 이때에는 개인이 대출한 경우는 주민번호 컬럼만 값이 들어있고 나머지.. 2013. 7. 11.
엔터티 분류하기 - 예제 지난글에서는 엔터티의 분류를 설명해드렸는데요, 글 마지막에 약속드린대로, 오늘은 erd 예제를 가지고 엔터티를 분류해 보도록 할께요. 언제든 예제를 보는게 가장 기본이면서 효과적인 학습방법이니까요. :) 누구에게나 친숙한 쇼핑몰을 상상하고 필요한 정보를 이정도로 뽑을 수 있겠네요. 그럼 각각의 엔터티를 분류해보겠습니다. □ 고객 지금의 업무 도메인(인터넷 쇼핑몰)에서 고객은 기준이되는 정보죠. 다른 정보에 의해서 발생하는 것이 아니라 시작이 되는 정보입니다. 따라서 고객은 '고객기본'이라고 이름 붙이면 되겠습니다. 기준이 된다는 것은 관계측면에서 보면 1:M 관계의 자식에 해당되는 경우는 거의 없이 부모에 존재하는 형태 입니다. 아 고객 등급이 존재하지 않느냐구요? ^^ 이것은 뒤에서 분류하겠지만, 코드.. 2013. 6. 29.