일대일 관계를 릴레이션으로 변환하게 되면 서로의 기본키를 서로에게 외래키로 주고 받고 관계의 속성도
서로 갖는 걸로 알고 있습니다. 근데 외래키를 서로 주고 받는 경우에데이터의 일관성이 깨질 수 있는 상황이
발생 할 수 있을 것 같습니다.
예를 들면 고객(고객아이디(PK),이름,주문번호(FK)) 주문(주문번호(PK),주문제품,고객아이디(FK))
일대일 관계에서 서로의 기본키를 외래키로 주고 받은 상황에서 고객 릴레이션에서
GILDING2, 홍길동, 2 라는 투플이 있을때 주문 릴레이션에서 2, 애플 노트북 , NAVERJOA2 라는 투플이 삽입이되면
데이터의 일관성이 깨지는데 어떤 이유에서 데이터의 중복과 일관성이 깨질 수 있음에도
일대일 관계의 릴레이션 스키마 변환이 서로의 기본키를 외래키로 주고 받는 형식으로 되는지 모르겠습니다.
투플이 더 적은 릴레이션이 더 많은 릴레이션의 기본키를 외래키로 받아서 null이 최소한으로 발생하는 쪽으로
한 쪽 릴레이션에서만 기본키를 외래키로 받으면 중복 , 일관성 문제도 일어 날 것 같지 않은데요..
제가 말하는 일대일 관계는 양쪽이 필수참여가 아닌 일반적인 11 선택참여 관계입니다. |