DB : SQL - Constaint (제약 조건)

은경·2022년 2월 24일
0

📌 Constaint (제약 조건)


데이터의 무결성을 지키기 위해 걸어둔 제한된 조건

  • 무결성 : 데이터의 정확성, 일관성, 유효성이 유지되는 것을 말함.
  • 틀린데이터는 못들어 오게 막고, 맞는 데이터만 들어오게 해주기 위해 사용.

📌 사용 가능한 제약 조건 (MySQL)


🔑 Primary Key (기본 키)

테이블에 존재하는 많은 행의 데이터를 구분할 수 있는 식별자
중복되어서도 안되며 비어서도 안됨

  • 유일한 식별자이므로 테이블에 하나만 지정 가능
  • 데이터가 자주 바뀌지 않는 값으로 설정하는 것이 좋음.
  • 단순한 값으로 설정하는 것이 효율적이다.
  • 기본키를 활용하면 하나의 테이블내에서 고유한 행을 선택할 수 있다.
  • ex) 주민등록번호

🗽 Foreign Key (외래 키)

한 테이블의 키 중에서 다른 테이블의 레코드를 유일하게 식별할 수 있는 키

  • 두개의 테이블을 연결해주는 연결 다리 역할을 함.
  • 기본 키와 같이 새롭게 추가되는 행에서 외래키에 해당하는 값이 참조하는 테이블에 존재하는지 여부 체크 -> 무결성 보장

🦄 Unique (유일 키)

중복되지 않는 유일한 값을 입력해야 하는 조건

  • 기본 키와 달리 유일 키는 NULL값을 허용.
  • 하나의 테이블에 컬럼 마다 각각 지정이 가능 <-> 유일 키는 한 테이블당 하나

☑️ Default (기본 값)

데이터의 값을 입력하지 않았을 때, 자동으로 입력되는 기본 값을 정의하는 방법.

❌ Not Null (빈 값 허용하지 않음)

NOT NULL 제약 조건을 설정하면, 해당 필드는 NULL값을 지정할 수 없다.

이 제약 조건이 설정된 필드는 무조건 데이터를 가지고 있어야 함.
필드 생성 시 default는 Null값이 허용.

참고 자료 (Reference)


https://gngsn.tistory.com/29?category=851218
http://www.tcpschool.com/mysql/mysql_constraint_notNull
https://jjeongil.tistory.com/1234

헷깔리는 데이터베이스 용어 정리


https://medium.com/@jw02048/%ED%85%8C%EC%9D%B4%EB%B8%94-table-%ED%95%84%EB%93%9C-field-%EC%97%B4-column-%ED%96%89-row-f186f45ebe44
https://hoyashu.tistory.com/6

profile
Python 서버 개발자

0개의 댓글