'트랜잭션'에 해당되는 글 1건

  1. 2009.03.11 [DataBase] 문제풀이 4장

[DataBase] 문제풀이 4장

DB 2009. 3. 11. 22:03

4.1 다음 용어들을 정리하여라.
도메인 - 더 이상 나누어질 수 없는 값들의 집합. 이름, 데이터 타입, 포맷을 가진다.
애트리뷰트 - 열의 제목
n-투플 - n 개의 값의 순서 리스트.
릴레이션 스키마 - 릴레이션 이름과 애트리뷰트로 구성, 릴레이션을 표현하기 위해 사용된다.
릴레이션 상태 - n-투플의 집합.
릴레이션의 차수 - 릴레이션 스키마의 애트리뷰트 수.
관계 데이터베이스 스키마 - 릴레이션 스키마의 집합과 무결성 제약조건들의 교집합이다.
관계 데이터베이스 상태 - 무결성 제약조건을 만족하는 릴레이션 상태들의 집합.

4.2 릴레이션의 투플들에 순서가 없는 이유는 무엇인가?
릴레이션은 투플들의 집합으로 정의된다. 수학적으로 집합의 원소들 사이에는 순서가 없다. 따라서 릴레이션에서도 투플들은 특정 순서를 갖지 않는다.

4.3 릴레이션에 중복 투플들이 허용되지 않는 이유는 무엇인가?
집합의 모든 원소는 중복되지 않으므로 이 정의에 의하면 릴레이션의 모든 투플도 중복되지 않아야 한다.

4.4 키와 슈퍼키의 차이점은 무엇인가?
슈퍼키는 같은 값을 가지는 서로 다른 투플이 존재하지 않는다는 유일성 제약 조건을 명시한다. 그러므로 모든 릴레이션은 적어도 하나의 슈퍼키를 갖는다. 그러나 슈퍼키는 중복되는 애트리뷰트들을 가질 수 있으므로 이런 중복성을 갖지 않는 개념이 필요한데 그것이 키이다. 키와 슈퍼키에 적용되는 조건은 서로 다른 두 투플은 동일한 키 애트리뷰트 값을 가질 수 없다는 것이다. 키는 최소의 슈퍼키이다. 그리고 일반적으로 단일 애트리뷰트의 슈퍼키는 키이다.

4.5 릴레이션의 후보키들 중의 하나를 기본키로 지정하는 이유는 무엇인가?
중복의 애트리뷰트 값을 가지는 것을 일차적으로 배제할 수 있기 때문에 후보키들 내에서 선택한다.

4.6 릴레이션이 보통의 테이블이나 파일과 다른 특성을 설명하라.
1.릴레이션은 투플들의 순서에 영향을 받지 않는다. 투플들에는 순서가 없다.
2. 릴레이션 스키마내의 애트리뷰트들의 순서와 그에 따른 투플 내의 값들의 순서는 같다.

4.7 릴레이션에 널값이 생기는 여러 가지 이유를 설명하라.
값이 정의되지 않은 경우
값을 알 수 없는 경우
값이 현재 가능하지 않은 경우

4.8 엔티티 무결성과 참조 무결성 제약조건을 설명하고, 그것들이 중요한 이유를 기술하라.
엔티티 무결성 - 어떠한 기본키 값도 널 값이 될 수 없다. 기본키 값은 한 릴레이션 내의 각 투플을 식별하는 데 사용하는데 기본키 값이 널값이면 투플들을 식별할 수 없기 때문이다.
참조 무결성 - 두 릴레이션 사이에 명시되는 제약조건으로 한 릴레이션에 있는 투플이 다른 릴레이션에 있는 투플을 참조하려면 반드시 참조되는 투플이 그 릴레이션 내에 존재해야 한다. 한 릴레이션의 외래키의 값이 참조하는 릴레이션의 기본키 값과 일치해야 한다는 것을 의미한다. 이렇게 함으로써 두 개체들 간의 관계를 나타내는 것이다.

4.9 외래키를 정의하라. 왜 이 개념이 필요한가? 이것이 조인 연산에서 어떤 역할을 하는가?
참조 무결성 제약조건이 만족된 두 릴레이션 스키마에서 다음과 같은 조건을 만족하면 외래키라고 한다.
1. 외래키의 애트리뷰트는 참조하는 릴레이션의 기본키의 애트리뷰트와 동일한 도메인을 가진다.(이때 '외래키는 그 릴레이션을 참조한다'고 한다.)
2. 한 릴레이션의 투플의 외래키 값은 참조하는 릴레이션의 투플의 기본키 값과 일치하거나 널값을 가져야 한다.
 
4.10 트랜잭션이란 무엇인가? 갱신과 무엇이 다른가?
데이터베이스에 존재하는 값들에 대한 읽기 연산. 추가, 삭제, 갱신 연산. 데이터베이스에 대해 모든 제약조건들을 만족하는 일관된 상태로 수행을 끝마쳐야 한다. 하나의 트랜젝션은 데이터베이스로부터 값을 읽는 검색 연산들과 갱신 연산들을 여러 개 포함할 수 있다.

Posted by zeide
,