51페이지에 슈퍼키를 설명하는 문장 중에
'릴레이션을 구성하는 모든 튜플 중 슈퍼 키로 구성된 속성의 집합과 동일한 값은 나타나지 않는다.'라는 문장이 와닿지가 않네요
예를 들어서 설명 듣고 싶습니다.
추가 질문) 참조 무결성의 정의를 보면 '외래 키 값은 NULL이거나 참조 릴레이션의 기본 키 값과 동일해야 한다는 규정'이라 나와있는데
외래 키는 NULL 값을 가질 수 있다는 건가요? 외래 키가 참조하는 기본 키는 개체 무결성으로 NULL 값을 가질 수 없는데,
그 기본 키를 참조하는 외래 키에는 NULL 값이 가능한게 모순 같은데 제가 잘못 이해하고 있는 건지 모르겠습니다 보충 설명 부탁드립니다.
안녕하세요 길벗수험서 운영팀입니다.
해당 문장은 단순히 유일성을 설명하는 문장입니다.
51쪽의 <학생> 테이블을 예로 들었을 때,
(학번, 주민등록번호) 로 이루어진 슈퍼키가 존재한다고 가정했을 때,
(050021, 790806-1234567) 이라는 값은 해당 테이블 내에서 동일한 다른 값이 존재해서는 안된다는 유일성을 의미합니다.
--------
(추가질문)
외래키의 NULL 여부는 논란이 되는 문제 중의 하나입니다.
1 강남
2 강북
3 강서
4 강동
이렇게 테이블이 하나 있고 여기서 두번째 속성들을 외래키로 가져와 아래 테이블을 만든다고 가정해보세요.
강남 홍길동
강서 성춘향
NULL 임꺽정
여기서 NULL은 '값이 없음'이라는 의미보다는 '외래키 속성을 가져오지 않음'을 뜻합니다. NULL은 한 번만 쓰이게 됨으로써 첫번째 속성은 유일성과 최소성을 만족하게 되어버리죠.
(이 경우 NULL은 2회 이상 들어가지 못합니다.)
이렇게 외래키에 널이 쓰이는 경우가 존재한다는 점만 알아두세요.
행복한 하루되세요 :)
-
관리자2019-09-09 11:51:59
안녕하세요 길벗수험서 운영팀입니다.
해당 문장은 단순히 유일성을 설명하는 문장입니다.
51쪽의 <학생> 테이블을 예로 들었을 때,
(학번, 주민등록번호) 로 이루어진 슈퍼키가 존재한다고 가정했을 때,
(050021, 790806-1234567) 이라는 값은 해당 테이블 내에서 동일한 다른 값이 존재해서는 안된다는 유일성을 의미합니다.
--------
(추가질문)
외래키의 NULL 여부는 논란이 되는 문제 중의 하나입니다.
1 강남
2 강북
3 강서
4 강동
이렇게 테이블이 하나 있고 여기서 두번째 속성들을 외래키로 가져와 아래 테이블을 만든다고 가정해보세요.
강남 홍길동
강서 성춘향
NULL 임꺽정
여기서 NULL은 '값이 없음'이라는 의미보다는 '외래키 속성을 가져오지 않음'을 뜻합니다. NULL은 한 번만 쓰이게 됨으로써 첫번째 속성은 유일성과 최소성을 만족하게 되어버리죠.
(이 경우 NULL은 2회 이상 들어가지 못합니다.)
이렇게 외래키에 널이 쓰이는 경우가 존재한다는 점만 알아두세요.
행복한 하루되세요 :)