[SQLD] 데이터 모델링의 이해
※ SQLD 자격증을 위해 개인적으로 정리한 글입니다.
1. 데이터 모델링의 이해
[1-1]. 데이터 모델링의 특징
① 추상화(Abstraction)
② 단순화(Simplication)
③ 명확성(Clarity)
[1-2]. 데이터 모델링의 단계/절차
① 개념적 모델링 - 높은 추상화 수준의 모델링, 전사적 데이터 모델링
② 논리적 모델링 - 정규화를 통한 높은 재사용성
③ 물리적 모델링 - 데이터 베이스 구축
★논리 모델링의 외래키는 물리 모델에서 반드시 구현되지는 않는 선택 사항이다.
[1-3]. 데이터 모델링의 관점
① 데이터
ex. 업무가 어떤 데이터와 관련이 있는지 분석
② 프로세스
ex. 업무에서 실제로 하는 일은 무엇인지 또는 무엇을 해야하는지 분석
③ 데이터와 프로세스
ex. 업무에서 처리하는 일의 방법에 따라 데이터가 어떻게 영향을 받는지 분석
[1-4]. 데이터 모델링의 세가지 중요 개념/요소
① Things - 업무가 관여하는 어떤 것
② Attributes - 업무가 관여하는 어떤 것의 성격
③ Relationships - 업무가 관여하는 어떤 것의 관계
[1-5]. ERD(Entity Relationship Diagram) 작성 절차
① 엔터티를 도출하고 그린다
② 엔터티를 배치한다
③ 엔터티 간에 관계를 설명한다
④ 관계를 서술한다
⑤ 관계 참여도를 표현한다
⑥ 관계의 필수 여부를 표현한다
[1-6]. 3층 스키마의 구조
① 외부 스키마(External Schema) - 응용프로그램
② 개념 스키마(Conceptual Schema) - 통합 데이터베이스
③ 내부 스키마(Internal Schema) - 물리적 저장 구조
[1-7]. 엔터티의 특징
① 반드시 속성이 있어야한다
② 다른 엔터티와 최소한 한 개 이상의 관계가 있어야 한다
③ 2개 이상의 인스턴스가 있어야 한다
④ 유일한 식별자가 있어야 한다
⑤ 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다
⑥ 업무 프로세스에 의해 이용되어야 한다
⑦ 엔터티 하나의 인스턴스는 다른 엔터티의 인스턴스 간 관계인 Pairing을 가진다
[1-8]. 엔터티의 유무형에 따른 분류/종류
① 유형 엔터티
② 개념 엔터티
③ 사건 엔터티
[1-9]. 엔터티의 발생 시점에 따른 분류/종류
① 기본 엔터티
② 중심 엔터티
③ 행위 엔터티
[1-10]. 속성의 특징
① 업무에서 관리되는 것이다
② 하나의 값만 가진다
③ 속성의 특성에 따른 분류는 기본 속성, 설계 속성, 파생 속성으로 분류된다
④ 속성은 주식별자에게 함수적으로 종속된다
⑤ 관계 참여도를 표현한다
⑥ 관계의 필수 여부를 표현한다
[1-11]. 특성에 따른 속성 종류
① 기본 속성 - 본래 속성
② 설계 속성 - 유일한 값 부여
③ 파생 속성 - 다른 속성에 의해 만들어지는 속성
[1-12]. 도메인
속성에 대한 값의 범위 등 제약사항을 기술할 수 있다
[1-13]. 관계 차수
엔터티 간 관계의 기수성(관계에 참여하는 수)을 나타내는 것
[1-14]. 존재 관계
엔터티 간의 상태를 의미한다.
ex. 직원과 부서의 관계
[1-15]. 관계 정의 시 주요 체크사항
① 두 개의 엔터티 사이에 관심 있는연관규칙이 존재하는가?
② 업무기술서, 장표에 관계 연결을 가능하게 하는 동사(verb)가 있는가?
③ 업무기술서, 장표에 관계 연결 규칙이 서술되어 있는가?
④ 두 개의엔터티 사이에 정보의 조합이 발생되는가?
[1-16]. 식별관계와 비식별관계 의 특징
식별 관계는 실선으로 표현되고 비식별 관계는 점선으로 표현한다
[1-17].비식별자 관계
부모 엔터티로부터 속성을 받았지만 자식 엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하는것
[1-18]. 키의 종류
① 기본키(Primary Key) - 엔터티를 대표할 수 있는 키
② 후보키(Candidate Key) - 유일성과 최소성을 만족하는 키
③ 슈퍼키(Super Key) - 유일성은 만족, 최소성은 불만족하는키
④ 대체키(Alternate Key) - 기본키를 선정하고 남은 키
⑤ 외래키(Foreign Key) - 다른 테이블의 기본 키 필드를 가리킴. 참조 무결성.