Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- Entity
- 딥러닝
- biginteger사용법
- K-MOOC 단국대학교 홍보단
- 해시
- StringTokenizer
- K-MOOC
- html기초
- stringreader
- 자바문자열구분
- 블록체인강의
- 컴파일시스템
- 블록체인
- 오블완
- TypeScript
- 우선순위큐
- 단국대학교 k-mooc
- 자바스크립트
- 2차원배열정렬
- Node
- 티스토리챌린지
- national instruments
- 디스크블록할당
- 시스템프로그래밍
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- 자바
- 블록체인 강의
- 자바입력받기
- CSS 기초
- 머신러닝
Archives
- Today
- Total
열정 실천
[SQLD] 002. 데이터 모델과 SQL 본문
728x90
| 01 | 정규화
데이터의 정확성과 일관성을 위해 엔티티를 작은 단위로 분리하는 과정이다.
조회 성능은 향상될수도 저하될수도 있지만 입력, 수정, 삭제 성능은 일반적으로 향상된다.
제 1 정규형
모든 속성은 반드시 하나의 값만 가져야 한다.
제 2 정규형
부분 함수적 종속 제거하여 완전 함수적 종속을 만족해야한다.
주식별자가 복합식별자인 경우 일반 속성이 주식별자의 일부에만 종속될 수 있는데, 이를 따로 테이블을 분리하는 것.
제 3 정규형
이행 함수적 종속을 제거하여 특정 속성이 주식별자가 아닌 일반 속성에 종속될 수 없게 한다.
| 02 | 반정규화
데이터의 조회 성능을 향상시키기 위해 데이터의 중복을 허용하거나 데이터를 그룹핑하는 과정이다.
반정규화는 모든 정규화를 마친 후 성능상 이슈가 있을 때만 고려하는 것이 원칙이다.
테이블 반정규화
테이블 병합 | 1:1 관계 테이블 병합 |
1:M 관계 테이블 병합 | |
슈퍼 서브 타입 테이블 병합 | |
테이블 분할 | 테이블 수직 분할 (속성 분할) -> 1:1관계 테이블 2개 생성 |
테이블 수평 분할 (인스턴스 분할, 파티셔닝) -> 관계없는 다수 테이블 생성 | |
테이블 추가 | 중복 테이블 추가 |
통계 테이블 추가 | |
이력 테이블 추가 | |
부분 테이블 추가 |
컬럼 반정규화
- 중복 컬럼 추가 : join이 필요한 경우가 많을 때 컬럼 추가
- 파생 컬럼 추가 : 미리 값을 계산하여 컬럼 추가
- 이력 테이블 컬럼 추가 : 속도가 느려질 것을 대비하여 컬럼 미리 추가
관계 반정규화
- 중복 관계 추가
| 03 | 트랜잭션
데이터를 조작하기 위한 하나의 논리적인 단위
|04| NULL
NULL은 존재하지 않음. 즉, 값이 없음을 의미한다.
다른 인스턴스의 데이터와 연산할 때는 NULL값을 제외한다.
728x90
'CS > DATABASE' 카테고리의 다른 글
[SQLD] 004. SQL 기본 2 - JOIN의 종류 (2) | 2024.11.13 |
---|---|
[SQLD] 003. SQL 기본 1 - 함수, SELECT, WHERE, GROUP BY, ORDER BY (1) | 2024.11.08 |
[SQLD] 001. 데이터 모델링의 이해 (4) | 2024.10.24 |
010. ERD-to-Realation __ E-R 다이어그램보고 테이블 만들기 (0) | 2024.10.05 |
008. 관계대수와 관계해석 Relational Algebra & Relational Calculus (2) | 2024.10.03 |