본문 바로가기

전체 글74

아크관계를 위해 키 조정하기 오늘은 통합이나, 아크(arc) 관계 설정을 위해서 키를 조정하는 상황에 대해서 살펴 보겠습니다. 예를들어 도서를 대출할 때 개인회원이나 법인 회원이 대출 가능한 경우 입니다. 개인회원은 주민등록번호를 사용하여 식별하구요, 법인회원은 법인번호로 식별하도록 합니다. 그런데, 법인은 해마다 일정금액을 기부해야만 법인 회원 자격이 유지되도록 하고 있기 때문에, 법인번호와 회원등록년도를 조합하여 식별하도록 키를 구성하겠습니다. 개인회원이나 법인회원 모두가 도서 대출을 할 수 있는 경우, 도서대출 테이블에 전달할 키 (Foreign Key)가 문제가 됩니다. 만약 아무 생각없이 개인이나 법인을 모두 연결한다면 컬럼이 이렇게 구성되겠지요. 그런데, 이때에는 개인이 대출한 경우는 주민번호 컬럼만 값이 들어있고 나머지.. 2013. 7. 11.
엔터티 분류하기 - 예제 지난글에서는 엔터티의 분류를 설명해드렸는데요, 글 마지막에 약속드린대로, 오늘은 erd 예제를 가지고 엔터티를 분류해 보도록 할께요. 언제든 예제를 보는게 가장 기본이면서 효과적인 학습방법이니까요. :) 누구에게나 친숙한 쇼핑몰을 상상하고 필요한 정보를 이정도로 뽑을 수 있겠네요. 그럼 각각의 엔터티를 분류해보겠습니다. □ 고객 지금의 업무 도메인(인터넷 쇼핑몰)에서 고객은 기준이되는 정보죠. 다른 정보에 의해서 발생하는 것이 아니라 시작이 되는 정보입니다. 따라서 고객은 '고객기본'이라고 이름 붙이면 되겠습니다. 기준이 된다는 것은 관계측면에서 보면 1:M 관계의 자식에 해당되는 경우는 거의 없이 부모에 존재하는 형태 입니다. 아 고객 등급이 존재하지 않느냐구요? ^^ 이것은 뒤에서 분류하겠지만, 코드.. 2013. 6. 29.
엔터티 분류하기 요사이는 엔터티의 이름을 짓고 있는데요, 이러한 작업은 엔터티가 어떤 유형인지를 구분하는 것으로부터 시작됩니다. 엔터티 이름의 어미를 유형 구분으로 끝내는 것이 성격을 명확히하고 의사소통을 쉽게 하기위한 기본사항이거든요. 엔터티 이름의 어미에 사용하는 유형을 예로 들면 다음과 같습니다. ~ 코드 : 국가코드와 같이 데이터 건수가 적으면서 변경이 거의 없는 기준 정보 입니다.~ 기본 : 고객기본, 창고기본과 같이 업무 시작이 되는 주체에 대한 정보 입니다.~ 내역 : 주문내역, 재고내역과 같이 ~기본 정보에 의해 발생하는 이벤트나 상태를 다루는 정보입니다.~ 상세 : 고객연락처상세와 같이 ~ 기본 또는 ~ 상세의 성격중 일부 정보를 구체적으로 표현하기 위한 정보입니다. ~ 이력 : 고객기본변경이력과 같이 .. 2013. 6. 26.
ERD에서 올바른 관계(relationship) 맺어주기 요즘은 현재 운영중인 시스템의 ERD를 보면서 테이블들 간의 관계를 찾아주는 작업을 하고 있습니다. 초기 ERD는 운영 Database에서 reverse 해서 만들었는데, 테이블간의 관계는 전혀 없습니다. 이걸 들여다 보면서 나름 해독하고, 업무 설명 문서를 읽고, 그래도 모르겠는 내용은 물어가며, 이렇게 저렇게 상상의 나래까지 더해서 관계를 찾아가고 있는데요. 꽤 재미있네요. :-) 오늘은 이렇게 관계를 찾아나가던 중, 세 번이나 관계를 바꾸고 나서야 만족스러운 결과를 얻었던 사례를 말씀드리려고 해요. 우리 도서관에 연체한 회원의 목록을 타 도서관에 보내서, 그 쪽 도서관에도 연체한 사람인지 알아보려고 하는 업무라고 가정할께요. 다른 도서관은 우리 도서관의 타 지역 분원 일 수 있구요, 아니면 아예 다.. 2013. 6. 20.