※ 모델링: 현실세계를 단순화하여 표현하는 것
☆ 모델링 특징
- 추상화: 일정한 형식에 맞춰 표현함
- 단순화: 제한된 표기법이나 언어로 표현함
- 명확성(정확화): 이해가 쉽게 표현함
※ 데이터 모델링: 정보 시스템 구축을 위한 데이터 관점의 업무 분석 기법
- 데이터 모델링 3요소: 어떤 것(Things), 성격(Attributes), 관계(Relationships)
☆ 중요성 및 유의점
- 중복: 같은 시간 같은 데이터 제공
- 비유연성: 사소한 업무변화에 데이터 모델이 수시로 변경되면 안됨. 데이터 정의를 사용 프로세스와 분리한다.
- 비일관성: 데이터 간 상호 연관 관계에 대해 명확히 정의해야 한다.
☆ 프로젝트 생명주기
계획 -> 분석 -> 설계 -> 개발 -> 테스트 -> 전환/이행
개념적 데이터 모델링: 엔티티와 속성을 도출 & ERD 작성, 업무중심적이고 포괄적인 수준의 모델링 (계획, 분석)
논리적 데이터 모델링: 식별자를 도출 & 속성과 관계 등을 정의, 정규화를 수행해 데이터 모델의 독립성과 재사용성 확보, 논리 데이터 모델은 데이터 모델링 완료 상태 (분석)
물리적 데이터 모델링: DB 구축 & 성능 및 보안 등 물리적인 성격 고려 (설계)
☆ 데이터 독립성 요소 (ANSI - SPARC: 3단계 구조)
외부 스키마: 개개 사용자가 보는 개인적 DB 스키마
개념 스키마: 모든 사용자 관점을 통합한 전체 DB
내부 스키마: 물리적 장치에서 데이터가 실제적 저장
외부 스키마<-----------> 개념 스키마 <---------> 내부 스키마
논리적 사상 물리적 사상
※ 좋은 데이터 모델의 요소
- 완전성: 업무에 필요한 모든 데이터가 모델에 정의
- 중복배제: 하나의 DB내에 동일한 사실은 한번만 존재.
- 업무규칙: 많은 규칙을 사용자가 공유하도록 제공
- 데이터 재사용: 데이터가 독립적으로 설계돼야 함.
- 의사소통: 업무규칙은 엔티티, 서브타입, 속성, 관계 등의 형태로 최대한 자세히 표현
- 통합성: 동일한 데이터는 한번만 정의, 참조 활용
※ 엔티티: 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것, 보이지 않는 개념 포함.
☆ 엔티티 특징
- 반드시 해당 업무에서 필요하고 관리하고자 함
- 유일한 식별자에 의해 식별 가능 (PK)
- 두개 이상의 인스턴스의 집합
- 업무 프로세스에 의해 이용되어야 함
- 반드시 속성이 있어야 함
- 다른 엔티티와 최소 1개 이상의 관계가 있어야 함. -> 통계성/ 코드성 엔티티는 관계 생략 가능
엔티티의 분류
1. 유무형에 따른 분류: 유형, 개념, 사건 엔티티
- 유형: 물리적 형태 ex) 사원, 물품, 강사
- 개념: 개념적 정보 ex) 조직, 보험상품
- 사건: 업무수행시 발생 ex) 주문, 청구, 미납
2. 발생시점에 따른 분류: 기본/키, 중심, 행위 엔티티
- 기본: 그 업무에 원래 존재하는 정보 ex) 사원, 부서
- 중심: 기본 엔티티로부터 발생 ex) 계약, 사고, 주문
- 행위: 자주 바뀌거나 양이 증가 ex) 주문목록, 사원변경 이력
엔티티 명명
- 현업업무에서 사용하는 용어 사용
- 약어 사용금지
- 단수명사 사용
- 고유한 이름 사용
- 생성의미대로 부여
'SQLD > 1과목' 카테고리의 다른 글
1과목 개념 (데이터 모델과 성능(슈퍼/서브 타입 ~ 분산 DB)) (0) | 2023.08.04 |
---|---|
1과목 개념 (데이터 모델과 성능(성능 데이터 모델링 ~ 파티셔닝)) (0) | 2023.08.04 |
1과목 개념 (속성 ~ 식별자) (0) | 2023.08.02 |