- 개념적 격벽 존중 및 하드 삭제 지양: 데이터베이스 설계 시 개념 간의 경계를 명확히 하고, 하드 삭제 대신 소프트 삭제를 우선 고려해야 함. 🧱
- 연관관계/외래키 과의존 경계: 연관관계와 외래키에 지나치게 의존하면 개념적 혼란과 비효율적인 데이터 관리 초래. 🔗
- 상태 관리를 통한 데이터 유지: 불법 상품과 같은 데이터는 삭제 대신 상태(예: 블록, 삭제됨)를 관리하여 데이터 유실 방지 및 추후 분석 가능. 🚦
- 데이터 무결성보다 개념적 일관성 우선: 데이터 무결성을 위해 무리하게 외래키를 사용하기보다, 개념적 일관성을 유지하는 설계가 중요. 🤔
- 소프트 삭제 및 데이터 이력 관리: 하드 삭제는 데이터 유실 위험이 크므로, 소프트 삭제를 통해 데이터 이력을 관리하고 필요시 복구 가능하도록 해야 함. ♻️
- 라이프사이클 고려: 주문과 상품은 서로 다른 라이프사이클을 가지므로, 불필요한 연관관계 설정은 지양해야 함. 🔄