고객과 함께 고객의 업무 프로세스를 이해해야 데이터 모델링을 제대로 할 수 있다
추상화 과정이 필요하고 데이터 모델링시 표기법을 이용해서 모델링 해야한다.
비즈니스 프로세스 규칙을 정의하여 데이터 모델로 표현 할 수 있어야 한다.
고객이 이해하기 쉽게 간결하게 모델링해야한다.
추상화 : 일정한 양식, 표기법에 맞게 간략하게 표현
단순화 : 누구나 이해하기 쉽도록 약속된 규약에 의한 제한된 표현
명확화 : 애매모함을 제거하며 명확하게 의미가 한 가지로 해석
추상화 수준이 제일 높음
업무 측면 모델링
핵심 엔터티 도출
ERD 작성
세부 속성, 식별자, 관계 등을 정확하게 표현
데이터의 정규화
재사용성이 높음
물리적인 성능과 데이터 저장을 고려한 설계
가장 구체적인 모델링 추상화 수준이 제일 낮음
성능, 보안, 가용성을 고려한 데이터베이스 모델링 진행
데이터 관점 -> 구조분석, 정적분석
데이터와 데이터 사이의 관계가 무엇인지에 따라 모델링한다
프로세스 관점 -> 시나리오 분석, 도메인 분석, 동적 분석
실제 하는 업무에 따라 무엇을 어떻게 하는지 모델링한다
데이터와 프로세스의 상관 관점 -> CRUD (Create, Read, Update, Delete)
업무의 처리와 데이터 간의 서로 어떤 영향을 주고 받았는지 모델링한다.
ERD 작성하는 순서
데이터 모델링 고려사항
외부 스키마 -> 사용자 관점
내부 스키마 -> 설계자 관점
개념 스키마 -> 개발자 관점
독립성을 위해 3단계 구조의 스키마 존재한다.
데이터 독립성을 확보하면 데이터 복잡도가 낮아진다.
장점으로 데이터 중복 제고, 유지보수 비용 절감이 있다.
유형 엔터티 : 물리적이며 지속적인 엔터티
--> 사원, 제품, 교수 등등
개념 엔터티 : 물리적이진 않지만 개념적으로 존재하고 정보로 구분되는 엔터티
--> 강의, 금융상품, 부서 등등
사건 엔터티 : 비즈니스 프로세스에 따라 발생하는 엔터티
--> 구매, 판매, 영업, 수납 등등
기본 엔터티 : 독립적으로 생성되고 관리된다 (키엔터티)
--> 고객, 부서, 판매제품
중심 엔터티 : 기본 엔터티 ~ 행위 엔터티 중간 엔터티이다.
--> 계좌, 주문, 수납 등등
행위 엔터티 : 상위에 있는 2개 이상의 엔터티
--> 주문 이력, 접속 이력, 수납 이력 등등
엔터티가 가지는 항목, 속성은 더 이상 분리 되지 않는다.
업무에 필요한 데이터를 저장한다.
인스턴스의 구성 요소 -> 최소의 데이터 단위
업무에서 관리 되는 정보 , 하나의 값만 가진다.
기본키에 따라 속성의 값도 변경된다.
기본 속성 : 비즈니스 프로세스에서 도출한 본래의 속성
-> 이름, ID, 전화번호, 등록일시 등
설계 속성 : 데이터 모델링 과정에서 발생하는 속성
-> 상품코드, 지점코드 등
파생속성 : 다른 속성에 의해서 만들어지는 속성