책 내용 질문하기
2권 61쪽 카티시언 프로덕트 질문드립니다.
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
61
조회수
271
작성일
2019-06-25
작성자
탈퇴*원
첨부파일

 

안녕하세요.

 

2권 61쪽.

카티시언 프로덕트에서 두 릴레이션을 곱했을 때 정렬은 어떻게 배치되는것인지 궁금합니다.

랜덤배열인지, 규칙이 존재하는지 알고 싶습니다.

 

이미지를 첨부합니다.

저렇게 배열도 가능한지 여쭙니다.

 

잘부탁드립니다.

 

 

 

답변
2019-06-26 10:36:28

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

 

불가능합니다.

 

A테이블과 B테이블의 카티션 곱을 수행한다고 가정했을 때,

A 테이블의 튜플 수 만큼 B 테이블의 튜플 수를 반복 수행합니다.

 

즉, A 1열 - B 1열, 2열, 3열, 4열 .... n열

A 2열 - B 1열, 2열, 3열, 4열 .... n열

A 3열 - B 1열, 2열, 3열, 4열 .... n열 

....

A m열 - B 1열, 2열, 3열, 4열 .... n열 

 

이렇게 말이죠.

 

1권에서 for 반복문을 배우셨다면 2중 for문을 생각하시면 됩니다.

 

for (A=1; A<=m; A++)

 for (B=1; B<=n; B++)

  결과 = A+B

 }

}

 

위와 같이 말이죠.

 

즉 회원님이 적으신 것과 같이 A, B 테이블의 값이 서로 다른 상황에서는, 카티션곱으로 생성되는 튜플들에서 중복되는 튜플이 발생할 여지는 없습니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-26 10:36:28

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

     

    불가능합니다.

     

    A테이블과 B테이블의 카티션 곱을 수행한다고 가정했을 때,

    A 테이블의 튜플 수 만큼 B 테이블의 튜플 수를 반복 수행합니다.

     

    즉, A 1열 - B 1열, 2열, 3열, 4열 .... n열

    A 2열 - B 1열, 2열, 3열, 4열 .... n열

    A 3열 - B 1열, 2열, 3열, 4열 .... n열 

    ....

    A m열 - B 1열, 2열, 3열, 4열 .... n열 

     

    이렇게 말이죠.

     

    1권에서 for 반복문을 배우셨다면 2중 for문을 생각하시면 됩니다.

     

    for (A=1; A<=m; A++)

     for (B=1; B<=n; B++)

      결과 = A+B

     }

    }

     

    위와 같이 말이죠.

     

    즉 회원님이 적으신 것과 같이 A, B 테이블의 값이 서로 다른 상황에서는, 카티션곱으로 생성되는 튜플들에서 중복되는 튜플이 발생할 여지는 없습니다.

     

    행복한 하루되세요 :)

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