본문 바로가기

더 괜찮은 개발자가 되기위한/시스템 설계하기

데이터 설계

□ 데이터 설계


○ 데이터 설계란


데이터 설계란 시스템에서 사용하는 데이터를 찾아내 데이터베이스에 저장할 테이블의 구조를 디자인하고 기본키, 외래키, 인덱스 등의 관리 요소를 계획하는 작업이다. 재무적으로 기업은 직원, 부동산, 유가증권, 법인등록증 등으로 구성되지만 시스템 적으로 기업은 데이터로 이루어져 있다. 데이터베이스에 기업이 가지고 있는 부동산, 직원정보, 영업비밀, 거래처 정보 등 영업활동과 기업 존재에 관한 모든 정보가 들어있기 때문이다. 엔터프라이즈 시스템의 핵심은 바로 이러한 데이터를 어떻게 잘 관리하고 활용하느냐에 있다.


데이터 설계 절차

데이터 설계는 요구 사항 분석부터 시작 한다. 시스템을 구축하기 위해 필요한 데이터가 무엇이고 이것을 어떻게 관리해야 할 지 요구사항 명세서, 프로세스 설계서, 인터페이스 설계서를 참고한다.

개념 데이터 설계는 관리하고자 하는 정보와 그 정보간에 어떤 관계가 있는지 설계하는 단계이다. 세부적인 속성을 정의하지 않으며 단지 어떤 데이터가 있고 다른 데이터와 어떤 관계가 있는지 정도만 정의한다.

논리 데이터 설계는 개념 단계에서 도출한 정보의 속성을 정의하고, 식별자(Primary Key)를 확정하고 데이터의 일관성과 정확성을 향상시키기 위한 정규화를 수행하는 단계다. 논리 데이터 설계 단계에서는 이해하기 쉽게 한글로 된 속성명을 사용해 데이터를 설계한다. 이를 기반으로 데이터 사전을 정의하고 앞으로 물리 데이터 설계에서 동일한 개념을 동일한 이름으로 표현할 수 있도록 준비한다.

물리 데이터 설계는 상용 데이터 베이스에 이식할 수 있도록 속성을 구체적으로 정의한다. 타입과 크기 그리고 제약사항을 정의한다. 전 단계에서 수행한 정규화가 데이터의 일관성과 정확성에 초점을 맞췄다면, 현 단계에서는 데이터 관리의 효율성과 속도에 초점을 맞춰 비정규화를 일부 수행한다.

마지막으로 물리 데이터 설계가 완료 됐으면 테이블 정의서를 작성해 물리 데이터 베이스에 이식할 준비를 한다. 테이블 정의서는 보통 엑셀로 작성되며 데이터 사전을 미리 작성하고 일관성 있는 컬럼명과 데이터 타입을 사용할 수 있도록 한다.

 

○ 데이터 설계도구 ERD


ERD(Entity Relationship Diagram: 개체 관계 다이어그램)는 데이터의 구조 및 그에 수반하는 제약 조건들을 설계하고 표현하기 위한 표시법이다(출처: 위키백과). 처음 ERD는 개념적 데이터 모델링 도구로 사용했지만, 지금은 다양한 ERD 도구가 데이터 타입과 제약사항까지 포함해 물리 데이터와 연계될 수 있도록 하는 방식으로 설계와 개발을 연계하고 있다.


ERD 구성 요소


ERD는 크게 개체(Entity), 관계(Relation), 속성(Attribute)으로 구성된다. 개체는 데이터 수집 대상이 되는 사물로써 각 개체는 속성으로 정의된다. 일반적으로 개체는 테이블로 변환된다.


관계는 개체 들간의 연관성을 나타낸다. 대학교에서 사용하는 강의관리 시스템을 만든다고 할 때 학생과 강의 개체를 도출할 수 있다. 학생은 강의을 신청하기 때문에 학생 개체와 강의 개체는 서로 관계가 있다고 할 수 있다. 하나의 강의에 학생 여러 명이 등록할 수 있기 때문에 강의와 학생은 1:N 관계가 있다고 할 수 있다.


속성은 개체가 가지고 있는 특성을 말한다. 개체는 테이블로 변환되기 때문에 속성을 테이블에 가지고 있는 컬럼으로 변환할 수 있다


ERD 관계


ERD에서는 세 가지 관계를 정의하고 있는데 물건을 구매하는 회사의 고객, 주문, 주문서, 상품의 관계를 통해 ERD 관계에 대해 알아보자. 1:1 관계는 하나의 주문에 하나의 주문서를 생성하는 관계를 말한다. 주문에는 주문번호가 있고 주문번호는 하나의 주문서를 가리키게 된다. 1:N 관계는 고객 한 명이 여러 개 주문서를 생성하는 관계를 말한다. N:N 관계는 상품과 주문이 있을 때 하나의 상품은 여러 개의 주문 테이블에 있을 수 있고 하나의 주문서에 동일한 여러 개의 상품을 담을 수 있는 관계를 말한다


ERD 작성 절차


ERD 작성 절차에 대해 알아보자. 먼저 ERD를 작성하기 위해서는 업무를 분석해야 한다. 데이터 설계 절차의 분석 과정과 유사하게 요구사항 명세서, 프로세스 설계서, 인터페이스 설계서를 분석해 업무에서 데이터를 도출한다. 다음으로 개체를 선정해야 하는데 프로세스 설계서에 있는 데이터 저장소를 중심으로 개체를 도출하고 이를 보완해서 최종적으로 개체를 선정한다. 개체가 선정됐으면 개체 간의 관계를 설정해야 한다. 업무적 연관성에 따라 객체 간의 관계를 설정한다. 마지막으로 개체의 특성을 나타내는 속성을 정의하고 속성 중 개체를 식별해 주는 식별자를 정의하게 된다.


○ 스마트 영업지원시스템 데이터 설계 실무사례


스마트 영업지원시스템 개념 설계서 사례


스마트 영업지원시스템 논리 설계서 사례


스마트 영업지원시스템 물리 설계서 사례


스마트 영업지원시스템 DB 명명 규칙 정의서 사례


스마트 영업지원시스템 용어사전 사례


스마트 영업지원시스템 코드 정의서 사례


스마트 영업지원시스템 테이블 정의서 사례


'더 괜찮은 개발자가 되기위한 > 시스템 설계하기' 카테고리의 다른 글

데이터 설계  (0) 2018.11.19
인터페이스 설계  (0) 2018.11.19
프로세스 설계  (0) 2018.11.19
프로젝트 설계 개념  (0) 2018.11.19