CS/DB 2

[DB] 정규화, 역정규화

WeeklyPaper: 역정규화가 필요한 상황과 적용 시 고려해야 할 사항, 그리고 역정규화를 적용할 때의 장단점을 설명해주세요.역정규화를 알아보기 전에, 먼저 정규화를 간단하게 알아보자.정규화 (Normalization)데이터베이스의 데이터의 중복을 줄이고 무결성을 높이기 위한 과정이다. 테이블 간의 종속정을 제거거나 분리하며, 삽입/수정/삭제 이상 (anomaly)를 방지하고, 논리적으로 일관된 데이터 구조를 만드는 것이 목적이다. 정규화 유형은 이렇게 나뉜다.1NF모든 속성은 원자값만 포함중복 필드 제거, 원자성 보장2NF1NF + 모든 비키가 기본 키에 완전 함수적 종속부분 종속 제거3NF2NF + 비키 간 이행적 종속 제거이행 종속 제거BCNF3NF + 모든 결정자가 후보 키결정자 이상 제거 ..

CS/DB 2025.07.18

[DB] SQL - DDL, DML, DCL

WeeklyPaper: SQL에서 DDL과 DML의 차이점을 설명하고, 각각의 대표적인 명령어들의 용도를 설명하세요.* 추가로 DCL까지 찾아보았다SQL (Structured Query Language/ 구조적 쿼리 언어 )SQL은 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어 / 쿼리 언어이다.정보를 표 형식으로 저장하고, schema를 사용하여 데이터 저장 전 정의가 필수다SQL를 사용해서 기본적인 데이터의 CRUD (저장, 검색, 업데이트, 삭제)를 할 수 있다다른 프로그래밍 언어와 잘 통합이 된다예) Java로 SQL을 포함시켜 Oracle/MS SQL Server와 같은 주요 SQL 데이터베이스 시스템으로 고성능 데이터 처리 어플리케이션을 빌드할 수 있다관계형 데이터베이스 ..

CS/DB 2025.07.14