Learn & Record
[SQLD] SQL 자격검정 실전문제 핵심 정리 (데이터모델링의 이해, 데이터 모델과 SQL) 본문
[ 제 1장 데이터모델링의 이해 ]
1. 데이터 모델링이란
- 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
- 현실 세계의 데이터를 약속된 표기법으로 표현하는 과정
- 데이터베이스를 구축하기 위한 분석 및 설계의 과정
2. 데이터 모델링 유의점
- 중복, 비유연성, 비일관성
3. 데이터베이스 스키마 구조 3단계
- 외부스키마, 개념스키마, 내부스키마
4. ERD 작성 순서
- 1. 엔티티를 그린다
- 2. 엔티티를 적절하게 배치한다
- 3. 엔티티 간 관계를 설정한다
- 4. 관계명을 기술한다
- 5. 관계의 참여도를 기술한다
- 6. 관계의 필수여부를 기술한다
5. 엔티티의 특징
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다
- 유일한 식별자에 의해 식별이 가능해야 한다
- 영속적으로 존재하는 인스턴스의 집합이어야 한다 ( '한 개' 가 아니라 '두 개 이상')
- 엔티티는 업무 프로세스에 의해 이용되어야 한다
- 엔티티는 반드시 속성이 있어야 한다
- 엔티티는 다른 엔티티와 최소 한 개 이상의 관계가 있어야 한다
6. 발생 시점에 따른 엔티티 분류
- 기본, 키 엔티티
- 중심 엔티티
- 행위 엔티티
7. 엔티티, 인스턴스, 속성, 속성값의 관계
- 한 개의 엔티티는 두 개 이상의 인스턴스 집합이어야 한다
- 한 개의 엔티티는 두 개 이상의 속성을 갖는다
- 한 개의 속성은 한 개의 속성값을 갖는다
8. 속성의 특성에 따른 분류
- 기본속성, 설계속성, 파생속성
9. 도메인
- 각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인이라 하며, 엔티티 내에서 속성에 대한 데이터 타입과 크기 그리고 제약사항을 지정하는 것이다.
10. 속성의 명칭 부여
- 해당 업무에서 사용하는 이름을 부여한다
- 서술식 속성명은 사용하지 않는다
- 약어 사용은 가급적 제한한다
- 전체 데이터 모델에서 유일성을 확보하는 것이 좋다
11. 관계의 표기법
- 관계명(Membership) : 관계의 이름
- 관계차수(Cardinality) : 1:1, 1:M, M:N
- 관계선택사양(Optionality) : 필수관계, 선택관계
12. 식별자의 종류
- 엔티티 내에서 대표성을 가지는 가에 따라 주식별자와 보조식별자로 구분
- 엔티티 내에서 스스로 생성되었는지 여부에 따라 내부식별자와 외부식별자로 구분
- 단일 속성으로 식별이 되는가에 따라 단일식별자와 복합식별자로 구분
- 원래 업무적으로 의미가 있던 식별자 속성을 대체하여 일련번호와 같이 새롭게 만든 식별자를 구분 위해 본질식별자와 인조식별자 구분
13. 주식별자의 특징
- 유일성 : 주식별자에 의해 엔티티 내에 모든 인스턴스들을 유일하게 구분함
- 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함
- 불변성 : 주식별자가 한번 특정 엔티티에 지정되면 그 식별자의 값은 변하지 않아야 함
- 존재성 : 주식별자가 지정되면 반드시 데이터 값이 존재해야 함(NULL 허용 안됨)
[ 제 2장 데이터 모델과 SQL ]
14. 정규형
- 제1정규형 : 모든 속성은 반드시 하나의 값을 가져야 한다
- 제2정규형 : 엔티티의 일반속성은 주식별자 전체에 종속이어야 한다
- 제3정규형 : 엔티티의 일반속성 간에는 서로 종속적이지 않다
15. 1차정규화
- 중복속성에 대한 분리가 1차 정규화의 대상이 되며, 로우단위의 중복도 1차 정규화의 대상이 되지만 칼럼 단위로 중복이 되는 경우도 1차 정규화의 대상이다
16. 널(NULL)의 특성
- 널 값은 아직 정의되지않은 값으로 0 또는 공백과 다르다. 0은 숫자이고, 공백은 하나의 문자이다.
- 테이블을 생성할 때 NOT NULL 또는 PRIMARY KEY로 정의되지 않은 모든 데이터 유형은 널 값을 포함할 수 있다
- 널 값을 포함하는 연산의 경우 결괏값도 널 값이다. 모르는 데이터에 숫자를 더하거나 빼도 결과는 마찬가지로 모르는 데이터인 것과 같다
- 결괏값을 NULL이 아닌 다른 값을 얻고자 할 때 NVL/ISNULL 함수를 사용한다. 널 값의 대상이 숫자 유형 데이터인 경우는 주로 0(Zero)으로, 문자 유형 데이터인 경우는 공백보다는 'x' 같이 해당 시스템에서 의미없는 문자로 바꾸는 경우가 많다.
'Certificate > SQLD' 카테고리의 다른 글
[요약정리] SQLD 필기 요약 (기본키 ~ CASCADE, 요약 끝) (2) | 2024.02.27 |
---|---|
[요약정리] SQLD 필기 요약 (분산 DB ~ 정규화) (0) | 2024.02.26 |
[요약정리] SQLD 필기 요약 (칼럼 반정규화 ~ 인덱스 특성을 고려한 PK/FK DB 성능향상) (0) | 2024.02.25 |
[요약정리] SQLD 필기 요약 (성능 데이터 모델링 ~ 테이블추가) (0) | 2024.02.24 |
SQLD 필기 요약 (속성의 분류 ~ 비식별자) (0) | 2024.02.23 |