'관계해석'에 해당되는 글 1건

  1. 2009.03.12 [DataBase] 문제풀이 5장 2

[DataBase] 문제풀이 5장

DB 2009. 3. 12. 21:49

5.1 관계 대수의 연산들과 각각의 목적을 나열하라.
셀렉트 - 릴레이션으로부터 선택 조건을 만족하는 모든 투플들을 선택.
프로젝트 - 릴레이션의 애트리뷰트들 중에서 애트리뷰트들로 이루어지는 새로운 릴레이션을 생성하고 중복 투플들을 제거한다.
세타조인 - 릴레이션1과 릴레이션2로부터 조인 조건을 만족하는 투플들의 조합을 생성한다.
동등조인 - 릴레이션1과 릴레이션2로부터 동등(=) 비교로 명시된 조인 조건을 만족하는 투플들의 조합을 생성한다.
자연조인 - 릴레이션2의 조인 애트리뷰트들이 결과 릴레이션에 포함되지 않는다는 점을 제외하면 동등조인과 같다. 조인 애트리뷰트의 이름이 같으면 지정하지 않아도 된다.
합집합 - 릴레이션1 또는 릴레이션2 또는 릴레이션1과 릴레이션2 모두에 포함되는 모든 투플의 릴레이션을 생성한다. 릴레이션1과 릴레이션2는 합집합 호환성을 가져야 한다.
교집합 - 릴레이션1과 릴레이션2 모두에 포함되는 모든 투플의 릴레이션을 생성한다. 릴레이션1과 릴레이션2는 합집합 호환성을 가져야 한다.
차집합 - 릴레이션1에는 포함되나 릴레이션2에는 포함되지 않는 모든 투플의 릴레이션을 생성한다. 릴레이션1과 릴레이션2는 합집합 호환성을 가져야 한다.
카티션프로덕트 - 릴레이션1과 릴레이션2의 애트리뷰트로 이루어진 릴레이션을 생성하고 릴레이션1과 릴레이션2의 투플들의 모든 가능한 조합의 투플들을 포함시킨다.
디비전 - R2(Y)의 모든 투플과의 조합으로 R1에 나타나는 R1(Z)의 모든 t[X] 투플을 포함하는 릴레이션 R(X)를 생성한다. 여기서 Z=X∪Y이다.

5.2 합집합 호환성이 무엇인가? 합집합, 교집합, 차집합 연산이 적용될 릴레이션들이 합집합 호환성을 가져야 하는 이유는 무엇인가?
연산들이 관계데이터베이스에 적용될 때는 위의 세 연산을 적용하고자 하는 두 릴레이션이 같은 타입의 투플들을 가져야 한다. 두 릴레이션의 애트리뷰트 수가 같고 각각의 대응되는 애트리뷰트들 간의 도메인이 같아야 한다. 그렇지 않으면 연산을 할 수가 없다.

5.3 질의를 모호하지 않게 표현하기 위하여 애트리뷰트의 이름 변경이 필요한 질의 유형을 설명하라.
자연 조인의 표준적인 정의는 두 개의 조인 애트리뷰트의 이름이 양쪽 릴레이션에서 같을 것을 요구한다. 그렇지 않은 경우는 먼저 이름이 같도록 해야 한다. 자연 조인이 명시된 두 릴레이션의 애트리뷰트의 이름이 이미 같으면 이름을 바꿀 필요가 없다.

5.4 내부 조인 연산의 여러 가지 유형을 설명하라. 왜 세타 조인이 필요한가?
세타조인 - 일반적인 조인 조건을 가진 조인 연산. 조인 애트리뷰트의 값이 널이거나 조인 조건이 거짓인 투플들은 결과에 나타나지 않는다.
동등조인 - 동등 비교 연산자만 사용한 조인.
자연조인 - 두 개의 조인 애트리뷰트의 이름이 양쪽 릴레이션에서 같을 때 비교하는 조인.

5.5 가장 흔한 형태의 의미 있는 조인 연산을 표현할 때 외래키의 개념은 어떤 역할을 하는가?
참조되는 릴레이션에 대응되는 투플을 찾는 데 중요한 역할을 한다.

5.6 FUNCTION 연산이 무엇인가? 왜 필요한가?
수치 값들의 모임에 적용되는 일반적인 함수로 SUM, AVERAGE, MAXIMUM, MINIMUM 등이 있다.
기본적인 관계 대수로 표현하지 못하는 요구가 있을 때 사용한다.

5.7 외부 조인 연산이 (내부)조인 연산과 어떻게 다른가? 외부 합집합 연산은 합집합 연산과 어떻게 다른가?
다른 릴레이션에 적합한 투플이 존재하든 존재하지 않든 R의 모든 투플 또는 S의 모든 투플 또는 R과 S의 모든 투플들을 조인 결과에 포함시키는 연산이다. 이것은 두 릴레이션에서 대응되는 투플들을 결합하면서 대응되는 값을 갖지 않는 투플들도 결과에 포함시키고 싶은 질의에 사용된다. 대응되는 투플만을 결과에 포함시키는 조인 연산을 내부 조인이라고 부른다.
외부 합집합 연산은 합집합 호환성이 없는 두 릴레이션에 대한 합집합을 수행하기 위해 제안되었다.

5.8 관계 해석과 관계 대수의 차이점과 유사점을 논하라.
관계 대수가 관계 모델을 위한 연산의 집합을 정의하지만 관계 해석은 관계 질의를 나타내기 위한, 보다 상위 레벨의 선언적 표기법을 제공한다. 관계 대수는 검색 요청을 나타내는 연산을 순차적으로 명시하는 절차적 언어이고 관계 해석은 비절차적 언어이다.

5.9 투플 관계 해석과 도메인 관계 해석의 차이점과 유사점을 논하라.
도메인 해석과 투플 해석은 사용되는 변수들의 유형이 다르다. 즉, 도메인 해석에서 변수의 범위는 투플이 아니라 애트리뷰트의 도메인에 속한 값이다.

5.10 존재 정량자(∃)와 전체 정량자(∀)의 의미를 설명하라.
전체 정량자 - 모든 것에 대하여 for every
for every x, P(x) => ∀x, P(x)
D(domain of discourse)를 가지는 명제함수 P가 있을 때, D안의 모든 x에 대하여 함수 P(x)가 참이면 참이다.
즉, 하나의 x에 대해서 함수 P(x)가 거짓이면 문장은 거짓이다.

존재 정량자 - 일부분에 대하여 for some
for some x, P(x) => ∃x, P(x)
D안의 적어도 하나의 x에 대해서 함수 P(x)가 참이면 참이다. 즉, 모든 x에 대해서 함수 P(x)가 거짓이어야 문장은 거짓이다.

5.11 투플 해석과 관련된 다음 용어들을 정의하라.
투플 변수 - 데이터베이스 릴레이션을 범위로 하는 값.
범위 릴레이션 - 투플 변수 t에 대한 릴레이션 범위.
원자 - 투플들의 특정한 조합에 대해서 참이나 거짓으로 계산된다.
식(formula) - COND, 투플 관계 해석의 조건.
표현식(expression) - {t1.Ai, t2.Ak, ..., tn.Am | COND(t1, t2, ..., tn, tn+1, ..., tn+m)}

5.12 도메인 해석과 관련된 다음 용어들을 정의하라.
도메인 변수 - 어떤 질의의 결과로 차수 n인 릴레이션을 생성하기 위해서 각 애트리뷰트마다 하나씩, 총 n개의 변수가 필요하다.
범위 릴레이션 - 애트리뷰트의 도메인에 속한 값.
원자 - 투플 해석과 마찬가지로 값들의 특정 집합에 대해서 참이거나 거짓으로 계산된다.
식 - COND, 도메인 관계 해석의 조건.
연산식 - {x1, x2, ..., xn | COND(x1, x2, ..., xn, xn+1, ..., xn+m)}

5.13 관계 해석에서 안전식의 의미는 무엇인가?
유한 개의 투플을 결과로 생성하는 것이 보장된 식.

5.14 질의어가 관계적으로 완전하다는 의미는 무엇인가?
어떤 관게 질의어 L이 있을 때 관계 해석으로 표현이 가능한 어떤 질의어 L로 표현이 가능하면 L을 관계적으로 완전한 언어라고 한다.

Posted by zeide
,