정규화

    [SQLD] 개념 정리 #03 정규화 과정

    정규화 과정 1NF (제 1 정규형) 릴레이션에 속한 모든 도메인이 원자값만으로 되어 있는 정규형 릴레이션의 모든 속성값이 원자값으로만 되어 있는 정규형 릴레이션의 모든 속성이 단순 영역에서 정의됨 2NF (제 2 정규형) 릴레이션 R이 1NF이고, 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는 정규형 3NF (제 3 정규형) 릴레이션 R이 2NF이고, 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형 무손실 조인 또는 종속성 보존을 저해하지 않고도 항상 3NF설계를 얻을 수 있다 BCNF(Boyce-Codd 정규형) 릴레이션 R에서 결정자가 모두 후보키인 정규형 3NF에서 후보키가 여러 개 존재하고 서로 중첩되는 경우 적용하는, 강한 제3정규형이라고도..

    [SQLD] 개념 정리 #02 데이터베이스의 정규화

    정규화란? 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정이다. 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정 정규형은 차수가 높아질수록 만족시켜야 할 제약 조건이 늘어남 데이터베이스의 논리적 설계 단계에서 수행 논리적 처리 및 품질에 큰 영향을 미침 정규화된 데이터 모델은 일관성, 정확성, 단순성, 비중복성, 안정성 등을 보장 정규화 수준이 높을수록 유연한 데이터 구축이 가능하고 데이터의 정확성이 높아지는 반면 물리적 접근이 복잡하고 너무 많은 조인으로 인해 조회 성능이 저하됨 정규화의 목적 데이터 구조의 안정성 및 무결성 유지 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만듦 효과적..