1. 데이터 모델링의 이해
- 데이터 모델의 이해
- 엔티티
- 속성
- 관계
- 식별자
# 발생시점에 따른 엔터티 분류
- 기본 / 키엔티티 (Fundamental Entity, Key Entity)
- 중심 엔티티 (Main Entity)
- 행위 엔티티 (Active Entity)
# 데이터 모델링
- 정보 시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
- 현실 세계의 데이터 (what) 에 대해 약속된 표기법에 의해 표현하는 과정
- 데이터 베이스를 구축하기 위한 분석 / 설계의 과정
# 데이터 모델링 유의점
- 중복 (Duplication)
- 비유연성 (Inflexibility)
- 비일관성 (Inconsistency)
# 개념적 데이터 모델링
- 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링 진행
- 전사적 데이터 모델링, EA 수립시 많이 이용
# 논리적 데이터 모델링
- 시스템으로 구축하고자 하는 업무에 대해 key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음
# 물리적 데이터 모델링
- 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계
# 데이터베이스 스키마 구조 3단계
- 외부 스키마 (External Schema)
- 개념 스키마 (Conceptual Schema)
- 내부 스키마 (Internal Schema)
# ERD (Entity Relationship Diagram) 작성 순서
- 엔티티를 그린다
- 엔티티를 적절하게 배치한다
- 엔티티간 관계를 설정한다
- 관계명을 기술한다
- 관계의 참여도를 기술한다
- 관계의 필수여부를 기술한다
# 엔티티의 속성
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다 (예, 환자, 토익의 응시횟수)
- 유일한 식별자에 의해 식별이 가능해야 한다
- 영속적으로 존재하는 인스턴스의 집합이어야 한다 ('한 개'가 아니라 '두 개 이상')
- 엔티티는 반드시 속성이 있어야 한다.
- 엔티티는 다른 엔티티와 최소 한 개 이상의 관계가 있어야 한다
# 엔티티, 인스턴스, 속성, 속성값의 관계
- 한 개의 엔티티는 두 개 이상의 인스턴스 집합이어야 한다
- 한 개의 엔티티는 두 개 이상의 속성을 갖는다
- 한 개의 속성은 한 개의 속성값을 갖는다
# 속성의 특성에 따른 분류
- 기본 속성
- 설계 속성
- 파생 속성
# 각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인 (Domain) 이라하며, 엔티티 내에서 속성에 대한 데이터입과 크기 그리고 제약사항을 지정하는 것이다.
# 속성의 명칭 부여
- 해당 업무에서 사용하는 이름을 부여한다
- 서술식 속성명은 사용하지 않는다
- 약어 사용은 가급적 제한한다
- 전체 데이터 모델이서 유일성 확보하는 것이 좋다
# ERD 에서는 존재적 관계와 행위에 의한 관계를 구분하지 않지만 클래스 다이어그램에서는 이것을 구분하여 연관관계와 의존관계로 표현한다
# 관계의 표기법
- 관계명 (Membership) : 관계의 이름
- 관계 차수 (Cardinality) : 1:1 , 1:M , M:N
- 관계선택사양 (Optionality) : 필수관계, 선택관계
# 관계 읽기
- 기준 (Source) 엔티티를 한 개 (one) 또는 각 (Each) 으로 읽는다
- 대상 (Traget) 엔티티의 관계참여도 개수(하나, 하나 이상)를 읽는다
- 관계선택사양과 관계명을 읽는다
# 식별자의 종류
◾ 대표성 여부 (엔티티 내에서 대표성을 가지는가에 따라)
- 주식별자 (Primary Identifier) : 엔티티 내에서 각 어커런스를 구분할 수 있는 구분자. 타 엔티티와 참조 관계를 연결할 수 있는 식별자
- 보조식별자( Alternate Identifier) : 엔티티 내에서 각 어커런스를 구분할 수 있는 구분자. but 대표성 가지지 못해 참조 관계 연결을 못함
◾ 스스로 생성 여부
- 내부식별자 : 엔티티 내부에서 스스로 만들어지는 식별자
- 외부식별자 (Foreign Identifier) : 타 엔티티와의 관계를 통해 타 엔티티로부터 받아오는 식별자
◾ 속성의 수 (단일 속성으로 식별에 되는가에 따라)
- 단일식별자 (Single Identifier) : 하나의 속성으로 구성된 식별자
- 복합식별자 (Composit Identifier) : 둘 이상의 속성으로 구성된 식별자
◾ 대체 여부
- 본질식별자 : 업무에 의해 만들어지는 식별자
- 인조식별자 : 업무적으로 만들어지지는 않지만 원조식별자가 복잡한 구성을 가지고 있기 때문에 인위적으로 만든 식별자 (원래 업무적으로 의미가 있던 식별자 속성을 대체하여 일련번호와 같이 새롭게 만든 식별자를 구분하기 위함)
# 주식별자의 특징
- 유일성 : 주식별자에 의해 엔티티 내에 모든 인스턴스들을 유일하게 구분함
- 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함
- 불변성 : 주식별자가 한 번 특정 엔티티에 지정되면 그 식별자의 값은 변하지 않아야 함
- 존재성 : 주식별자가 지정되면 반드시 데이터 값이 존재 (Null 안 됨)
# 식별자와 비식별자관계 비교
항목 | 식별자 관계 | 비식별자 관계 |
목적 | 강한 연결관계 표현 | 약한 연결관계 표현 |
자식 주식별자 영향 | 자식 주식별자의 구성에 포함됨 | 자식 일반 속성에 포함됨 |
표기법 | 실선 표현 | 점선 표현 |
연결 고려 사항 | - 반드시 부모엔티티 종속 - 자식 주식별자구성에 부모 주식별자 포함 필요 - 상속받은 주식별자속성을 타 엔티티에 이전 필요 |
- 약한 종속관계 - 자식 주식별자 구성을 독립적으로 구성 - 자식 주식별자 구성에 부모 주식별자 부분 필요 - 상속받은 주식별자속성을 타 엔티티에 차단 필요 - 부모쪽의 관계참여가 선택관계 |
'자격증 > SQLD' 카테고리의 다른 글
[과목 1] 데이터 모델링의 이해 - 2. 데이터 모델과 성능 (0) | 2021.05.20 |
---|---|
SQL 개발자 자격시험 (0) | 2021.05.18 |