책 내용 질문하기
키에 관해 질문드립니다 (슈퍼키, 기본키)
도서
2021 시나공 정보처리기사 실기
페이지
181,182
조회수
322
작성일
2022-04-06
작성자
탈퇴*원
첨부파일

section41 . 키에 관한 내용

QR코드로 해당 섹션에 대한 동영상 강의를 시청하다가 헷갈려서 문의드립니다.

 

동영상강의 6:10초 부터의 부분에서

학번, 과목명 각 개별로는 기본키로 사용할 수 없지만

학번+과목명을 묶어서 기본키로 사용이 가능하다고 설명을 해주십니다.

 

같은 영상 12:40초 설명부터 속성 두개 이상을 묶어 사용하는 것을 슈퍼키라고 한다고 하는데,

슈퍼키는 최소성을 만족시키지 못하기때문에 기본키,후보키가 될 수 없잖아요??

 

그럼 6:10초에서 설명했던 부분에서 학번+과목명을 합치면 이게 슈퍼키가 되는게 아닌가요? 

왜 학번+과목명이 기본키로 사용가능하다고 말씀하신건지, 아니면 이게 슈퍼키가 아닌건지요..?ㅠㅠ

 

제 질문이 이해가 되실지 모르겠는데ㅠㅠ 정리하면..

 

section41  동영상 강의의 


앞부분에서는 두개의 속성을 묶어 기본키로 사용가능하다

뒷부분에서는 슈퍼키는 기본키로 사용이 불가하다


이렇게 설명을 해주셔서 헷갈립니다.

 

제가 어떻게 이해하면 될까요???

 

 

 

답변
2022-04-07 10:07:22

안녕하세요 길벗수험서 운영팀입니다.

 

2개의 속성을 묶어 하나의 키로 사용할 수 있습니다.

2개 이상의 속성을 묶어 키로 만든 것을 복합키라고 하며, 이는 기본키도, 슈퍼키도 될 수 있습니다.

기본키는 최소성, 유일성을 만족하는 키입니다.

슈퍼키는 최소성을 만족하지 못하는 키입니다. (여기서 최소성을 만족시키지 못하는 경우는 복합키밖에 없습니다.)

 

즉, 복합키는 유일성과 최소성을 만족시키는 경우 기본키로 사용될 수 있으며, 이중 최소성을 만족시키지 못한다면 슈퍼키에 속하게 된다.

가 정확한 표현입니다.

 

이건 테이블 예제가 있어야 이해가 쉬운데 191, 192쪽의 두 테이블 <수강>, <학생>을 예시로 들어볼께요.

<수강> 테이블의 경우 학번과 과목번호가 복합키이자 기본키로 활용되고 있습니다.

학번만 따로 뽑아서 기본키로 활용이 가능한가, 과목번호만 따로 뽑아서 기본키로 활용이 가능한가 체크해보세요.

불가능하죠. 단일로 사용하기에는 중복되는 데이터가 있으므로 사용이 불가능합니다. 이는 유일성과 최소성을 만족한다는 의미입니다.

 

반면, <학생> 테이블에서 (기존의 키는 무시하고) 학번과 학년으로 복합키를 생성했다고 가정해보죠.

학년은 중복되는 데이터가 있어 기본키로 사용할 수 없지만, 학번은 모두 다른 값을 갖고 있으므로 기본키로 활용할 수 있습니다.

즉, 굳이 (학번, 학년) 복합키를 사용하지 않더라도 (학번) 만으로 기본키 생성이 가능하다는 거죠.

이 때 (학번, 학년) 복합키는 최소성을 만족하지 못한다고 할 수 있고, 이 것을 슈퍼키라고 칭할 수 있게 됩니다.

 

이 정도면 이해가 되셨는지 모르겠네요.

 

행복한 하루되세요 :)

 

  • 관리자
    2022-04-07 10:07:22

    안녕하세요 길벗수험서 운영팀입니다.

     

    2개의 속성을 묶어 하나의 키로 사용할 수 있습니다.

    2개 이상의 속성을 묶어 키로 만든 것을 복합키라고 하며, 이는 기본키도, 슈퍼키도 될 수 있습니다.

    기본키는 최소성, 유일성을 만족하는 키입니다.

    슈퍼키는 최소성을 만족하지 못하는 키입니다. (여기서 최소성을 만족시키지 못하는 경우는 복합키밖에 없습니다.)

     

    즉, 복합키는 유일성과 최소성을 만족시키는 경우 기본키로 사용될 수 있으며, 이중 최소성을 만족시키지 못한다면 슈퍼키에 속하게 된다.

    가 정확한 표현입니다.

     

    이건 테이블 예제가 있어야 이해가 쉬운데 191, 192쪽의 두 테이블 <수강>, <학생>을 예시로 들어볼께요.

    <수강> 테이블의 경우 학번과 과목번호가 복합키이자 기본키로 활용되고 있습니다.

    학번만 따로 뽑아서 기본키로 활용이 가능한가, 과목번호만 따로 뽑아서 기본키로 활용이 가능한가 체크해보세요.

    불가능하죠. 단일로 사용하기에는 중복되는 데이터가 있으므로 사용이 불가능합니다. 이는 유일성과 최소성을 만족한다는 의미입니다.

     

    반면, <학생> 테이블에서 (기존의 키는 무시하고) 학번과 학년으로 복합키를 생성했다고 가정해보죠.

    학년은 중복되는 데이터가 있어 기본키로 사용할 수 없지만, 학번은 모두 다른 값을 갖고 있으므로 기본키로 활용할 수 있습니다.

    즉, 굳이 (학번, 학년) 복합키를 사용하지 않더라도 (학번) 만으로 기본키 생성이 가능하다는 거죠.

    이 때 (학번, 학년) 복합키는 최소성을 만족하지 못한다고 할 수 있고, 이 것을 슈퍼키라고 칭할 수 있게 됩니다.

     

    이 정도면 이해가 되셨는지 모르겠네요.

     

    행복한 하루되세요 :)

     

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.