🌿 중급 DB
데이터베이스 제약조건이 뭔가요?
쉽게 이해하기
회원 가입할 때 '비밀번호는 8자 이상', '이메일 형식 확인', '아이디 중복 불가' 같은 규칙이 있잖아요. 데이터베이스 제약조건도 똑같이 데이터가 규칙을 지키도록 강제하는 거예요.
핵심 정리
제약조건은 데이터베이스에 잘못된 데이터가 들어가지 않도록 막는 규칙이에요.
자세히 알아보기
제약조건(Constraint)은 데이터베이스 테이블에 저장되는 데이터가 특정 규칙을 만족하도록 강제하는 기능이에요. 잘못된 데이터가 들어가는 것을 미리 막아서 데이터의 정확성과 신뢰성을 보장해요.
주요 제약조건에는 여러 가지가 있어요. NOT NULL은 반드시 값이 있어야 한다는 규칙이고, UNIQUE는 중복된 값을 허용하지 않아요. CHECK는 특정 조건을 만족하는 값만 허용해요. 예를 들어 나이 컬럼에 CHECK (age >= 0)을 설정하면 음수는 절대 들어갈 수 없어요.
실무에서 자주 쓰이는 예시를 들어볼게요. 회원 테이블에서 이메일 컬럼에 UNIQUE 제약을 걸면 같은 이메일로 중복 가입을 원천 차단할 수 있어요. 상품 테이블에서 가격 컬럼에 CHECK (price > 0)을 설정하면 음수나 0원짜리 상품이 등록되는 실수를 막을 수 있고요.
제약조건은 애플리케이션 코드에서도 검증할 수 있지만, 데이터베이스 레벨에서 한 번 더 방어선을 만드는 거예요. 여러 애플리케이션이 같은 데이터베이스를 사용할 때 특히 중요해요.