SQLD / SQLP 공통 : 제1과목은 데이터 모델링의 이해 이다.
1과목. 데이터 모델링의 이해
- 데이터 모델링의 이해
- 데이터 모델과 SQL
엔터티
- 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적, 영속적으로 존재하는 단위
- 인스턴스의 집합
속성
- 엔터티에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
- 엔터티에 속하는 개체들의 특성
- 엔터티를 설명하고 인스턴스의 구성요소가 된다.
- 하나의 속성은 하나의 속성값을 가진다.
관계
- 엔터티와 엔터티 사이의 연결 관계성
- 두개의 엔터티로부터 인스턴스를 연관짓는 행위
- 인스턴스 간에 논리적인 연관관계로 존재 또는 행위로서 연관성이 부여된 상태
도메인
- 속성이 가질 수 있는 값의 범위
- 엔터티 내에서 속성에 대한 데이터 타입, 크기, 제약사항을 지정하는 것.
엔터티 분류
유형무형에 따른 분류
유형 엔터티 | 물리적인 형태가 있고, 지속적으로 활용, ex) 사원, 상품 |
개념 엔터티 | 물리적인 형태가 없고, 겨념적 정보로 구분. ex) 조직, 보험 |
사건 엔터티 | 업무에서 발생되는 자료. ex) 주문, 수강 |
발생시점에 의한 분류
기본 엔터티 | 업무에 독립적으로 존재하는 정보. ex) 사원,부서,고객,상품 등 |
중심 엔터티 | 기본엔터티에서 발생하는, 업무의 중심이 되는 엔터티. ex) 계약,주문 등 |
행위 엔터티 | 2개이상의 부모엔터티로부터 발생. ex) 주문내역,계약변경이력 등 |
스키마
외부 스키마 : 데이터베이스의 사용자 관점
개념 스키마 : 통합 관점, 데이터베이스 관리자 관점
내부 스키마 : 물리적 관점, 시스템 설계자 관점
관계(Relationship) 표기법
- 관계명
- 관계차수 : 1:1, 1:N, N:N
- 관계선택사양 : 필수, 옵션
식별자
- 엔터티를 대표하는 속성으로, 인스턴스를 구분할 수 있다.
주식별자/보조식별자
- 주식별자 : 유일성, 최소성, 존재성, 불변성을 만적하는 대표 식별자
- 보조식별자 : 유일성은 만족하지만 대표성을 만족하지 못하는 식별자
내부식별자/외부식별자
- 내부식별자: 엔터티 내부에서 스스로 생성되는 식별자
- 외부식별자: 다른 엔터티와의 관계로 생성되는 식별자
단일식별자/복합식별자
- 단일식별자 : 하나의 속성
- 복합식별자 : 2개 이상의 복합 속성
본질식별자/인조식별자
- 본질식별자 : 비지니스 프로세스에서 만들어지는 식별자
- 인조식별자 : 인위적으로 만들어지는 식별자
데이터베이스 모델링의 특징
- 추상화, 단순화, 명확화
모델링의 3단계
- 개념적 모델링 : 추상적, 업무 중심적, 포괄적인 수준의 모델링
- 논리적 모델링 : 세부속성, 식별자, 관계를 표현, 정규화
- 물리적 모델링 : 데이터베이스 성능을 고려한 설계
정규화
- 데이터의 일관성, 유연성, 중복을 제거하고 데이터를 분해를 하는 과정
- 이상현상을 제거하는 설계 기법이다.
제1정규화
- 속성의 원자성 확보 : 속성은 하나의 속성값을 가져야 한다.
- 기본키(PK) 설정
제2정규화
- 기본키 중에 특정 컬럼에만 종속된 경우, 부분 함수 종속성 제거
제3정규화
- 이행 함수 종속성 제거
이상현상
삽입이상 | 데이터 삽입시, 의도치 않은 값들도 삽입 되는 현상 |
갱신이상 | 데이터 수정시, 일부 데이터만 갱신되어, 데이터의 일관성 유지가 안되는 현상 |
삭제이상 | 데이터 삭제시, 의도와 다른 값들이 삭제되는 현상 |
반정규화
- 데이터베이스의 성능 향상을 위해 데이터의 중복을 허용하거나, 조인을 줄이는 목적으로 하는 성능 향상 방법
분산데이터베이스
- 병렬처리로 빠른 응답이 가능, 용량확 장이 쉬움
- 보안이나 무결성이 안좋다. 여러 네트워크에 분산되어 관리와 통제가 어렵다.
트랜잭션의 4가지 특징 (ACID)
원자성 (Atomicity) | 분해가 불가능한 업무의 최소단위로, 전부 처리되거나, 전부 처리되지 않아야 한다. |
일관성 (Consistency) | 트랜잭션 결과로 데이터베이스 상태가 모순되지 않아야 한다. |
격리성 (Isolation) | 트랜잭션의 중간 값에 다른 트랜잭션이 접근할 수 없다. |
영속성 (Durability) | 트랜잭션의 결과가 데이터베이스에 영속적으로 저장된다. |
'데이터베이스' 카테고리의 다른 글
[SQLP 요점정리] 3과목. SQL 고급활용 및 튜닝 - 3. 인덱스튜닝 (0) | 2025.03.03 |
---|---|
[SQLP 요점정리] 3과목. SQL 고급활용 및 튜닝 - 2. SQL 분석도구 (0) | 2025.03.02 |
[SQLP 요점정리] 3과목. SQL 고급활용 및 튜닝 - 1. SQL 수행 구조 (0) | 2025.03.01 |
[SQLD/SQLP 요점정리] 2과목. SQL 기본 및 활용 (0) | 2025.02.26 |
mysql / mariadb 슬로우쿼리(slowquery) 탐지하기 (0) | 2022.03.29 |