SQLD 복습 - 1장. 데이터 모델링의 이해
- 모델링
- 정의 : 다양한 현상을 표기법에 의해 표기하는 것
- 관점 :
- 데이터 관점
- 프로세스 관점
- 상관 관점
- 데이터모델링
- 정의 : 정보시스템을 구축하기 위한 데이터관점의 업무분석기법
- 기능 :
- 시스템 가시화
- 시스템 구조와 행동 명세화
- 세스템 구축의 구조화된 틀 제공
- 문서화
- 세부사항은 숨기는 다양한 관점 제공
- 상세수준의 표현방법 제공
- 중요성 및 유의점
- 중복 : 같은 시간 같은 데이터 제공
- 비유연성 : 사소한 업무변화에 데이터 모델이 수시로 변경되면 안됨. 데이터 정의를 사용프로세스와 분리한다.
- 비일관성 : 데이터 간 상호 연관 관계에 대해 명확히 정의해야한다.
- 종류
- 3요소
- 어떤 것 (Things)
- 속성 (Attributes)
- 관계 (Relationships)
- 특징
- 좋은 데이터 모델의 요소
- 완전성 : 업무에 필요한 모든 데이터가 모델에 정의
- 중복배제 : 하나의 DB내에 동일한 사실은 한번만
- 업무규칙 : 많은 규칙을 사용자가 공유하도록 제공
- 데이터 재사용 : 데이터가 독립적으로 설계되어야 함
- 의사소통 : 업무규칭은 엔터티, 서브타입, 속성, 관계 등의 형태로 최대한 자세히 표현
- 통합성 : 동일한 데이터는 한번만 정의, 참조 활용
- 데이터 독립성
- 요소
- 외부 스키마 : 개개 사용자가 보는 개인적 DB 스키마
- 개념 스키마 : 모든 사용자 관점을 통합한 전체 DB
- 내부 스키마 : 물리적 장치에서데이터가 실체적 저장
- 종류
- 논리적 독립성 : 개념스키마 변경, 외부스키마에 영향x
- 물리적 독립성 : 내부스키마 변경, 외부/개념스키마에 영향x
- Mapping (사상)
- 개념 : 상호 독립적인 개념을 연결시켜주는 다리
- 종류
- 논리적 사상 : 외부 스키마 - 개념 스키마
- 물리적 사상 : 개념 스키마 - 내부 스키마
- ERD 작업순서
- 엔터티 그림
- 엔터티 배치
- 엔터티 관계설정
- 관계명 기술
- 관계의 참여도 기술
- 관계 필수 여부 기술
- Entity (엔터티)
- 정의 : 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합. (보이지 않는 개념 포함)
- 특징 :
- 반드시 해당 업무에서 필요하고 관리하고자 함
- 유일한 식별자에 의해 식별 가능
- 두개 이상의 인스턴스의 집합
- 업무 프로세스에 의해 이용되어야 함
- 반드시 속성이 있어야 함
- 다른 엔터티와 최소 1개이상의 관계가 있어야함 (통계성,코드성 엔터티는 관계 생략 가능)
- 분류
- 유무형에 따른
- 유형 : 물리적 형태 (예. 사원, 물품, 강사)
- 개념 : 개념적 정보 (예. 조직, 보험상품)
- 사건 : 업무수행시 발생 (예. 주문, 청구, 미납)
- 발생시점에 따른
- 기본 : 그 업무에 원래 존재하는 정보, 타 엔터티의 부모역할, 자신의 고유한 주식별자를 갖는다 (예. 사원, 부서)
- 중심 : 기본 엔터티로부터 발생, 다른 엔터티와의 관계로 많은 행위 엔터티 생성 (예. 계약, 사고 주문)
- 행위 : 2개 이상의 부모 엔터티로부터 발생, 자주 바뀌거나 양이 증가 (예. 주문목록, 사원변경이력)
- 명명 : 현업에서 사용하는 용어 o, 약어 x, 단수명사 o, 고유한 이름 o, 생성의미대로 부여
- Attributes (속성)
- 정의
- 업무에서 필요로하는 인스턴스. 관리하고자 하는 의미상 분리되지 않는 최소의 데이터 단위
- 엔터티 1개 = 2개 이상의 인스턴스 집합
- 엔터티 1개 = 2개 이상의 속성을 가짐
- 속성 1개 = 1개의 속성값을 가짐
- 분류
- 구성방식의 분류
- 속성의 분류
- 기본 : 업무로부터 추출한 모든 일반적 속성
- 설계 : 업무를 규칙화하기위해 새로 만들거나 변형, 정의하는 속성
- 파생 : 다른 속성에 영향을 받아 발생하는 속성. 빠른 성능을 낼 수 있도록 원래 속성의 값을 계산. 적을수록 좋음
- 도메인 : 속성에 대한 데이터 타입, 크기, 제약사항 지정
- 명명
- 해당업무에서 사용하는 이름 부여
- 서술식 속성명, 약어 x
- 구체적으로 명명하여 데이터 모델에서 '유일성' 확보
- Relationships (관계)
- 정의 : 엔터티의 인스턴스 사이의 논리적인 연관성. 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태. 관계 페어링의 집합 ** 패어링 : 엔터티 안에 인스턴스가 개별적으로 관계를 갖는 것
- UML (통합모델링언어)에서의 관계
- 연관관계(실선) : 항상 이용하는 관계 (예. 소속된다)
- 의존관계(점선) : 상대 행위에 의해 발생하는 관계 (예. 주문한다)
- 표기법
- 관계명 : 관계이름
- 관계차수 : 1:1, 1:M, M:N
- 관계선택성(관계선택사양) : 필수관계, 선택관계
- 체크사항
- 2개의 엔터티 사이에 관심있는 연관규칙 o?
- 2개의 엔터티 사이에 정보의 조함 발생 o?
- 업무기술서, 장표에 관계연결에 대한 규칙 서술 o?
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사 o?