정규화란 데이터베이스 설계에서 테이블 간에 중복된 데이터를 허용하지 않고 무결성을 유지하기 위한 과정이다. 이는 데이터를 효과적으로 저장하고 검색하기 위해 테이블을 구조화하는 프로세스를 의미한다. 정규화는 관계형 데이터베이스에서 사용되며, 데이터의 중복을 최소화하고 각 테이블이 특정 종류의 종속성을 만족하는 데 목적을 둔다. 목적 최종 목적은 이상 현상 발생 가능성을 줄이는 것이다. 중복 최소화 데이터의 중복을 최소화하여 저장 공간을 절약하고 데이터 일관성을 유지한다. 데이터가 중복될 경우 수정이 필요할 때 여러 테이블에서 수정해야 하므로 문제가 될 수 있다. 데이터 일관성 유지 각 테이블이 특정 종류의 종속성을 갖도록 한다. 데이터의 논리적 일관성을 확보하고 변경 시 발생할 수 있는 이상 현상을 방지한..
트랜잭션이란 트랜잭션이란, 데이터베이스의 상태를 변환시키는 논리적 기능을 수행하기 위한 가장 최소한의 작업 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연상들을 의미한다. 즉, 쉽게 말하면 더이상 분할이 불가능한 업무처리의 단위이다. 하나의 작업을 위해 더이상 분할될 수 없는 명령들의 모음이자 한꺼번에 수행되어야 할 일련의 연산모음을 의미한다. 예를 들어, 은행 시스템에서 고객 A와 고객 B 간의 자금 이체를 수행하는 상황이다. A계좌에서의 출금과 B계좌로의 입금이 모두 성공적으로 이루어져야 이체 트랜잭션이 성공적으로 완료된다 → 원자성 이체 전에 각 계좌의 총 잔액이 일치하고, 이체 후에도 동일한 조건이 유지되어야 한다. → 일관성 다른 고객이 동시에 계좌를 조작하더라도, 각 트랜잭션은 서로에게 영향..
데이터 관련 직군 데이터 엔지니어 파이썬, 자바/스칼라 SQL, database ETL/ELT (Airflow, DBT) Spark, Hadoop 데이터 분석가 SQL, 비즈니스 도메인에 대한 지식 통계 (AB 테스트 분석) 데이터 과학자 머신러닝 SQL, 파이썬 통계 데이터 관련 직군에서 SQL 사용되는 방향 큰 데이터를 프로세싱해서 작은 데이터로 변환 주어진 문제를 답하기 위해서 데이터 분석을 하기 위한 관점 다양한 종류의 데이터 분석을 하기 위한 목적 → SQL은 필수다 ! 데이터가 아무리 커져도 데이터가 구조화만 되어 있다면 SQL은 검증된 기술이기 때문에 가장 쓰이기 좋다. 빅데이터 세상에서도 구조화된 데이터에 대해 SQL만큼 사용하기 쉬운 언어가 없다. 즉, 데이터 일을 하는 사람이면 SQL은..