[ 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