cs/database 2

[database] 데이터베이스 정규화란?

1. 데이터베이스 정규화 -> 중복을 없애고 데이터 무결성을 높이는 과정 데이터베이스 정규화(Normalization)는 관계형 데이터베이스를 설계할 때 데이터의 중복을 최소화하고 데이터의 일관성과 무결성을 확보하기 위해 테이블을 논리적으로 분해하는 과정이다. 이 과정을 통해 데이터 삽입, 수정, 삭제 시 발생할 수 있는 각종 이상 현상(Anomaly)을 방지하고, 보다 효율적이고 안정적인 데이터베이스 구조를 만들 수 있다. 정규화는 여러 단계로 나뉘며, 각 단계를 **정규형(Normal Form)**이라고 부른다. 차수가 높은 정규형일수록 더 엄격한 제약 조건을 만족해야 한다. 일반적으로 제3정규형(3NF)이나 보이스-코드 정규형(BCNF)까지 정규화를 수행하는 경우가 많다. 2. 정규화의 주요 목적..

cs/database 2025.09.17

[SQL] view

뷰(views) 어떤 경우에는 모든 사용자에게 전체 논리적 모델(즉, 데이터베이스에 저장된 모든 실제 릴레이션)을 보여주는 것이 바람직하지 않을 수 있다. 예를 들어, 어떤 사용자가 instructor의 이름(name) 과 소속 학과(dept_name) 는 알아야 하지만, 급여(salary) 는 볼 필요가 없는 상황을 생각해보자.이 사용자는 다음과 같은 SQL 문으로 정의된 릴레이션을 보게 되어야 한다. SELECT ID, name, dept_name FROM instructor; 뷰(view) 는 특정 사용자로부터 특정 데이터를 숨기는 메커니즘을 제공한다.개념적 모델에 속하지 않지만, 사용자에게 보여지는 릴레이션은 "가상 릴레이션(virtual relation)"이라 불리며, 이를 뷰(view) ..

cs/database 2025.06.09