티스토리 뷰
제약조건이란?
-데이터의 무결성을 보장하기 위해 데이터에 적용되는 규칙이나 조건을 의미합니다.
즉,사용자가 원하는 조건의 데이터만 유지하기 위한 방법입니다.
제약조건의 종류
- PRIMARY KEY
-한 테이블에서 고유하게 식별하는 키 이며, 중복되거나 NULL 값이 될 수 없습니다.
(한테이블엔 하나의 PRIMARY KEY만 존재할 수 있습니다.)
(PRIMARY KEY에 여러개의 칼럼이 포함될 수 있습니다.) - FOREIGN KEY
-한 테이블의 속성이 다른 테이블의 PRIMARY KEY를 참조할 때 사용되며, 참조 무결성을 보장하기 위해 사용됩니다. - UNIQUE
-해당 속성의 모든 값이 고유해야 함을 나타내며, 중복이 허용되지 않습니다. (NULL은 허용합니다.) - NOT NULL
-해당 속성에 NULL 값이 허용되지 않습니다.
(NULL은 기본값으로, 명시하지않으면 NULL값이 기본입니다.) - CHECK
-해당 속성 값이 특정 범위의 조건을 만족해야 함을 나타냅니다. - DEFAULT
-해당 속성에 값이 입력되지 않을 경우 자동으로 설정되는 기본값을 설정합니다. - INDEX
-데이터 검색 속도를 높이기 위한 구조로, 특정 열에 대한 데이터 액세스를 빠르게 할 수 있습니다.
참조 무결성이란?
-참조 무결성은 데이터베이스에서 관계형 데이터모델을 사용할때 외부키를 참조할때 테이블의 무결성을 보장하기 위한 개념입니다. 만약 한테이블이 다른 테이블의 키를 참조할때 만약 참조된 테이블의 키가 변경되거나 삭제될경우 오류가 납니다. 이를 방지하기위해 같이 데이터가 변경되거나 삭제되어야하는데 2가지의 방법이 있습니다.
Foreign key 제약 조건 - 참조하는 테이블은 그 참조테이블의 컬럼에만 존재하는 값만 저장할 수 있도록 제약 조건을 설정하는것 입니다. 이를통해 참조테이블에 존재하지 않는 데이터를 참조하는것을 방지할 수 있습니다.
CASCADE 제약 조건 - 참조테이블의 컬럼이 변경되거나 삭제될때 참조하는 테이블에서도 같이 데이터가 변경되거나 삭제되도록 설정을 하는것입니다. 이를통해 참조테이블에서 삭제된 컬럼을 참조하는것을 방지할 수 있습니다.
STUDENT
NAME | GRADE |
john | 2 |
cera | null |
tom | 4 |
GRADE
GRADE | GRADE_N |
1 | freshman |
2 | sophomore |
STUDENT 테이블의 GRADE가 GRADE테이블의 GRADE를 참조한다고 가정을 하겠습니다.
john은 2학년 cera 는 널값을가지고있는데 john은 참조테이블에 2가 있어서 괜찮고, cera는 널값이기에 괜찮습니다.
다만, tom는 참조테이블에 없는 값을 가지고 있기에 참조 무결성에 어긋나는 데이터입니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자동화
- 쿼리
- 배포
- 프로토콜
- 웹소켓
- 데이터베이스
- 서버
- 클라우드
- 네트워크
- JPA
- 컴퓨터구조
- 파인튜닝
- 스프링
- 깃
- DB
- 자바
- nat
- IP주소
- 도커
- 메세지큐
- 깃허브
- 데이터
- sql
- 테이블
- 포트포워딩
- 컨테이너
- 문법
- 인공지능
- 보안
- 소프트웨어공학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함