집에서 하는 공부/SQLD

[SQLD]1과목.데이터 모델링의 이해-3

집돌이 공대남 2022. 5. 30. 09:36
반응형

공대남이다.

5월 28일에 SQLD 시험을 치고 왔다.

뭐 SQLD 자격검정 책에서 몇 문제 출제되기도 하고

예전에 봤던 기출문제 유형으로 나온 것 같아 마음이 놓인다.

그래도 정리해놓은 개념들을 계속 적어보겠다.


1 장 데이터 모델링의 이해

 

4절 관계

-개념

엔터티 간의 논리적인 관련성, 동사형(Verb)

 

- 관계의 페어링

인스턴스 간 개별적 관계

 

- 관계 표기법

  관계차수(Cardinality): 관계 내 튜플의 전체 개수를 뜻한다.  관계가 하나 있으면 직선, 많으면 삼발로 표시한다.

삼지창 처럼 생긴거

    M:N 관계: 관계형 DB에서 M:N 관계의 조인은 카테시안 곱 발생한다.

  관계선택사양(Optionality): 필수는 I로, 선택은 O로 표시한다.

 

- 종류

ERD 기준: 표기구분 안함

*존재 관계: 엔터티 간의 상태

*행위 관계: 엔터티 간에 발생하는 행위

 

UML(Unified Modeling Language) 기준

*연관 관계(Association): 실선 표기(-)

*의존 관계(Dependency): 점선 표기(-----)

 

식별자에 따른 분류

*식별 관계: 부모 엔터티의 식별자를 자식 엔터티에서 주식별자로 사용

**약한 엔터티: 부모 엔터티에 종속되어 존재 ↔ 강한 엔터티는 독립적으로 존재함

*비식별 관계: 부모 엔터티의 식별자를 자식 엔터티에서 일반 컬럼으로 참조 사용, 약한 종속 관계

** 식별 관계만으로 연결되면 주식별자 수가 많아질 수밖에 없으므로

1) 관계 강약 분석을 해야함

2) 자식 엔터티의 독립 PK 필요함

3) SQL 복잡성과 개발 생산성 고려 필요함

 

5절 식별자

-개념

엔터티를 대표할 수 있는 유일성을 만족하는 속성

 

- 특징(유최불존)

1) 유일성

2) 최소성

3) 불변성

4) 존재성

 

- 종류

대표성 여부에 따른 분류

*주식별자: 대표성을 만족하는 식별자

*보조 식별자: 유일성과 최소성만 만족하는 식별자, 참조 관계 연결에 사용할 수 없음

-DB 키의 종류

*기본키(PK; Primary Key): 엔터티를 대표하는 키, 후보키 중 선정됨

*후보키: 유일성과 최소성을 만족하는 키

*슈퍼키: 유일성만 만족하는 키

*대체키: 기본키를 제외한 나머지 후보키

*외래키(FK; Foreign Key): 여러 테이블의 기본 키 필드, 참조 무결성(Referential Integrity)을 확인하기 위해 사용됨 (허용된 데이터 값만 저장하기 위함)

 

생성 여부에 따른 분류

*내부 식별자: 자연스럽게 존재하는 식별자 (~ 본질식별자)

*외부 식별자: 다른 엔터티와의 관계를 통해 생성되는 식별자

 

속성 수에 따른 분류

*단일 식별자: 하나의 속성

*복합 식별자: 여러 속성

 

대체 여부에 따른 분류

*본질 식별자: 대체될 수 없는 식별자

*인조 식별자: 인위적으로 만들어지는 대체가능한 식별자 (순서번호(Sequence Number)를 사용하여 생성된 식별자)

후보 식별자 중 주식별자로 선정할 것이 없거나 주식별자가 너무 많은 칼럼으로 구성되어 있을 때 사용

 

식별자 개념


- 주식별자 도출 기준

업무에서 자주 이용되는 속성, 이름 명명 지양, 복합 식별자 지양


이렇게 1장 내용은 끝이 났다.

SQLD는 1과목과 2과목 시험 출제이고, SQLP는 1~3과목까지이다.

SQLD를 기준으로 1과목의 반이나 했다.

이 개념들만 잘 이해해도 1장 푸는데는 지장이 없다고 생각한다.

5절의 식별자 파트는 위의 그림 식별자 개념도를 보고 이해하면 수월할것이다.

공대남도 초기에 공부할 때 도움 많이 되었던 개념도이니 글로만 보면 이해가 안되도

개념도를 보고나면 바로 이해가 될 것이다.

 

오늘도 화이팅!

반응형