본문 바로가기

Data Modeling21

복합키 정리하기 오늘은 여러개의 속성이 모여서 식별자를 구성하고 있는 경우를 살펴보겠습니다. 사족인데요,음 이 말을 다시하면 여러개의 컬럼이 모여서 Primary Key를 구성하고 있는 경우를 살펴보자는 말이죠. 논리 모델과 물리 모델에서 사용하는 용어차이가 있다는 얘긴데요. 개인적으론 조금 고민입니다. 대체로 Database와 통용되는 물리모델의 용어에 더 익숙하실거라 그 용어를 사용해서 설명하고 대화하긴 하지만, 분석하는 입장에서 모델을 말하자면 사실 논리 모델 용어가 더 의미상 정확한 경우가 많거든요. 흠.. 이래저래 저는 지금까지 섞어써왔을것 같네요. 이해를 위한 최선의 선택이었다는 변명을...;-) 예를들어 어느 보험회사의 보험계약내역 이라는 테이블의 키가 다음과 같이 구성되어 있다고 하겠습니다. 그림1. 보험.. 2013. 5. 30.
잘못된 관계를 설정 하면 발생하는 일 며칠전 프로젝트 참여인원을 대상으로 데이터 모델링의 기본내용을 강의할 일이 있었는데요, 엔터티란 무엇인가, 관계란 무엇인가, 관계의 유형은 어떤것이 있는가를 한참 설명하고 있는데 한 분이 질문을 하셨습니다. "그런데, 만약에 관계를 잘못 맺으면요. 예를들어 1:1 관계인데, 1:M 으로 설정한다든지요. 그럼 어떤일이 생기나요? 혹은 잘못 맺었다는 것을 어떻게 알 수 있나요?" 흡. 잠시 긴장 했더랬습니다. 당연히 제대로 그려야 한다는 생각만 해왔지, 어떤일이 생길지, 어떻게 알 수 있을지는 깊이 생각해 보지 않았던것 같습니다. 그래서, 잘못 그린다고 무슨일이 나서 알게되지는 않으나, 논리 데이터 모델은 업무 규칙을 잘 표현하려고 노력해야 하고 업무 규칙을 잘 아는 사람이 검증해야 한다고 답하고 마무리 했.. 2013. 5. 23.
관계 종류 결정하기 오늘은 관계의 종류를 결정하는 방법을 살펴보도록 할께요. 가장 일반적인 관계인 1:M 관계에는 식별자관계(identifying relationship)과 비식별자관계(non-identifying relationship)가 있습니다. 예를들어 회사의 사원들이 존재하는데, 이들은 입사할때 특정한 사번을 부여받고, 모든 사원들은 부서에 소속된다면 다음과 같이 표현합니다. 이것은 비식별자 관계라고 합니다. 각각의 식별자가 독립적으로 존재하기 때문에 붙여진 이름입니다. 그림1. 부서 사원 비식별자 관계 이 사원의 매일의 근무 시간 정보를 기록하는데, 각자 사번별로 일자를 기록하여 관리한다면 다음과 같이 표현하죠. 이것은 식별자 관계라고 합니다. 그림에서 보듯 근태정보는 사번과 일자의 조합으로 식별할 수 있기 때문.. 2013. 5. 18.
속성이냐 엔터티냐 모델링을 하다보면 기존 엔터티에 몇 개의 속성을 추가하면 그만일지, 별도의 엔터티를 만들어 주어야 할 지 고민이 될때가 자주 있습니다. 오늘은 그런 상황에 대해서 생각해 보도록 하겠습니다. 예를들어 다음과 같은 직원 엔터티가 있다고 하겠습니다. 아버지의 성명을 관리해야 한다면 속성하나의 추가로 가능합니다. 이것으로 그만이라면 현재의 모델은 이대로 완벽하지요. 그런데, 조금 시간이 지나니 직원 부모의 환갑 축하금을 드리기 위해 아버지의 생년월일도 관리해야 한다고 합니다. 그러다보니 아버지만 드리면 안된다고 어머니도 드려야 한다고 하지요. 몇년이 지나 복지가 확대되어 자녀 출산 축하금도 지급하고 초등학교 입학선물도 준다고 하면 아이들 정보도 관리해야 하겠지요. 어느정도 까지는 아래와 같이 속성을 추가해가면서.. 2013. 5. 10.