본문 바로가기

데이터 Story/데이터 상념(想念)

모델링은 상식적이다 데이터 모델링은 상식적입니다. 만약에 모델링이 상식적이지 않은 분야였다면 필자는 모델러로서 지금까지 일할 수 없었을 것입니다. 모델링과 관련된 내용을 크게 두 가지로 나누면 하나는 이론이고 다른 하나는 경험입니다. 그중에 모델링 이론은 지극히 상식적입니다. 모델링 이론이 다른 분야와 비교해서 어렵지 않다고 느껴지는 것은 상식적이기 때문일 것입니다. 정규화를 기초로 한 이론은 상식적이라고 생각합니다. 데이터 무결성을 최우선 과제로 삼는 데이터 모델링의 이론은 지극히 상식적입니다. 데이터를 제대로 관리하는 데 필요하므로 상식적일 수밖에 없습니다. 하지만 비록 이론은 상식적이지만 실제로 모델링을 하면 어렵게 느껴집니다. 상식적으로 알 수 있는 쉬운 이론으로 모델링을 수행해도 어려운 것이 모델링인데 이론을 모른.. 더보기
데이터 모델링이 왜 어려운가? 데이터 모델링은 어렵습니다. 모델링 이론이 어렵다는 말은 아닙니다. 이론은 다른 분야의 것과 비교해서 어렵지 않다고 생각합니다. 하지만 이론을 알고 있더라도 막상 시작하려면 무엇을 어떻게 해야 할지 막막해집니다. 또한 완료하고 나서는 모델링이 제대로 됐는지에 대한 확신이 없습니다. 시작하기 어렵고 결과를 확신할 수 없으니 어려운 분야임이 틀림없습니다. 이유는 여러 가지가 있을 것 같습니다. 우선 모델링 이론(理論) 외에 알아야 하는 분야의 폭이 넓습니다. 모델링은 데이터의 본질을 통찰해야 하는 추상적인 개념에서부터DBMS(데이터베이스)의 구체적인 특징과 기능까지 알아야 제대로 수행할 수 있습니다. 데이터의 집합을 정의하는 것은 쉽지 않습니다. 유사한 집합을 일반화(Generalization)하는 것도 쉬.. 더보기
차세대 프로젝트에서의 모델러의 역할 이전 글에서 사명감이 없는 모델러는 좋은 모델러가 아니라고 했습니다. 하지만 시간이 절대적으로 부족하면 분석을 제대로 할 수 없기 때문에 사명을 가지고 의욕적으로 모델링을 수행할 수 없습니다. 최근의 대형 프로젝트에서 모델러의 역할을 제대로 할 수 없을 정도로 자원(인력과 시간)이 주어지는 것은 안타까운 일입니다. 이런 프로젝트에서는 모델러가 보통 두 가지 정도의 역할을 해야 한다고 생각합니다. 하나는 프로젝트 초반을 주도하며 끌고가는 선봉대와 같은 역할입니다. 업무에 대한 충분한 분석은 말 할 것도 없고 데이터에 대한 충분한 분석 없이 모델링을 수행하면서 산출물을 만들고 다른 사람들한테 데이터와 관련된 자료를 제공합니다. 상향식(Bottom-Up) 방법으로 모델링을 수행하면 충분하게 분석하지 않고도 제.. 더보기
좋은 모델러가 되려면 2 지난번에 이어 이번에는 모델러가 되기 위한 기술력 이외의 분석력 등을 언급하려 합니다. 어떻게 보면 광범위한 범위가 될 수도 있습니다. 좋은 모델러가 되기 위해서는 정규화, DBMS, 튜닝 등의 기술적인 측면 못지 않게 분석력과 설득력, 발표력 등이 필요합니다. 분석력은 모델러에게 대단히 중요한 요소입니다. 모델링 기법을 익혀도 분석력이 없다면 모델링을 진행하기 어렵습니다. 정확한 분석을 통해 모델의 기반이 되는 엔터티가 정의되며 속성 하나의 쓰임새도 업무와 연관지을 수 있는 분석력이 없다면 좋은 모델러가 되기 어렵습니다. 아마 많은 사람들이 모델링 이론은 어느 정도 알고 있는데 모델링을 수행하기 힘든 이유가 분석력이 없기 때문이라고 생각합니다. 제 책에서도 거듭 강조했지만 모델링의 시발점은 엔터티가 정.. 더보기
좋은 모델러가 되려면... 주변에서 모델러가 되고 싶어하는 사람들을 많이 봅니다. 막연하게 좋아보이니까 모델러가 되고 싶어하는 거 같습니다. 이 글을 읽는 분들은 대부분 프로그래밍 개발 경험이 있을 거 같습니다. 처음 프로그래밍 언어를 대할 때를 생각해 보시면 아마 해당 언어에 대한 책 한 두 권은 필독하셨을 거 같고요. 일단 언어가 익숙할 수 있도록 많은 연습(Hello World로 시작되는)과 몰두를 했을 것입니다. 프로그래밍 언어를 처음 시작할 때의 설레임과 각오, 노력이 떠오를 것 같습니다. 모델러가 되기 위해서도 기본적으로 같은 노력을 해야 합니다. 이번 글에서는 모델러가 되기 위해 알아야 하는 이론에 대해서 언급하겠습니다. 프로그래밍을 개발하려면 프로그래밍 언어를 알아야 하듯이 모델링을 하려면 모델링에 대한 이론을 알아.. 더보기
좋은 모델은... 좋은 모델은 사용자가 원하는 데이터를 정확하게 빠르게 보여줄 수 있는 단순한 모델이다. 업무요건(Business Requirement) 모델링은 업무에서 필요로 하는 데이터를 설계하는 작업이다. 좋은 모델은 당연히 업무 요건을 만족해야 한다. 업무가 기준이 되지 않은 모델은 좋은 모델이 아니다. 업무에서 요구하는 데이터를 분석해서 엔터티를 명확하게 정의하는 것이 정규화이므로 업무를 모델에 표현하려면 정규화 과정을 거쳐야 한다. 데이터 무결성(Data Integrity) 데이터 무결성(Integrity)을 높이는 것이 모델링의 최우선 목표다. 데이터 무결성은 데이터에 결점이 없는 상태를 의미한다. 무결성이 훼손된 데이터는 아무리 업무 요구 사항을 충족한다 해도, 아무리 빠른 성능이 보장된다 해도 좋은 모델.. 더보기