글

라벨이 foreign key인 게시물 표시

데이터베이스 - 제약조건 종류

이미지
제약 조건 종류 not null 조건 not null 제약 조건은 해당 칼럼에 대해서 null값이 입력되지 않도록 제한한다. 그리고 not null 제약 조건의 경우에는 칼럼 수준에서만 이를 지정할 수 있다. 두 개의 제약조건을 만들고, 테이블을 생성하였다. 이 때, s_name에 대해서는 not null이라는 제약을 걸면서 제약조건의 이름을 정하지 않았지만, s_hiredate에 동일하게 not null이라는 제약조건을 걸지만 이에 대해서 이름을 지정해주었다. 이제 데이터를 삽입해보겠다. 먼저 정상적인 데이터를 삽입해본다. 다음은 제약조건에 어긋나는 데이터를 삽입해 보겠다. 이제 제약 조건에 대해서 user_constraints 테이블로부터 가져와보도록 하자. 하나의 제약 조건은 sys_c0010321이라는 이름으로 저장되어 있고, 나머지 하나는 sawon_s_hiredate_nn이라는 우리가 지정해준 이름으로 제약 조건이 저장되어 있다. 전자의 경우 이것이 무엇을 의미하는 제약 조건인지 알 수 없기 때문에 관리하는데 어려움이 있다. 따라서 제약 조건의 이름을 지정해주는 것이 관리하는데 유리하다. 게다가 제약조건의 타입이 C로 설정되어 있는데, 이는 뒤에서 배우겠지만 check 조건을 의미한다. unique 조건 unique 제약조건은 칼럼에 중복된 값이 입력되지 않도록 제한한다.  unique 조건을 연습하기 위해서 다음처럼 테이블을 하나 만들자. 이 때 부서번호에 대해서 unique 제약조건을 걸어둔다. 그리고 이를 확인하기 위해 다음처럼 행 데이터들을 삽입해보자. 중복된 부서번호 입력 시 제약 조건 위배라는 오류 메시지가 출력되고 있음을 확인할 수 있다. 이렇게 중복된 데이터에 대해서는 unique 조건이 적용되고 있는데, null값에 대해서는 어떨까? 부서 번호가 null 행 데이터를 두 개 삽입했다. null이라는 것은 중복 검사의 대...