데이터베이스 모델링
- Database Modeling
- 데이터베이스 시스템을 구축하기 위해서, 데이터의 구조와 관계, 제약 조건 등을 설계하여 효율적이고 일관성 있는 데이터베이스를 만들기 위한 과정
- 모델링을 통해 성능, 무결성, 신뢰성을 보장할 수 있음
- DB Modeling의 중요성
- 효율성
- 데이터베이스 구조를 잘 설계하면 쿼리 성능과 저장 효율이 향상
- 일관성
- 중복과 이상 현상을 최소화하여, 데이터가 서로 모순되거나 충돌하지 않도록 함
- 무결성 보장
- 무결성 제약 조건을 모델링 단계에서 설정해두어, 부적절한 데이터를 방지
무결성 제약 조건
: 데이터베이스 잘못된 데이터의 삽입, 수정, 삭제로부터 보호되어, 데이터의 일관성과 신뢰성을 유지하는 것
1. 개체 무결성 (Entity Integrity)
- 기본 키(PK)가 유일(중복 불가)하고,
NULL 값을 허용하지 않는 제약
- 핵심 원칙
- 각 레코드는 유일한 식별자를 가져야 함 (PK 중복 불가)
- 기본 키는 NULL 값을 가질 수 없음 (필수값)
2. 참조 무결성 (Referential Intergrity)
- 외래 키와 관련된 제약으로, 존재하지 않는 기본 키를 참조하지 못하도록 하는 규칙
- 핵심 원칙
- 외래 키는 참조 대상 테이블의 기본 키 값을 참조하거나
NULL 을 가질 수 있음
- 참조 대상 테이블에 존재하지 않는 기본 키 값은 사용 불가
- 외래 키로 연결된 레코드를 삭제 혹은 수정할 때 연쇄 작업(
ON DELETE CASCADE 등) 또는 예외 처리를 통해 무결성 유지
3. 도메인 무결성 (Domain Intergrity)
- 각 속성(컬럼)이 정의된 도메인(값의 범위, 형식)을 벗어나지 않도록 하는 제약
- 핵심 원칙
- 속성별로 데이터 타입, 길이, 범위 등을 정의해야 함
- 값이 해당 범위(도메인)을 벗어나면 삽입, 수정이 제한되거나 오류 발생
4. 고유성 (UNIQUE)
- 특정 칼럼의 값이 테이블 내에서 중복되지 않도록 제한
- ex) 이메일 주소는 한 사용자가 하나만 등록 가능
5. NULL 무결성 (NOT NULL)
- 특정 칼럼이
NULL 값을 가질 수 없도록 하는 제약