이번에 SQLD 자격증을 공부하면서 뭔가 한번에 들어오는게 없어서 배운 내용을 정리하기로 했다.
출제문항수

데이터 모델링의 이해 - 세부항목

https://megamaker.tistory.com/376
[DB][SQLD][2024] SQLD 개념 요약 정리
시험 주요 내용https://www.dataq.or.kr/www/sub/a_04.do#none 출제 문항 및 배점 데이터 모델링의 이해https://megamaker.tistory.com/365 [DB][SQLD][2024] 1-1 데이터 모델링의 이해 정리이번에 SQLD 자격증을 공부하
megamaker.tistory.com
ㄴ 요약 메인 페이지
데이터 모델링의 이해
모델링
현실 세계의 데이터를 단순화하고 구조화하여 표현하는 과정
모델링의 특징
- 추상화 - 현실 세계를 일정한 형식으로 표현
- 단순화 - 복잡한 현실을 단순화 하여 표현
- 명확화 - 말 그대로 명확하게 표현
모델링의 관점
- 데이터 관점 - 데이터 위주의 모델링
- 프로세스 관점 - 업무에서 처리하고 있는 일에 관해 모델링
- 데이터와 프로세스의 상관 관점 - 프로세스의 흐름에서 데이터가 받는 영향에 관해 모델링
데이터 품질 보장을 위해 지양해야할 점
- 중복 - 엔티티에 같은 데이터가 중복으로 저장되면 안 됨
- 비유연성 - 사소한 업무적인 변화에도 데이터 모델이 자주 변경되지 않도록 해야 함 / 데이터 정의와 프로세스를 분리
- 비일관성 - 다른 데이터와 연관되어 있는 경우 일부 데이터만 변경하면 일관성이 없어질 수 있음 / 상호 연관 관계를 명확히 정의해야함
모델링의 단계
- 개념적 데이터 모델링 - 추상화 레벨이 가장 높은 업무 중심의 포괄적인 모델링을 하는 단계 / ERD 작성
- 논리적 데이터 모델링 - 재사용성이 가장 높은 데이터 모델로, 식별자, 속성, 관계 등을 표현함 / 데이터 모델링의 최종 완료 상태 / 데이터 정규화 수행
- 물리적 데이터 모델링 - 데이터베이스에 실제로 구현하기 위해 하드웨어의 성능, 가용성 등을 고려하여 물리적으로 생성하는 단계 / 가장 구체적
개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링 순으로 진행됨
3단계 스키마 구조
- 외부 스키마 - 사용자 관점 / View / 각 사용자가 보는 DB의 스키마를 정의 / 사용자나 응용프로그램이 접근
- 개념 스키마 - 사용자 관점의 스키마를 통합하여 DB의 논리적 구조를 정의
- 내부 스키마 - 저장구조, 컬럼 정의, 인덱스 등의 물리적인 관점에서의 정의 / 실제 저장되는 방식을 정의
3단계 스키마의 독립성
- 논리적 독립성 - 개념 스키마가 변경되어도 외부 스키마는 영향 받지 않음
- 물리적 독립성 - 내부 스키마가 변경되어도 외부 / 개념 스키마는 영향 받지 않음
ERD (Entity Relationship Diagram)
어떤 엔터티가 있고, 어떤 관계를 가지는지 나타낸 다이어그램
ERD 작성 순서
- 엔터티 도출하고 그린다.
- 엔터티를 배치한다.
- 엔터티 간의 관계를 설정한다.
- 관계명을 기입한다.
- 관계의 참여도를 기술한다.
- 관계의 필수 여부를 기입한다.
엔터티
엔터티
DB에서 식별 가능한 사물
- 엔터티 - Table
- 인스턴스 - 실제로 생성된 데이터를 가지고 있는 Row
- 속성 - Column
- 식별자 - 각 인스턴스를 고유하게 식별할 수 있도록 해줌
엔터티의 특징
- 업무에서 사용되는 정보여야 함
- 유니크한 식별자에 의해 고유한 인스턴스인지 확인 가능하여야 함
- 인스턴스가 2개 이상이어야 함
- 반드시 속성을 가짐
- 다른 엔터티와 1개 이상의 관계를 가지고 있어야 함
엔티티의 분류
- 유형 엔터티 - 물리적인 형태가 존재함 ex) 학생
- 개념 엔터티 - 개념적이고 물리적인 형태가 없음 ex) 학과
- 사건 엔터티 - 행위와 관련된 엔터티 / 통계에 사용 가능함 ex) 주문
발생 시점
- 기본 엔터티 - 업무에 원래 존재하는 정보 / 독립적으로 생성 / 자식 엔티티 가질 수 있음 / 고유한 식별자 가짐 ex) 상품
- 중심 엔터티 - 기본 엔터티로부터 파생되어 업무에서 중심적인 역할을 함 ex) 주문
- 행위 엔터티 - 2개 이상의 엔터티에서 파생되며, 데이터가 자주 변경되거나 양이 많음 ex) 주문 내역
엔터티 명명규칙
- 업무에서 실제로 쓰이는 용어를 사용
- 단수명사로 표현해야 함
- 띄어쓰기 사용 X
- 중복되는 이름 사용 X
- 약어 사용 X
- 영문은 대문자로 표기
속성
속성
사물이 가진 특성을 설명할 수 있는 항목
ex) 상품의 속성에는 이름, 크기, 무게 등이 있을 수 있다.
인스턴스에서 분리할 수 없는 최소 단위이다.
속성은 하나의 속성값을 가져야 한다.
엔티티, 인스턴스, 속성, 속성값의 관계
엔티티는 여러 인스턴스를 가지고, 인스턴스는 여러 속성을 가진다.
- 한 개의 엔티티는 두 개 이상의 인스턴스를 가짐
- 한 개의 인스턴스는 두 개 이상의 속성을 가짐
- 한 개의 속성은 한 개의 속성값을 가짐
특성에 따른 분류
- 기본 속성 - 업무를 분석하여 추출한 속성 / 대부분의 속성이 여기에 속함 ex) 상품명
- 설계 속성 - 업무를 설계하다 규칙성 등의 이유로 인위적으로 새로 만든 속성 ex) 상품코드
- 파생 속성 - 다른 속성에 의해서 만들어지는 속성 ex) 총합
구성방식에 따른 분류
- PK(Primary Key) 속성 - 인스턴스를 식별하기 위해 사용하는 속성
- FK(Foreign Key) 속성 - 다른 엔티티와의 관계 때문에 가져온 속성
- 일반 속성 - PK, FK를 제외한 나머지 속성
분해 여부에 따른 속성
- 단일 속성 - 하나의 의미를 가지는 속성
- 복합 속성 - 여러 의미를 가지는 속성 ex) 주소 - 시군구
- 다중값 속성 - 속성은 하나의 속성값을 가지므로 다중값을 원하면 다른 엔티티로 분리해야 함
도메인
속성이 가질 수 있는 값의 범위 / 타입, 크기, 제한 사항 등을 지정
관계
관계
엔티티와 엔티티 간의 연관성을 의미
관계의 종류
- 존재적 관계 - 존재 자체가 서로 연관성이 있어 서로에게 영향을 미치는 관계 ex) 학과 - 학생
- 행위적 관계 - 특정 행위를 통해 연관성이 생기는 관계 ex) 고객 - 주문
관계의 구성
- 관계명
- 차수 - 엔티티와 엔티티간의 각 인스턴스끼리 어떻게 연결되는지 나타냄 ex) 1:1, 1:N, N:M
- 선택사양 - 필수인지 아닌지
차수 vs 페어링
차수 - 단순히 인스턴스끼리 어떻게 연결되어 있는지를 나타냄
페어링 - 두 엔티티 간 특정 연결 관계를 설명함
식별자
식별자
각 인스턴스를 유일하게 구분할 수 있도록 해주는 대표적인 속성
이름은 중복 가능성이 있기 때문에 식별자가 될 수 없음
주식별자
- 유일성 - 각 인스턴스는 유니크해야함
- 최소성 - 유일성을 보장하는 최소 개수의 속성이어야 함
- 불변성 - 값이 변하지 않아야 함
- 존재성 - NULL을 값으로 가질 수 없음
분류
- 대표성 여부
- 주식별자 - 유일성, 최소성, 불변성, 존재성을 만족하는 대표적인 식별자 / 다른 엔티티와 참조 관계 O
- 보조식별자 - 각 인스턴스를 구분할 자격은 있지만 대표성은 가지지 않는 식별자 / 다른 엔티티와 참조 관계 X
- 생성 여부
- 내부식별자 - 엔티티 내부에서 스스로 생성된 식별자
- 외부식별자 - 다른 엔티티에서 가져온 식별자 (외래키)
- 속성 수
- 단일식별자 - 하나의 속성으로 구성됨
- 복합식별자 - 두 개 이상의 속성으로 구성됨
- 대체 여부
- 본질식별자 (원조식별자) - 자연적으로 업무에 필요한 내용으로 존재하는 식별자
- 인조식별자 - 인위적으로 만든 식별자 ex) 단순히 인스턴스 구별만을 위해 일련번호를 추가
주식별자 도출 기준
- 업무에서 자주 사용되는 속성을 주식별자로 지정
- 명칭과 같은 이름 자체는 주식별자로 사용 X
- 최대한 최소한의 속성으로 구성
식별관계와 비식별관계
- 식별 관계 - 부모 엔티티의 식별자가 자식 엔티티의 주식별자가 되는 관계(자식 엔티티의 주식별자에 부모 엔티티의 식별자가 포함되어 있음) / 주식별자에 포함되므로 부모 엔티티가 반드시 있어야 생성 가능
- 비식별 관계 - 부모 엔티티의 식별자가 자식 엔티티의 일반 속성이 되는 관계 / 일반 속성이므로 NULL 값을 가질 수 있으며, 부모 엔티티 없이 자식 엔티티 생성 가능
키의 종류
- 기본키 - 엔티티를 대표하는 키
- 후보키 - 인스턴스를 유일하게 식별할 수 있는 키 중 최소성을 만족하는 키
- 대체키 - 후보키 중에서 기본키로 선택받지 못한 나머지
- 슈퍼키 - 유일성만 만족하고 최소성은 만족하지 않는 키
- 외래키 - 다른 테이블의 기본키를 참조하는 키
다음 게시글
https://megamaker.tistory.com/371
[DB][SQLD][2024] 1-2 데이터 모델과 SQL 정리
https://megamaker.tistory.com/365 [DB][SQLD][2024] 1-1 데이터 모델링의 이해 정리이번에 SQLD 자격증을 공부하면서 뭔가 한번에 들어오는게 없어서 배운 내용을 정리하기로 했다. 출제문항수 데이터 모
megamaker.tistory.com
'공부 > 데이터베이스' 카테고리의 다른 글
| [DB][SQLD][2024] SQLD 개념 요약 정리 (0) | 2024.08.23 |
|---|---|
| [DB][SQLD][2024] 2-3 관리 구문 정리 (0) | 2024.08.22 |
| [DB][SQLD][2024] 2-2 SQL 활용 정리 (0) | 2024.08.21 |
| [DB][SQLD][2024] 2-1 SQL 기본 정리 (0) | 2024.08.19 |
| [DB][SQLD][2024] 1-2 데이터 모델과 SQL 정리 (0) | 2024.08.18 |