[TIL]데이터베이스를 학습하면서 꼭 이해해야 하는 데이터 모델과 SQL의 주요 개념 정리-2025.09.24
2025. 9. 24. 17:35ㆍ대외활동/인공지능사관학교
728x90
반응형
SMALL

데이터베이스를 학습하면서 단순히 SQL 문법을 익히는 것에 그치지 않고 데이터 모델링의 핵심 개념을 이해하는 것이 중요하다고 생각함.
1. 정규화 (Normalization)
데이터 중복을 줄이고 무결성을 보장하기 위해 테이블 구조를 체계적으로 나누는 과정을 말함.
- 1차 정규형: 원자값으로 분해함.
- 2차 정규형: 부분 함수 종속 제거함.
- 3차 정규형: 이행 함수 종속 제거함.
👉 실무에서는 정규화로 무결성을 확보하면서도, 성능을 위해 비정규화를 병행하기도 함.
2. 관계와 조인 (Relationships & Joins)
관계형 데이터베이스는 테이블 간의 관계를 기반으로 동작하며, 이를 SQL에서는 조인으로 표현함.
- INNER JOIN: 교집합만 가져옴.
- OUTER JOIN: 기준 테이블의 모든 데이터 포함함.
- CROSS JOIN: 가능한 모든 조합 생성함.
👉 어떤 데이터를 조회할지 요구사항에 맞춰 적절한 조인 방식을 선택해야 함.
3. 모델이 표현하는 트랜잭션선 (Transactions in Models)
데이터 모델은 구조뿐 아니라 트랜잭션 단위도 함께 고려해야 함.
- 트랜잭션은 ACID 원칙(원자성, 일관성, 격리성, 지속성)을 만족해야 함.
- 주문, 결제, 취소 같은 업무 흐름을 설계할 때 트랜잭션 경계를 반영해야 함.
👉 모델링 과정에서 트랜잭션 단위까지 고려해야 서비스 무결성을 확보할 수 있음.
4. Null 속성의 이해
NULL은 값이 없음을 의미하며, 0이나 빈 문자열과는 다름.
- 연산에 NULL이 포함되면 결과는 NULL이 됨.
- 조건문에서는 = NULL 대신 IS NULL을 사용해야 함.
- 집계 함수에서는 NULL이 제외되어 결과가 왜곡될 수 있음.
👉 설계 단계에서 어떤 속성이 NULL을 허용할지 명확히 정의해야 함.
5. 본질식별자 vs 인조식별자
식별자는 테이블 내에서 데이터를 구분하는 핵심 키임.
- 본질식별자(Natural Key): 주민번호, 학번처럼 데이터 자체에서 파생된 값임.
- 인조식별자(Surrogate Key): Auto Increment처럼 시스템이 부여하는 값임.
👉 실무에서는 인조식별자를 기본키로, 본질식별자를 보조키로 두는 경우가 많음.
인사이트
데이터 모델과 SQL 학습은 단순히 쿼리 작성 기술을 익히는 것을 넘어 서비스 안정성과 성능을 고려한 설계 원칙을 이해하는 과정이라고 생각함. 앞으로 프로젝트에서 테이블을 설계할 때는 이번에 정리한 다섯 가지 개념을 의식적으로 적용해야겠음.
728x90
반응형
LIST
'대외활동 > 인공지능사관학교' 카테고리의 다른 글
| [AI Crew]인공지능활용능력 자격증 단체 응시 안 인공지능 사관학교 자격증 마지막 단계의 완성/인공지능사관학교6기 (0) | 2025.10.22 |
|---|---|
| [TIL]프로젝트 선정-2025.09.30 (0) | 2025.09.30 |
| [TIL]SQLD 데이터 모델링의 이해-2025.09.23 (0) | 2025.09.23 |
| [AI Crew]클라우드 네이티브 시대 왜 Kubernetes가 표준이 되었을까?/인공지능사관학교6기 (0) | 2025.09.23 |
| [AI Crew]개발자 협업 툴 시리즈 1편: Notion으로 시작하는 효율적인 협업과 기록/인공지능사관학교6기 (0) | 2025.09.23 |