-
[한기교] SQL 활용 필기(5) - 제약조건 상세비전공자 공부일기/:: DB - SQL 2020. 5. 2. 19:57
< 제약조건 >
ㅁ 데이터 무결성
NOT NULL
: NULL값 허용 불가
UNIQUE
: 하나의 테이블 내에서 한번만 나옴
주로 대체키 설정 시 사용됨
PRIMARY KEY
: 기본키
= UNIQUE + NOT NULL
서로 같을 수 없으며 / NULL값 허용 X
FOREIGN KEY
: 외래키
CHECK
: 도메인 무결성
ㅁ 제약조건의 설정
테이블을 만들 때 속성에 제약 조건 지정하기
CREATE TABLE 테이블명 (속성명 속성타입 [[제약조건명] 제약조건] 속성명 속성타입, ... )
ㅁ 참조 무결성 제약조건
- 외래키 값은 다른 테이블의 기본키 값들 중에 하나여야 함
속성명 [CONSTRAINTS 제약조건명] REFERENCE 참조테이블명(속성명)
ㅁ 도메인 무결성 제약조건
: 입력 값의 제한 --- CHECK
속성명 속성타입 CHECK (조건)
ex)
birthYear int CHECK (birthYear >= 1900)
Age int CHECK (Age between 1 and 150)
ㅁ 테이블 수준 제약조건
- 속성 단위로 제약조건 설정을 설정하는 것은 표현의 제약이 따름
--- 복합키(여러 개의 속성이 합쳐진 키)를 쓰는 경우 등 상황에서 테이블 수준 제약조건 필요
CREATE TABLE 테이블명) 속성명 속성타입 ... [CONSTRAINT 제약조건명] 제약조건(속성명) )
< 제약조건 변경 >
ㅁ 제약조건의 추가 및 제거
- 테이블을 생성한 후에 제약조건을 추가하거나 제거해야 할 때가 있음
- 제약조건도 테이블의 구조 정보에 속하므로 ALTER TABLE을 이용함
- 제약조건 이름을 지정해두어야 추가나 제거가 쉬움
추가: ADD CONSTRAINT
ALTER TABLE 테이블명 ADD [CONSTRAINT 제약조건명] 제약조건 (속성명)
제거: DROP CONSTRAINT
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명
'비전공자 공부일기 > :: DB - SQL' 카테고리의 다른 글
[한기교] SQL 활용 필기(7) - DML (INSERT, UPDATE, DELETE) (0) 2020.05.03 [한기교] SQL 활용 필기(6) - 데이터 검색 (0) 2020.05.03 [한기교] SQL 활용 필기(4) - 데이터 구조 (0) 2020.05.02 [한기교] SQL 활용 필기(3) - SQL 기본구문 (0) 2020.05.02 [한기교] SQL 활용 필기(2) - 데이터모델, 제약조건 (0) 2020.05.02