제약 조건(Constraint)이란?
● 각 칼럼들 간의 제한사항을 관리하고, 조건을 위반하는 데이터를 방지
→ 데이터베이스의 무결성(Intergrity)을 보장하는 규칙
● 왜 필요할까?
- 사용자의 이메일이 중복되는 경우, 이메일이 아닌 다른 데이터로 사용자를
고유하게 구분할 수 없다면, 해당 사용자의 정보를 정확하게 알 수 없다.
→ 이러한 문제를 해결하기 위해 제약 조건이 필요하다.
- 제약 조건은 데이터베이스 테이블을 분석할 때 설정된 칼럼의 속성을 바탕으로
해당 테이블이 어떤 역할을 하는지, 어떤 데이터를 저장하고 있는지 명확하게
인지할 수 있도록 도와준다.
제약 조건의 종류
● 고유(Unique) 제약 조건 (=Unique)
- 테이블에 소속된 특정 칼럼이 중복된 키를 가질 수 없는 조건
ex) 사용자 아이디, 이메일과 같은 고유한 정보를 저장할 때 사용
● NULL 제약 조건 (=Null)
- 특정 칼럼이 아무런 값을 입력받지 않도록 설정하거나, 무조건 값을 입력받도록 설정
ex) 프로필 이미지 같은 경우는 무조건 넣을 필요가 없음으로 NULL (NULL이어도 된다)
이름, 이메일은 필수적인 요소임으로 NOT NULL (NULL이 되어서는 안 된다)
- 데이터가 없다면, NULL을 저장하여 데이터가 존재하지 않다는 것을 표현
● 기본 키 (Primary Key) 제약 조건 (Primary Key)
- 테이블 내에서 각 행(row)을 고유하게 식별할 수 있도록 보장하는 조건
● 외래 키 (Foreign Key) 제약 조건 (Foreign Key)
- 테이블 간의 관계를 설정하는 조건
- 한 테이블의 컬럼(Column)이 다른 테이블의 특정 행(Row)을 참조하도록 설정하는 조건
'Programming Language' 카테고리의 다른 글
[SQL] WITH 절 (1) | 2024.12.05 |
---|---|
[SQL] 4-2. SQL과 제약조건 (2) | 2024.12.02 |
[SQL] 3. DDL, DML, DCL, TCL (0) | 2024.11.22 |
2. SQL 추가 기능 - Window Function (2) | 2024.10.18 |
1-3 데이터베이스, SQL 기초 (2) | 2024.10.11 |