테이블 생성시 PK 두개 잡는법 질문드립니다. 0 4 19,318

by 순서기 [SQL Query] [2015.07.24 15:22:07]


CREATE TABLE BOOKMARK_FOLDER (
    USER_ID VARCHAR2(30) PRIMARY KEY,
    FOLDER_NO NUMBER PRIMARY KEY,
    FOLDER_NAME VARCHAR2(100)
);

 

이렇게 썻을때는 오직 하나의 PK를 가질수 있다고 나오는데

다른 방법이 있나요?

by 쿼리back [2015.07.24 16:00:50]
CREATE TABLE BOOKMARK_FOLDER (
    USER_ID VARCHAR2(30) ,
    FOLDER_NO NUMBER ,
    FOLDER_NAME VARCHAR2(100),
    CONSTRAINT pk명  PRIMARY KEY (USER_ID,FOLDER_NO)
);

 


by 순서기 [2015.07.24 16:35:37]

감사합니다.


by 아발란체 [2015.07.29 10:15:13]

근데 정확히 복합키를 만드는 것이지 PK가 2개라는 것은 모호한 표현입니다용~.

테이블에 PK 2개는 생성 할 수 없기 때문에, PK 2개 잡는법이라기 보다 PK를 여러 속성으로 만드는 방법이 보다 정확한 표현이 될 것 같습니다용~

 


by 마농 [2015.07.29 10:35:06]

책에 나오는 "테이블은 오직 하나의 PK를 가질수 있다"라는 표현은 정확한 표현입니다.
그런데 이걸 "PK 는 오직 하나의 컬럼만 가질수 있다"라고 곡해하는 분들이 많더군요.
곡해의 결과는 2가지로 형태로 나오게 됩니다.
1. "전문가가 쓴 책이 틀렸네" 라고 비판하는 부류.
2. "PK 는 오직 컬럼 한개만 가질 수 있어" 라고 철썩 같이 믿는 부류.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입