정규화 3

(데이터베이스) 정규화 (Database Normalization) *쉬운 예제

데이터베이스 정규화 (Database Normalization)1. 정규화란?정규화(Normalization)는 관계형 데이터베이스에서 데이터의 중복을 최소화하고 이상현상(Anomaly)을 방지하기 위한 설계 과정이다.이 과정은 여러 단계의 규칙(Normal Forms, NFs)을 따라 스키마를 구조화하면서 점차적으로 데이터 구조를 개선해나가는 방법이다.정규화는 다음과 같은 문제를 해결하기 위해 수행한다:삽입 이상 (Insertion Anomaly)불완전한 데이터를 억지로 삽입해야 할 때 발생삭제 이상 (Deletion Anomaly)필요 없는 데이터를 삭제했을 때, 의도하지 않은 정보가 함께 사라지는 현상갱신 이상 (Update Anomaly)중복 데이터로 인해 하나만 변경하면 데이터 불일치가 발생할 ..

(데이터베이스) 설계의 기초: Functional Dependency 정리

데이터베이스 설계의 기초: Functional Dependency 정리오늘은 DB 설계의 핵심 개념 중 하나인 **Functional Dependency (함수 종속성)**에 대해 정리해보겠습니다.이 개념은 정규화(normalization) 과정의 기반이 되는 중요한 원리로, 테이블 구조의 논리적 정합성을 판단하는 기준이 됩니다.✅ Functional Dependency란?Functional Dependency(FD)는 하나의 테이블 내 속성들 사이의 의미적 제약 조건을 말합니다.어떤 속성 집합 X가 있을 때, X의 값이 주어지면 Y의 값이 항상 유일하게 결정된다면,이를 X → Y 라고 표현합니다.예:학생ID → 생년월일(학생 ID가 같으면 생일도 같아야 한다) ❗ 중요한 점은 FD는 테이블의 현재 ..

(데이터베이스) DB 스키마 설계 주의사항

✅ 정규화 (Normalization) 개요정규화는 데이터의 중복을 최소화하고 이상 현상(Anomaly)을 방지하기 위해 테이블을 구조적으로 나누는 과정입니다. 주로 삽입, 삭제, 갱신 이상 (Insert/Delete/Update Anomalies) 을 방지하는 목적입니다.✅ 이상 현상 (Anomalies) 예시1. Insertion Anomaly (삽입 이상)특정 데이터를 저장하려면 불필요한 정보도 같이 저장해야 하는 문제 문제점1.데이터 중복 dept_id , dept_name 등 중복된 데이터 다수 (실수로 인한 데이터 불일치 가능성도 존재,저장공간 낭비)2. null 값 많이 쓰이게 됨. ( 임직원 없는 즉 부서만 입력시 혹은 반대 ) 올바른 db 설계 직원 , 부서 분리되어 삽입 삭제 등..