pk에 대한 질문하나 드립니다. 0 5 1,801

by 준일정 [SQLServer] mssql mysql sql server pk primary key [2018.05.04 08:54:15]


한 테이블에 pk를 두개를 걸어 놓으면 

 

pk의 성질은 유니크 해야하고 not null 이어야 하는 조건이 없어지게 되나요?

 

 

 

by 케를로스 [2018.05.04 09:17:53]

제가 알기로는 한테이블의 PK는 하나만 지정되는것으로 알고있는데요

다중 컬럼을 PK로 지정한다는 말씀이신건가요??


by 준일정 [2018.05.04 09:27:48]

내 맞습니다 그럴 경우 해당 pk가 걸린 필드에 중복된 데이터가 들어 갈 수 있느냐 의 질문이었습니다.


by 케를로스 [2018.05.04 09:32:56]

동일하게 유니크해야하고 not null 조건이여야합니다

A, B 컬럼이 PK일 경우에

1, 1 값이 입력되어있는경우

1, 1 은 입력안되고

null, 1

1, null 값또한 무결성의 법칙에 의해서 입력이안됩니다.


by 우리집아찌 [2018.05.04 09:41:12]

PK는 해당 엔터티(TABLE)의 유일값이라 보시면 됩니다. 물론 NULL도 안됩니다.

속성(컬럼)은 여러개로 구성될수는 있습니다만 가급적 적은수가 좋겠지요.

http://wiki.gurubee.net/pages/viewpage.action?pageId=26743477


by 마농 [2018.05.08 09:02:11]

1. PK 가 두개가 아닙니다.
  - PK 는 한개이고
  - PK 를 구성하는 컬럼이 2개인거죠.
2. PK 구성 항목별로 유일해야 하는게 아닙니다.
  - 각각 항목별로 유일해야 하는게 아니고
  - 항목들의 묶음이 유일하면 됩니다.
  - "학년" 과 "반" 으로 구성된 PK 를 예로 들어 보면
  - 1학년 1반, 1학년 2반, 2학년 1반, 2학년 2반 이런 자료가 있으면
  - 학년만 보면 중복이고, 반만 보면 중복이지만
  - 학년과 반을 묶어서 보면 중복이 아닙니다.

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