7. 데이터 모델링
데이터 모델링: 추상화 과정을 통해 현실세계의 개념을 데이터베이스에 표현하는 과정.
현실세계 -> 개념적 모델링 -> 논리적 모델링 -> 데이터베이스
데이터 모델링의 관점에서
- 요구사항 수집 및 분석
- 설계
- 개념적 모델링: 핵심 Entity를 도출하여 ERD 작성.
- 논리적 모델링: 각 개념을 구체화(릴레이션 스키마), ERD-RDB 모델 매핑, 상세 속성 정의, 정규화...
- 물리적 모델링: DB개체 정의(CREATE TABLE), 테이블(도메인..등) 및 인덱스 등 설계
- 데이터베이스 구현
개념적 데이터 모델
- E-R(개체-관계) 모델 (Diagram)
- 개체-사각형, 관계-마름모 속성-타원형으로 표현.
- 개체와 개체들 사이의 관계로 표현
- E-R(개체-관계) 모델 (Diagram)
논리적 데이터 모델
- 관계, 네트워크, 계층 데이터 모델
ER 모델
- 개체와 개체 타입
- 개체(entity)
- 사람이나 사물과 같이 식별되는 모든 것이 개체.
- 데이터베이스의 레코드와 대응
- 다른 개체와 구별되는 이름 및 고유한 특성이나 상태(속성)을 하나 이상 가지고 있다.
- 개체 < 개체 타입 < 개체집합
- ER 다이어그래에서 개체는 직사각형으로 표현
- 개체 타입의 유형
- 강한 개체: 독립적으로 존재 할 수 있는 개체
- 약한 개체: 독립적 존재x, 반드시 상위 개체 타입을 가짐.
- 속성(attribute)
- 개체가 가진 성질, 데이터베이스의 필드와 대응
- 속성 분류
- 속성 값의 개수
- 단일 값 속성: 값을 하나만 가짐. ex) 고객의 이름, 적립금..
- 다중 값 속성: 값을 여러개 가질 수 있음. ex) 책의 저자, 고객의 카드
- 의미의 분해 가능성
- 단순 속성: 더는 분해할 수 없는. ex) 책의 이름, 가격..
- 복합 속성: 분해 가능. ex) 주소, 생년월일
- 기존 속성 값에서 유도
- 유도 속성: 다른 기존 속성에 의해 유도되어 결정되는 속성.
- 값은 별도 저장되지 않는다. ex) 책의 판매가격은 가격과 할인율 속성으로 결정됨.
- 유도 속성: 다른 기존 속성에 의해 유도되어 결정되는 속성.
- 속성 값의 개수
- ERD에서 속성 분류별 표현
- ERD에서 속성은 타원으로 표현한다.
- 키(key)는 속성 이름에 밑줄을 긋고, 키를 갖지 못하는 약한 개체는 식별자 아래에 점선을 긋는다.
- 다중값 속성, 여러 값을 갖는 속성은 이중 타원.
- 복합 속성, 여러 속성으로 구성된 속성은 큰 타원 아래 작은 타원으로 연결한다.
- 유도 속성, 다른 속성에 의해 유도가 가능한 속성은 점선 타원으로 표현한다 1.
- 개체(entity)
- 개체와 개체 타입
댓글