다음 수강 릴레이션에 대한 설명으로 옳지 않은 것은? (단, 수강 릴레… | [7급 국가직 데이터베이스론] 22년 1회차 기출문제 상세 페이지
1[7급 국가직 데이터베이스론] 22년 1회차
다음 수강 릴레이션에 대한 설명으로 옳지 않은 것은? (단, 수강 릴레이션에 기본키가 설정되어 있으며, 한 강사는 한 과목만 강의할 수 있고, 한 학생은 서로 다른 한 개 이상의 과목들을 수강할 수 있다)
수강
| 학번 | 강사명 | 과목명 |
|---|---|---|
| 100 | John | 데이터베이스 |
| 100 | Marry | 네트워크 |
| 200 | Jeremy | 데이터베이스 |
| 300 | Iaan | 인공지능 |
| 300 | John | 데이터베이스 |
1
{강사명, 과목명}은 후보키가 아니다.2
강사 ‘James’가 강의할 ‘빅데이터’ 과목을 신설하는 경우 수강 학생이 없이 투플을 삽입할 수 있다.
3
학번이 100인 학생이 ‘네트워크’ 과목 수강을 취소하여 그 수강 투플이 삭제되는 경우, ‘네트워크’ 과목의 강사명도 함께 사라진다.
4
‘데이터베이스’ 과목의 강사를 ‘John’에서 ‘Tony’로 변경한다면, ‘John’이 강의하는 과목을 수강하는 모든 학생의 강사명을 수정해야 한다.
해설
수강 학생 없이 '빅데이터' 과목 투플을 삽입할 수 있다는 설명이 틀렸다. 기본키에 포함된 학번에 NULL을 넣을 수 없어 삽입할 수 없는 삽입 이상이 생긴다.
한 강사는 한 과목만 맡으므로 강사명→과목명이 성립하고, 후보키는 {학번, 강사명}·{학번, 과목명}으로 모두 학번을 포함한다. 개체 무결성상 기본키 속성은 NULL일 수 없다.
- {강사명, 과목명}: John·데이터베이스 조합이 두 투플에 나타나 유일성을 만족하지 못하므로 후보키가 아니다.
- 네트워크 수강 취소: Marry·네트워크 정보가 그 투플에만 있어 함께 사라지는 삭제 이상이므로 옳다.
- 데이터베이스 강사 변경: John 정보가 여러 투플에 중복되어 모두 고쳐야 하는 갱신 이상이므로 옳다.
오류나 개정된 내용이 보이면 알려주세요