책 [SQLD 자격검정 실전문제]과 한종구 강사님의 시험대비 유튜브 강의를 참고하여 공부하며 정리한 내용입니다.
💡데이터 모델링이란
정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법이다.
데이터 모델링의 특징
🔘 추상화 Abstraction
: 일정한 양식(표기법)에 맞게 간략하게 표현🔘 단순화 Simplification
: 이해하기 쉽도록 규약에 의한 제한된 표기법을 이용하여 표현🔘 명확화 Clarity
: 명확하게 의미가 해석되야 하기 때문에 정확하게 기술
데이터 모델링의 단계
🔶 개념적 모델링
: 추상화 수준이 높고 업무중심적이며 포괄적인 수준의 모델링
- 전사적 데이터 모델링, EA 수립 시 이용.🔶 논리적 모델링
: 시스템으로 구축하고자 하는 업무에 대해 키, 속성, 관계 등 정확히 표현
- 데이터 정규화 완료. 재사용성 높음. 특정 데이터베이스 모델에 종속.🔶 물리적 모델링
: 물리적인 성능과 데이터 저장을 고려한 설계로 가장 구체적인 모델링
- 성능, 보안, 가용성을 고려한 데이터베이스 모델링.
데이터 모델링의 3요소
🔘 어떤 것 Things
🔘 성격 Attributes
🔘 관계 Relationships
데이터 모델링의 3가지 관점
🔘 데이터 관점
: 비스니스 프로세스에서 사용되는 데이터 관점에 따라 모델링
- 구조분석, 정적분석🔘 프로세스 관점
: 비스니스 프로세스에서 수행하는 작업 관점에 따라 모델링
- 시나리오 분석, 도메인 분석, 동적 분석🔘 데이터와 프로세스의 상관 관점
: 프로세스와 데이터 간의 영향 관점에 따라 모델링
- CRUD(Create, Read, Update, Delete)
데이터 모델링을 위한 ERD(Entity Relationship Diagram)
🔘 대표적인 표기법 - IE/Crow's Foot, Barker
🔶 ERD 작성 순서
1) 엔터티 도출
2) 엔터티 배치
3) 엔터티 관계 설정
4) 관계명 기술
5) 관계 참여도 기술
6) 관계 필수여부 기술
데이터베이스 3단계 구조
🔶 외부 스키마
: 개별 사용자 관점의 이해와 표현
- 응용프로그램이 접근하는 데이터베이스로 여러 개의 외부 스키마 존재🔶 개념 스키마
: 관리자 관점으로 규칙과 구조를 표현한 전체적인 데이터베이스 논리구조
- 일반적으로 말하는 시키마 = 개념 스키마🔶 내부 스키마
: 시스템의 설계자 관점으로 저장 장치 고려한 이해와 표현
- 물리적인 저장
💡엔터티란
업무에 필요하고 유용한 정보를 저장 및 관리하기 위한 데이터의 집합으로,
보이지 않는 개념을 포함한 집합적인 것이다.
엔터티의 특징
- 반드시 해당 업무에서 필요하며 관리하고자 하는 것
- 유일한 식별자에 의해 식별 가능
- 업무 프로세스에 의해 이용
- 엔터티는 두 개 이상의 인스턴스 집합
- 엔터티는 반드시 1개 이상의 속성 포함
- 다른 엔터티와 최소 1개 이상의 관계 존재
유/무형에 따른 분류
🔶 유형 엔터티
: 물리적, 안정적, 지속적인 엔터티
ex) 사원, 물품, 강사🔶 개념 엔터티
: 개념적으로 존재하며 정보로 구분되는 엔터티
ex) 조직, 보험상품🔶 사건 엔터티
: 비즈니스 프로세스에 따라 발생되는 엔터티
ex) 주문, 청구, 미납
발생시점에 따른 분류
🔘 기본 엔터티(=유형)
: 독립적으로 생성되는 업무에 원래 존재하는 정보인 키 엔터티🔘 중심 엔터티(=개념)
: 기본 엔터티로부터 발생된는 행위 엔터티를 생성하는 중간 엔터티🔘 행위 엔터티(=사건)
: 2개 이상의 상위 엔터티로부터 발생되는 엔터티
- 자주 바뀌거나 많은 양의 엔터티 발생
💡속성이란
엔터티가 가지는 항목으로, 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 분리되지 않는 최소 데이터 단위이다.
속성의 특징
- 업무에서 관리되는 정보
- 속성에는 하나의 속성값 존재
- 주식별자에게 함수적으로 종속되어, 기본키에 따라 속성의 값 변경 가능
* 함수적으로 종속: 데이터가 어떤 기준값에 의해 종속되는 현상
속성의 종류
🔘 기본 속성
: 비즈니스 프로세스에서 도출한 본래의 속성
ex) 이름, ID, 전화번호🔘 설계 속성
: 데이터 모델링 과정에서 발생되는 속성
ex) 상품코드, 지점코드🔘 파생 속성
: 다른 속성에 의해 만들어지는 속성
ex) 합계, 평균
💡관계란
엔터티 간 논리적인 연관성을 의미하며, 존재의 형태나 행위로서 연관성이 부여된 상태로, 관계 페어링의 집합이다.
* 페어링: 엔터티 내 인스턴스가 개별적으로 관계를 가지는 것
관계의 분류
- 존재에 의한 관계 ex) 부서 - 사원
- 행위에 의한 관계 ex) 고객 - 주문
관계의 표기법
🔘 관계명
: 관계에 엔터티가 참여하는 형태를 정의하며, 능동적/수동적으로 명명🔘 관계차수 - , ,
: 관계 있는 엔터티 간의 참여하는 수🔘 관계선택사양 - 필수관계, 선택관계
: 엔터티가 관계에 있어 필수참여인지 선택참여인지 표기
💡식별자란
엔터티를 대표하는 속성으로, 하나의 엔터티는 유일한 식별자를 가진다.
* 식별자는 논리적, key는 물리적 모델링 단계에서 사용
식별자의 특징
- 엔터티 내 각 인스턴스를 유일하게 구분할 수 있는 구분자
- 다른 엔터티와의 관계를 연결하는 식별자
- 유일성, 최소성, 불변성, 존재성 만족
주식별자의 특징
🔘 유일성
: 주식별자에 의해 엔터티 내에 모든 인스턴스를 유일하게 구분할 수 있다.🔘 최소성
: 주식별자를 구성하는 속성은 유일성을 만족하는 최소의 수가 되어야 한다.🔘 불변성
: 주식별자가 한번 특정 엔터티에 고정되면 값이 변하지 않는다.🔘 존재성
: 주식별자가 지정되면 반드시 값이 존재한다.
키의 종류
🔘 후보키 Candidate Key
: 유일성과 최소성을 만족하는 키🔘 기본키 Primary Key
: 후보키 중 엔터티를 대표할 수 있는 키🔘 슈퍼키 Super Key
: 유일성은 만족하지만 최소성을 만족하지 않는 키🔘 대체키 Alternate Key
: 후보키 중 기본키를 제외한 키🔘 외래키 Foreign Key
: 타 테이블의 기본키 필드를 가리키는 키로, 참조무결성을 확인하기 위해 사용되는 키
대표성 여부에 따른 분류
🔶 주식별자
: 엔터티 내 각 데이터를 구분할 수 있는 구분자로, 타 엔터티와 참조관계 연결🔶 보조식별자
: 대표성이 없어 참조관계 연결 불가능
스스로 생성 여부에 따른 분류
🔶 내부식별자
: 스스로 생성된느 식별자🔶 외부식별자
: 다른 엔터티와의 관계로 생성되는 식별자
속성의 수에 따른 분류
🔶 단일식별자
: 하나의 속성으로 구성된 식별자🔶 복합식별자
: 다수의 속성으로 구성된 식별자
대체 여부에 따른 분류
🔶 본질식별자
: 비즈니스 프로세스에서 만들어지는 식별자🔶 인조식별자
: 인위적으로 만들어지는 식별자
1과목 1장에서는 데이터 모델링에 대한 이야기가 나온다.
데이터 모델링이 무엇이고 어떻게 구성되는지 구성요소인 엔터티, 속성, 관계, 식별자를 다루고 있다.
한종구 강사님 말에 의하면 1장은 2장에 비해 암기 위주라 쉬운 내용이라고 하니까 쭉 읽어보면서 넘어가면 되지 않을까 싶다.
주황색으로 칠해진 부분만 조금 유의해서 읽어보면 좋을 것 같다.