[ DB / Oracle ] 기본키와 기본값 설정 (Primary key / default)
2024. 1. 10. 19:25ㆍ· LANGUAGE/└ Database
환경 : DBeaver
기본키(Primary Key)는 'NOT NULL UNIQUE'의 역할을 한다고 말할 수 있다. 널 값이 허용되지 않으며, 유일한 값이어야 한다. 그걸 더 명시적으로 표현해주는 단어라고 생각하면 된다. 테이블에 단 한 컬럼에만 설정할 수 있는 불변 값으로, 검색 속도를 높여주는데 도움을 준다. 테이블마다 기본키를 만드는 것을 권장하고 있다.
· 정리
- NULL값 허용되지 않음
- 테이블의 한 컬럼에만 설정할 수 있는 유일한 불변의 값
- 검색 속도가 빠름
- (추가) 테이블마다 기본키 생성 권장
아래는 PRIMARY KEY를 활용한 rocket테이블 생성 예시이다.
CREATE TABLE rocket(
rocket_no NUMBER PRIMARY key,
rocket_name varchar2(60) NOT NULL, -- 이름이 같아도 됨! why? 번호가 중복되지 않기 때문!
rocket_type varchar2(21) NOT NULL
);
만약, 여기서 rocket_type의 값이 입력되지 않았을 때, 자동으로 '로켓' 이라고 설정해주고 싶다면 DEFALUT를 사용해주면 된다.
rocket_type varchar2(21) default '로켓' NOT NULL
위와 같이 설정해주면 '기본값'이 '로켓'으로 설정된다.
값을 넣어 확인해보면, 아래와 같은 결과가 출력된다.
INSERT INTO rocket(rocket_no, rocket_name, rocket_type) VALUES (1, '로켓1', '짱빠름');
INSERT INTO rocket(rocket_no, rocket_name, rocket_type) VALUES (2, '로켓2', '느림');
INSERT INTO rocket(rocket_no, rocket_name) VALUES (3, '로켓3'); -- default '로켓' 확인 데이터
SELECT * FROM rocket;
3번 로켓의 rocket_type에 디폴트 값이 들어온 것을 확인할 수 있다.
개인 공부 기록용입니다:)
728x90
'· LANGUAGE > └ Database' 카테고리의 다른 글
[ DB / Oracle ] 시퀀스 옵션 'NOCACHE' (0) | 2024.01.12 |
---|---|
[ DB / Oracle ] 시퀀스(SEQUENCE) (0) | 2024.01.11 |
[ DB / Oracle ] 제약 조건 사용, 나머지 연산(MOD()) (0) | 2024.01.09 |
[ DB / Oracle ] 테이블 생성 시 제약 조건 사용해보기 + 정규표현식 (2) | 2024.01.09 |
[ DB / Oracle ] 테이블 제약조건(Table Constraint) (0) | 2024.01.08 |