데이터모델링 2

고급 정규형 정리: BCNF, 4NF, 5NF를 완전히 이해하자

1. 고급 정규형이 필요한 이유: 제3정규형 그 이후의 문제들 많은 사람들은 데이터베이스 정규화의 최종 단계가 제3정규형(3NF)이라고 생각한다. 실제로 대부분의 실무 데이터베이스는 제3정규형까지만 적용해도 안정적인 구조를 갖출 수 있다. 하지만 복잡한 데이터 모델이나 규모가 큰 시스템에서는 3NF만으로도 해결되지 않는 이상현상이 발생한다. 대표적인 상황은 다음과 같다:후보 키가 2개 이상 존재할 때: 어떤 결정자가 후보 키가 아닐 경우, 제3정규형은 이를 허용하지만 이는 심각한 설계 오류로 이어질 수 있다.속성 간 종속성이 너무 복잡할 때: 단일 종속성(속성 A → 속성 B)이 아니라, 속성 A가 속성 B, C, D 등 여러 속성에 동시에 독립적으로 종속되는 구조에서 3NF는 무기력하다.테이블이 다대..

컴퓨터공학 2025.03.28

데이터 모델링 기초: 데이터 구조를 설계하는 첫걸음

1. 데이터 모델링이란 무엇인가? 데이터 모델링(Data Modeling)은 현실 세계의 정보를 데이터베이스에 저장하기 위해 구조화하는 과정이다. 즉, 실제로 존재하는 사물이나 개념, 이벤트 등을 데이터베이스에서 관리할 수 있는 형태로 변환하는 작업을 의미한다. 예를 들어, 온라인 쇼핑몰을 설계한다고 가정하자. 이때 고객, 상품, 주문, 배송 등의 개념을 데이터베이스 테이블로 표현해야 한다. 고객은 이름, 연락처, 이메일 주소 등의 정보를 가지고 있고, 주문은 주문일, 배송지, 결제 수단 등의 속성을 갖는다. 이처럼 현실의 정보를 구조화하여 정리하는 과정이 바로 데이터 모델링이다. 데이터 모델링은 단순한 구조 설계가 아니다. 데이터 간의 관계, 제약 조건, 저장 방식, 처리 흐름 등을 종합적으로 고려하..

컴퓨터공학 2025.03.28