정보시스템 감리 기출해설/데이터베이스 해설

(제 23회) 데이터베이스 / (55)~(56) 해설

아이티신비 2024. 9. 26. 09:00

55. 다음의 릴레이션 address와 이에 대한 함수적 종속들이 다음과 같이 정의되었다. 이것의 정규형과 관련된 설명 중에서 옳지 않은 것은?

 
address (street, city, state, zipcode)
함수적 종속: street → (city, state)
zipcode → city
(city, state) → zipcode

① street는 후보키이다.

② 릴레이션 address는 제2 정규형이다.

③ 릴레 이 션 ad d re s s에 대 한 제 3 정 규 형 은 R1=(street, city, state), R2=(city, state, zipcode) 이다.

④ 릴레 이 션 address에 대 한 BCNF 정 규 형 은 R1 = (street, city), R2 = (city, state), R3 = (city, state, zipcode) 이다.

 

▣ 해설

① street는 후보키이다.

② 릴레이션 address는 제2 정규형이다.

③ 릴레 이 션 ad d re s s에 대 한 제 3 정 규 형 은 R1=(street, city, state), R2=(city, state, zipcode) 이다.

④ 릴레 이 션 address에 대 한 BCNF 정 규 형 은 R1 = (street, city), R2 = (city, state), R3 = (city, state, zipcode) 이다.

 

→ BCNF 정규형으로 변환하면, R3(zipcode, city), R1=(street, city, state), R2=(state, zipcode) 가 되어야 함

 

정답 : ④

 

 

56. 다음과 같은 고객 릴레이션과 주문 릴레이션이 있다고 하자.

고객

 

주문


고객 릴레이션의 기본키는 고객아이디이고, 주문 릴레이션의 주문고객은 고객 릴레이션의 고객아이디를 참조하는 외래 키이다. 다음 중 참조 무결성 제약조건을 위반하는 경우로만 모두 고른 것은? (단, 삭제 연산시 NO ACTION을 적용한다.)

 
가. 주문 릴레이션에 주문번호 ‘1003’인 투플을 삽입하면서 주문고객으로 ‘C004’를 입력
나. 주문 릴레이션에 주문번호 ‘1003’인 투플을 삽입하면서 주문고객으로 NULL을 입력
다. 고객 릴레이션에서 고객아이디가 ‘C001’인 투플을 삭제
라. 고객 릴레이션에서 고객아이디가 ‘C003’인 투플을 삭제

① 가, 다 ② 가, 라

③ 나, 다 ④ 나, 라

 

▣ 해설

 
무결성 제약
기본개념
참조 무결성
(Referential Integrity)
외래키 값은 그 외래키가 기본키로 사용된 Relation 의 기본키 값이거나 널(Null) 값일 것, 릴레이션의 외래키 속성은 참조할 수 없는 값을 가질 수 없음

 

 
고객
고객아이디
고객이름
등급
가. 주문 릴레이션에 주문번호 '1003' 인 투플을 삽입하면서 주문고객으로 C004 를 입력(위반)
→ 없는 고객이 주문을 할 수 없음


나. 주문 릴레이션에 주문번호 '1003'인 투플을 삽입하면서 주문고객으로 NULL을 입력(애매함)
→ 가능할 수 는 있음


다. 고객 릴레이션에서 고객아이디가 'C001'인 투플을 삭제(위반)
→ 주문테이블에 있는 고객 ID를 삭제할 수 없음


라. 고객 릴레이션에서 고객아이디가 'C003' 인 투플을 삭제(정상)
→ 삭제 가능
C001
Kim
23
C002
Park
35
C003
Lee
27
주문
주문번호
주문고객
주문제품
1001
C0002
피자
1002
C0001
치킨

 

<참조무결성 제약 시 연산 종속성>

→ 주문 릴레이션은 고객 릴레이션에 종속

 

정답 : ①

 





 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥