본문 바로가기

전체 글74

엔터티 통합하기 요사이는 테이블들을 합칠지 말지 하는 고민을 많이 하고 있습니다. 언뜻 보기에는 테이블의 데이터들이 유형만 다를 뿐 비슷해 보이기는 하는데, 속성을 하나하나 뜯어 보자니 좀 다른것 같기도 하고... 참 결정하기 힘든것 같습니다. 예를 들어 도서관에서 책을 구매하고자 하는 대상을 모아놓는 테이블이 아래와 같이 여러 종류가 있다고 해볼께요. 속성이 조금씩 다르기는 하지만 의미상으로는 같은 구매 대상이기 때문에 통합하고 싶습니다. 좋은 결정을 내리기 위해서는, 통합 했을때의 장단점을 하나하나 따져보는 수밖에 없을것 같아요. 일단 장점을 살펴보자면, 실제로 주문을해서 구매를 진행하게되는 이후 프로세스 처리 시 에는 다 같이 사용될 확률이 높은데, 통합하면 데이터 모델이 단순해집니다.예를들어 통합전에는 모든 구매.. 2013. 6. 13.
선택적(optional) 관계의 모든것 저답지 않게 오늘은 좀 선정적?인 제목을 달아봤습니다. 혼자서 글을 쓰고 있고, 부끄러워 주변에 알리지도 않으면서도, 방문자가 늘지않고 오히려 줄어드니 기운이 빠져서요. 제목을 이렇게 하면 방문자가 늘까요? :-) 오늘은 선택적 관계에 대해서 알아보겠습니다.optional 은 관계위에 동그라미로 표현하고, "~ 일 수도 있다" 라고 읽지요. 예를들면 이런겁니다. 그림1. 부서와 사원 사원은 늘 특정 부서에 속하지만, 부서중에는 사원이 하나도 없는 부서도 존재한다는 의미입니다. 반대의 경우도 물론 가능하겠죠.그림2. 부서와 사원 부서는 늘 사원을 가진다. 부서를 만듦과 동시에 팀원들을 발령한다는 의미죠. 하지만 사원은 부서에 속하기도 하고 속하지 않기도 한다 인데, 예를들어 신입사원이 입사했을때 한동안 팀.. 2013. 6. 6.
복합키 정리하기 오늘은 여러개의 속성이 모여서 식별자를 구성하고 있는 경우를 살펴보겠습니다. 사족인데요,음 이 말을 다시하면 여러개의 컬럼이 모여서 Primary Key를 구성하고 있는 경우를 살펴보자는 말이죠. 논리 모델과 물리 모델에서 사용하는 용어차이가 있다는 얘긴데요. 개인적으론 조금 고민입니다. 대체로 Database와 통용되는 물리모델의 용어에 더 익숙하실거라 그 용어를 사용해서 설명하고 대화하긴 하지만, 분석하는 입장에서 모델을 말하자면 사실 논리 모델 용어가 더 의미상 정확한 경우가 많거든요. 흠.. 이래저래 저는 지금까지 섞어써왔을것 같네요. 이해를 위한 최선의 선택이었다는 변명을...;-) 예를들어 어느 보험회사의 보험계약내역 이라는 테이블의 키가 다음과 같이 구성되어 있다고 하겠습니다. 그림1. 보험.. 2013. 5. 30.
잘못된 관계를 설정 하면 발생하는 일 며칠전 프로젝트 참여인원을 대상으로 데이터 모델링의 기본내용을 강의할 일이 있었는데요, 엔터티란 무엇인가, 관계란 무엇인가, 관계의 유형은 어떤것이 있는가를 한참 설명하고 있는데 한 분이 질문을 하셨습니다. "그런데, 만약에 관계를 잘못 맺으면요. 예를들어 1:1 관계인데, 1:M 으로 설정한다든지요. 그럼 어떤일이 생기나요? 혹은 잘못 맺었다는 것을 어떻게 알 수 있나요?" 흡. 잠시 긴장 했더랬습니다. 당연히 제대로 그려야 한다는 생각만 해왔지, 어떤일이 생길지, 어떻게 알 수 있을지는 깊이 생각해 보지 않았던것 같습니다. 그래서, 잘못 그린다고 무슨일이 나서 알게되지는 않으나, 논리 데이터 모델은 업무 규칙을 잘 표현하려고 노력해야 하고 업무 규칙을 잘 아는 사람이 검증해야 한다고 답하고 마무리 했.. 2013. 5. 23.