본문 바로가기

전체 글

(318)
[DB] Soft Delete VS Hard Delete Soft Delete데이터를 실제로 삭제하지 않고, 삭제된 것처럼 표시만 하는 방식보통 is_deleted와 같은 플래그를 추가해 이를 관리합니다.특징:데이터는 여전히 저장소에 남아 있음."삭제됨" 상태를 나타내는 플래그를 이용.데이터를 복구하거나 기록을 추적할 수 있음.장점복구 가능: 실수로 삭제한 데이터를 복구할 수 있음.이력 관리: 데이터의 삭제 여부를 기준으로 과거 기록 확인 가능.참조 데이터 보호: 외래 키 제약 조건을 위반하지 않고 삭제 처리 가능.단점스토리지 증가: 삭제된 데이터를 계속 저장하기 때문에 데이터베이스 크기가 커질 수 있음.복잡한 쿼리: "삭제되지 않은 데이터"를 조회하려면 조건을 추가해야 함 (WHERE is_deleted = false).성능 저하: 많은 "삭제된" 데이터를 ..
[DB] 트랜잭션 ACID 트랜잭션단일한 논리적인 작업 단위논리적인 이유로 여러 SQL 문들을 단일 작업으로 묶어서 나눠질 수 없게 만든 것이 트랜잭션이다.트랜잭션의 SQL 문들 중에 일부만 성공해서 DB에 반영되는 일은 일어나지 않는다.둘 다 정상 처리되어야만 성공하는 단일 작업 일반적인 트랜잭션 사용 패턴트랜잭션을 시작한다.데이터를 읽거나 쓰는 등의 SQL문들을 포함해서 로직을 수행한다.일련의 과정들이 문제없이 동작했다면 트랜잭션을 커밋한다.중간에 문제가 발생했다면 트랜잭션을 롤백한다.트랜잭션이 가져야 할 속성 (ACID)AtomicityConsistencyIsolationDurabilityAtomicity(원자성)ALL or Nothing트랜잭션은 논리적으로 쪼개질 수 없는 작업 단위이기 때문에 내부의 SQL문들이 모두 성공..
[DB] 데이터베이스 설계 관계 데이터 모델을 기반으로 두고 데이터베이스를 설계할 때는 두 가지 방법을 주로 이용한다.(두 방법의 설계 결과물은 유사하기 떄문에 상황에 따라 선택하면 된다.)[ER 모델과 릴레이션 변환 규칙을 이용한 데이터베이스 설계][정규화를 이용한 데이터베이스 설계]ER 모델과 릴레이션 변환 규칙을 이용한 데이터베이스 설계 과정  1단계: 요구 사항 분석데이터베이스를 사용해 실제 업무를 처리하는 사용자에게서 필요한 데이터의 종류와 처리 방법 같은 다양한 요구 사항 수집수집한 요구 사항을 분석하여 요구 그 결과를 요구 사항 명세서 작성 2단계: 개념적 설계사용자의 요구 사항을 개념적 데이터 모델을 이용해 표현개념적 데이터 모델은 개발에 사용할 DBMS의 종류에 독립적이면서, 중요한 데이터 요소와 데이터 요소 간의..