Skip to content

무결성과 제약 조건 (NULL · NOT NULL) ​

FK 값이 실제로 존재해야 한다는 참조 무결성과, 값이 반드시 있어야 한다는 NOT NULL 제약을 모았습니다.

참조 무결성(Referential Integrity) ​

"자식 테이블의 FK 값은 반드시 부모 테이블에 실제로 존재해야 한다"는 규칙입니다. SQLite는 이 검사가 기본적으로 꺼져 있어서, 모든 스크립트 맨 위에 PRAGMA foreign_keys = ON;을 켜야만 이 규칙이 실제로 동작합니다. 이걸 켜지 않으면 존재하지 않는 user_id로도 릴스가 그냥 삽입되어 버립니다.

NULL과 NOT NULL ​

NULL은 0이나 빈 문자열('')이 아니라 **"값이 아예 없다"**는 뜻입니다. NOT NULL 제약을 걸면 그 컬럼은 반드시 값이 있어야 행이 저장됩니다. 예를 들어 reels.video_url은 NOT NULL이라 영상 URL 없이는 릴스를 등록할 수 없습니다.

정리 ​

개념핵심
참조 무결성자식의 FK 값은 부모에 실제로 존재해야 함. SQLite는 PRAGMA foreign_keys = ON;을 켜야 동작
NULL0이나 ''가 아니라 "값이 아예 없음"
NOT NULL반드시 값이 있어야 행이 저장됨 (예: reels.video_url)

출처: Codyssey-B1/B6-1