💾 디스켓에 저장

Oracle SQL Primary Key, Foreign Key 설정하기

잘될고양 2023. 7. 6. 12:56

* 테이블에 특정 컬럼의 값들을 고유한 값만 유지하고자 할 때 Primary Key(PK)를 사용*

-- 고유한 값을 유지하기 위한 데이터베이스 제약조건 중 한가지 : PK

-- PK 제약 조건은 테이블 생성시에 만들어야 함

-- 데이터 입력시 같은 값은 못 넣음 ex) 아이디 중복불가

-- Create로 테이블 생성할때 설정가능

-- Alter로 추가가능

 


*Create로 추가하기*

Create Table 테이블명(
    컬럼명   타입(사이즈)     not null     Primary Key
);

또는

Create Table 테이블명(
    컬럼명   타입(사이즈)     not null,
      Constraint pk_테이블명_컬럼명 Primary Key (컬럼명)
);

-- Constraint : 제약조건

 


 

*Alter로 추가하기*

ALTER TABLE 테이블명 add (
                                    // 만들컬럼명은(pk_테이블_컬럼)
                                    // key는 primary key, 
foreign key 중에 설정
            CONSTRAINT   만들컬럼명   Primary Key(컬럼명)     
                                           References  테이블명(컬럼명));

-- References -> 바라보는 곳 설정하기

 

 

 

 

* 나 자신의 테이블이 다른 테이블의 PK를 참조하고자 할 때 FOREIGN KEY(FK)를 사용 *
 -- FK가 있는 쪽을 자식 테이블, PK가 있는 쪽을 부모테이블이라고 함
 -- FK가 있는 쪽의 테이블이 참조하는 부모쪽 테이블에는 PK로 정의되어 있어야함
 -- 참조키 또는 외래키라고 칭함.
 -- 데이터베이스의 핵심 개념(관계)
 -- 테이블 생성시에 PK, FK를 정의함.(FK는 자식테이블에서만 만든다.)
 -- FK가 지정된 컬럼에 저장되는 값은 부모의 값이 없으면 저장될 수 없음(DB가 오류 발생시킴)
 -- 데이터베이스의 관계 연동시에는 PK,FK 제약이 아니라도 값이 일치하면 가능함

 

반응형