Computer Science/DataBase

Computer Science/DataBase

[DataBase] 정규화와 비정규화의 탄생 배경 및 장단점

정규화(Normalization) 정규화란 데이터베이스 설계 시 중복을 최소화하며 데이터를 구조화하는 과정이다. 이는 데이터의 무결성을 보장하고 데이터베이스의 성능을 향상시킨다. 정규화는 1970년대 E.F.Codd가提唱한 관계형 데이터베이스 이론의 핵심 개념이다. 이론에 따르면, 데이터베이스의 테이블은 1차 정규화, 2차 정규화, 3차 정규화, BCNF, 4차 정규화, 5차 정규화 등으로 분류된다. 장점 데이터 중복 최소화 데이터 무결성 유지 쿼리의 성능 향상 단점 데이터베이스 설계에 많은 시간과 노력이 필요 복잡한 데이터베이스 설계로 인한 성능 저하 가능성 너무 많은 정규화를 시키면 데이터의 일관성을 유지하거나 읽어오는 데 시간이 더 오래 걸릴 수 있음. 비정규화(Denormalization) 비정규..

Computer Science/DataBase

[DataBase] 정규화(1NF, 2NF, 3NF, BCNF)

정규화(Normalization) 정규화란 이상현상이 있는 릴레이션을 분해하여 이상현상을 없애는 과정이다. 이상현상이 존재하는 릴레이션을 분해하여 여러 개의 릴레이션을 생성하게 된다. 이를 구분하여 정규형이 높아질수록 이상현상은 줄어들게 된다. 즉, 쉽게말하면 테이블 간에 중복된 데이터를 허용하지 않는다는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 이러한 테이블을 분해하는 정규화 단계가 정의 되어 있다. 정규화의 장단점 정규화의 장점 데이터베이스 변경 시 이상 현상(Anomaly)을 제거할 수 있다. 정규화된 데이터베이스 구조에서는 새로운 데이터 형의 추가로 인한 확장 시, 그 구조를 변경하지 않아도 되거나 일부만 ..

Computer Science/DataBase

[DataBase] RDBMS와 NoSQL의 차이점

DB 컴퓨터 시스템에 전자 방식으로 저장되어 있는 구조화된 정보 또는 데이터의 체계적인 집합을 말한다. SQL Structed Query Language 관계형 데이터베이스 관리시스템(RDBMS)의 관리를 위해 제작된 언어로써, 자료의 검색과 재조합, 스키마 생성과 수정과 같은 데이터베이스 객체 조정 관리를 위해 사용되고 있다. DBMS 데이터베이스 관리 시스템으로 사용자와 데이터 사이에서 사용자의 요청에 의해 데이터의 생성 조회 등 데이터베이스를 관리해주는 역할을 한다. RDBMS란? Relational DataBase Management System의 약자로, 관계형 데이터베이스 관리 시스템을 의마한다. RDB를 관리하는 시스템이며 RDB는 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이..

Tenacity_Dev
'Computer Science/DataBase' 카테고리의 글 목록