[DB] 데이터 정규화 1NF, 2NF, 3NF, BCNF
💡데이터 정규화란? 데이터 베이스의 설계를 재구성. 불필요한 데이터를 제거하고, 삽입/삭제/갱신 시 각종 이상현상 방지를 하기 위함 💡데이터 정규화 목적 1. 불필요한 데이터 제거 2. 논리적인 데이터 저장 (이상현상 방지) 정규화는 제1정규화, 2정규화, 3정규화, BCNF, 4정규화, 5정규화로 나눌 수 있다. 보통 4, 5정규화까지는 하지 않는다고한다. 제 1정규화 제1정규화는 각 row마다 컬럼의 값이 1개씩 있어야한다. 즉, 컬럼의 값이 원자값이어야 한다. 예를들어 subject 라는 컬럼에 값이 math, biology 이렇게 2개의 값이 들어가면 제 1정규화를 만족하지 못 한다. 제 2정규화 2정규화는 테이블의 모든 컬럼이 완전 함수 종속을 만족한다. 완전 함수 종속이란 기본키 중에 특정 컬..
2021. 5. 28.
DL (Data Lake)
데이터 호수(Data Lake) :데이터 호수(Data Lake)는 시스템 또는 자연적인 형식으로 저장된 데이터 저장소이며, 일반적으로 소스 시스템 데이터의 원시 사본 및 보고, 시각화, 분석 및 기계 학습(Machine Learning)과 같은 작업에 사용되는 변환된 데이터를 포함하여 모든 엔터프라이즈 데이터의 단일 저장소이다. 데이터 호수에는 관계형 데이터베이스(행과 열), 반 구조화 된 데이터(CSV, 로그, XML, JSON), 구조화되지 않은 데이터(전자 메일, 문서, PDF) 및 바이너리 데이터(이미지, 오디오, 비디오)의 구조화된 데이터가 포함될 수 있다. 데이터 웨어하우스 vs 데이터 레이크 데이터 웨어하우스와는 다르게 데이터 레이크는 데이터의 종류를 묻지도 따지지도 말고 저장하는 공간이다..
2020. 4. 20.
ETL (Extract, Transform, Load)
ETL (Extract, Transform, Load) : 저장된 데이터를 추출하고 변형하여(요구사항에 맞게) 다른 곳으로 적재하는 모든 과정 Extract : 테이블에서 데이터를 추출 Transform : 추출한 데이터를 요구하는 형태로 변형 (필터링, 정렬, 집계, 데이터 조인, 데이터 정리, 중복 제거 및 데이터 유효성 검사 등) Load : 변경된 데이터를 테이블에 적재 OLTP에서 DW, DM, OLAP에 이르기까지의 과정에서 중간 중간에서 데이터를 이관하는 과정을 모두 ETL이라고 한다. 다음 그림과 같이 중간에 변형작업에서 주로 하는 일은 바로 정제이다. OLTP에서 발생한 데이터를 그대로 이관하여 DW, DM을 만들게 될 때 가장 먼저 부딪히는 벽이 바로 데이터의 정합성 문제이다. 이를 해..
2020. 4. 20.