# SQLD 시험에 나오는 내용을 정리해나가려고 한다.
1. 모델링의 3대 특징: 단순화, 명확화, 추상화
* 모델: 일정한 표기법에 따라 표현한 모형, 축소형
* 모델링: 모델을 만들어가는 일 자체
2. 데이터 모델 유형
1) 개념: 추상화 수준이 제일 높고 업무 중심적이고 포괄적인 수준의 모델링
* 주로 핵심 엔터티와 그들간의 관계를 정의함
2) 논리: 업무에 대한 키, 속성, 관계 등을 정확하게 표현
* 업무에 필요한 모든 엔터티와 속성, 관계를 도출함
3) 물리: 데이터베이스 이식을 위해 성능, 저장 등 물리 요소를 고려하여 설계
3. 엔터티: 인스턴스의 집합
- 변별할 수 있는 사물
- 데이터베이스 내에서 변별 가능한 객체
- 정보를 저장할 수 있는 어떤 것
* 속성: 각 인스턴스의 성격을 구체적으로 설명하는 항목
* 식별자: 엔터티의 여러 속성 중 각 인스턴스를 유일하게 식별할 수 있는 하나 이상의 속성
4. 관계
- 식별관계: 부모 엔터티의 식별자를 자식 엔터티의 식별자로 상속
- 비식별관계: 부모 엔터티의 식별자를 자식 엔터티의 일반 속성으로 상속
* 부모 엔터티 기준으로 자식 엔터티를 필수 관계(바커 표기법 기준으로, 부모쪽 관계선이 실선)로
정의한다면, 부모 인스턴스별로 자식 인스턴스를 반드시 등록해야 함
자식 엔터티를 선택 관계(부모쪽 관계선이 점선)로 정의한다면,
부모 인스턴스만 등록하고 자식 인스턴스는 등록하지 않아도 됨
* 자식 엔터티 기준으로 부모 엔터티를 필수 관계(자식쪽 관계선이 실선)로 정의한다면,
부모 인스턴스를 먼저 등록한 후에 자식 인스턴스로 등록해야 함
부모 엔터티를 선택 관계(자식쪽 관계선이 점선)로 정의한다면,
부모 없이 자식 인스턴스만 등록(FK 칼럼에 NULL 입력)할 수 있음
* 개념 모델 단계에서 정의한 M:M 관계는,
논리 모델 단계에서 관계(Relationship) 엔터티로 재정의해야 함
즉, 양쪽 엔터티로부터 식별자를 상속받은 제3의 교차 엔터티를 정의해야 함
5. 주식별자의 특징
- 유일성: 엔터티의 모든 인스턴스를 고유하게 식별할 수 있어야 함
- 최소성: 고유성을 만족하는 최소의 속성으로 구성되어야 함
- 불변성: 주식별자의 속성이 변경되지 않아야 함
- 존재성: 주식별자의 속성에 널을 입력할 수 없음
* 식별자 번호를 순차적으로 입력하는 것은 식별자의 특징에 해당하지 않음
6. 개념 데이터 모델
: 가장 추상화 수준이 높은 단계로 핵심 엔터티와 그들간의 관계를 정의하고 표현한 것
7. 정규형
1) 1정규형(1NF)
- 속성은 원자성과 관련이 있음
2) 2정규형(2NF)
- 부분종속과 관련이 있음 / 부분종속은 일반속성이 식별자의 일부 속성에만 종속되는 것
3) 3정규형(3NF)
- 이행종속과 관련이 있음 / 이행종속은 일반속성이 다른 일반속성에 종속되는 것
'IT > SQL' 카테고리의 다른 글
[MySQL] GROUP BY 사용법 (0) | 2024.03.09 |
---|---|
[MySQL] JSON_TABLE (0) | 2023.09.14 |
SQLD 내용 정리 4 (0) | 2021.04.11 |
SQLD 내용 정리3 (0) | 2021.04.04 |
SQLD 내용 정리2 (0) | 2021.03.28 |